Entering Data Directly Into Power BI Desktop - The Little Feature People Misuse
There's a button in Power BI Desktop that lets you type data straight into a table by hand. No file, no database, no query. You click Enter Data, a little grid pops up, you paste or type your rows, give it a name, and it becomes a table in your model like any other. Most people find it by accident and then either never touch it again or start using it for everything. Both reactions are wrong.
I want to talk about this feature honestly, because it's one of those small things that reveals a lot about how a reporting setup is being run. Used well, it saves you time and keeps a report clean. Used badly, it's how a business ends up with critical numbers hard-coded inside a .pbix file that nobody can audit. We've walked into both situations plenty of times.
What Enter Data actually does
The mechanics are simple. In Power BI Desktop, on the Home ribbon, there's an Enter Data option. Click it and you get a blank grid. You can type values cell by cell, add columns, rename them, and add rows. You can also paste from Excel or a web page, and it'll try to lay the pasted content out into the grid for you. When you're done, you name the table and load it. From that point it behaves like any other table. You can build relationships to it, write measures against it, use it in visuals.
Under the hood, that data is stored inside the report file itself. It's not linked to anything external. That single fact is the whole story of when to use this and when to run away from it.
Where it earns its place
There's a specific kind of table that Enter Data is perfect for, and it's the small, stable lookup table that doesn't live anywhere else.
The classic example is a mapping table. Say your source system stores region codes like "NSW1", "NSW2", "VIC1" and you want your report to group those into sales territories or show a friendly name. That mapping exists in someone's head or a spreadsheet, not in the database. Rather than dragging in a whole file for six rows, you type them straight into Enter Data. Two columns, a handful of rows, done. Now you can join it to your fact table and everyone sees "Greater Sydney" instead of "NSW1".
Other good uses I see regularly:
Banding and category tables. You want to bucket ages into ranges, or order values into small, medium, large. A tiny table with the band names and boundaries works nicely and keeps the logic visible instead of buried in a nested IF.
Colour and sort-order helpers. Sometimes you need a table that says "this category sorts third and should be shown in this shade." It's report furniture, not business data, and typing it in is the pragmatic move.
A quick placeholder while you build. When you're prototyping and the real data source isn't wired up yet, a hand-typed table lets you keep designing the visuals. You swap it for the real thing later.
The thread running through all of these is that the data is small, it rarely changes, and it genuinely doesn't belong to a system upstream. That's the sweet spot. When we set up reporting models for clients, this is exactly the boundary we hold to, and it's the kind of judgement our Power BI consultants apply on every engagement.
Where it goes wrong
Now the other side, because this is where the pain lives.
The failure pattern is always the same. Someone needs a number that isn't in the data yet. A budget target. A list of the twenty priority customers. This quarter's freight surcharge. Rather than getting it into a proper source, they type it into Enter Data because it's right there and it's quick. The report works. Everyone's happy. And then that number becomes important.
Six months later, the budget figures are wrong and nobody can tell you why, because they're locked inside a .pbix file that only one person can open. There's no history of who changed them or when. There's no validation. If that person leaves, the knowledge leaves with them. You can't diff it, you can't review it, and you certainly can't reconcile it against finance. The data has no home except inside a report, which is precisely the wrong place for anything a decision depends on.
I've seen a manufacturing client whose entire production target model was hand-typed into three separate reports, each with slightly different numbers, and no way to know which was right. That's not a Power BI problem. It's a data-lives-in-the-wrong-place problem, and Enter Data made it too easy to create.
The other quieter issue is editing. Getting data back out or changing it isn't as friendly as putting it in. You go into Power Query, find the step where the table was defined, and edit the source there. It works, but it's fiddly for anything beyond a few rows, and if you pasted a big block in, good luck maintaining it. The feature is designed for small and static, and it fights you the moment you push past that.
The honest rule I give clients
Here's the line I draw, and it's held up well across a lot of projects.
Use Enter Data when the table is small, stable, and owned by the report. Region mappings, category bands, display helpers. Things that are really part of how the report presents data, not part of the business's actual records.
Do not use it for anything that changes, anything finance or operations relies on, or anything more than a couple of dozen rows. The moment a hand-typed table starts holding real business figures, it needs to move out of the report and into somewhere it can be governed. That might be a shared Excel or CSV in SharePoint that the report reads, which at least gives you one editable source and refresh. Better still is a proper table in a database or a Fabric Lakehouse where it can be validated, versioned and reconciled. Once you're feeding several reports, that structured approach is where our Microsoft Fabric consultants usually take clients, because babysitting numbers inside report files does not scale.
A useful test: if the data in that table went wrong, how much would it cost you, and how quickly would you notice? If the answer is "not much" and "immediately," Enter Data is fine. If it's "a lot" and "maybe never," get it out of the report.
A few practical tips if you do use it
When you do reach for Enter Data, a couple of small habits keep it tidy.
Name the table clearly so future-you knows it was hand-entered. Something like "Region Mapping (manual)" beats a generic name, because six months on you want an obvious flag that this table has no upstream source. When you set column types, do it deliberately rather than letting everything default to text, especially if you'll be joining on those columns. And keep a note somewhere, even just a comment in your documentation, that the table exists and where its values came from. Manual tables are invisible until they break, so a breadcrumb helps.
If you find yourself pasting a large block in, stop and ask whether that data should be a real source instead. The paste working smoothly is not the same as it being a good idea.
The bigger picture
Enter Data is a good example of a feature that's exactly as useful as your discipline lets it be. Microsoft built it for the sensible case: small lookup tables that would be silly to manage as separate files. It does that job well. The trouble only ever comes from stretching it past what it was for, and Power BI won't stop you, because it can't tell the difference between a colour lookup and your annual revenue targets. That judgement is yours.
If you're staring at a report with a pile of hand-typed numbers in it and a nagging feeling that it's fragile, that instinct is correct. Getting that data into somewhere trustworthy, without breaking the reports that depend on it, is bread-and-butter work for us. Have a chat with us and we'll give you a straight read on whether your manual tables are harmless report furniture or a risk waiting to bite.
For the official steps, Microsoft's documentation on entering data directly into Power BI Desktop covers the mechanics of the feature itself.