Show Items With No Data in Power BI - The Setting That Reveals the Gaps
A retailer we worked with had a report showing sales by product line. It looked healthy. Every line on the chart had a decent bar, revenue was up, everyone was pleased. Then someone in the room asked why a particular product line was not on the chart at all, and the answer turned out to be the important one: it had sold nothing that month. Zero. And because it sold nothing, Power BI had silently dropped it from the visual, so the one product line that needed attention was the only one nobody could see.
That is the default behaviour, and it catches people out constantly. Power BI hides categories that have no data, which sounds tidy and reasonable until you realise the absence of data is often the exact thing you are trying to spot. The fix is a setting called "Show items with no data", and Microsoft's documentation covers the mechanics. What the documentation does not really tell you is when this matters and when turning it on makes your report worse, which is what I want to get into.
What the default actually does
When you put a field in a visual, Power BI only shows the values that have a corresponding row in the data. A product with no sales in the selected period has no sales rows, so it produces no result, so it does not appear. This is not a bug. For most charts it is what you want, because otherwise every visual would be cluttered with empty categories. If you have ten thousand products and three sold today, you do not want a bar chart with ten thousand entries and three bars.
The problem is the cases where the empty categories are the signal. A stock report where you need to see which lines are out of stock. A regional sales table where a blank region means a rep has done nothing this week. A compliance view where a missing entry means a task was not completed. In all of those, the default hides exactly the rows a human needs to act on, and the report looks complete while quietly lying by omission.
Turning it on
The setting lives in the visual's field well. You click the dropdown on the field you have used for the category, and there is an option called "Show items with no data". Tick it, and Power BI stops filtering out the empty categories and shows them all, with blanks or zeros where there is no measure value.
It sounds simple, and mostly it is, but there are conditions. It only works when there is a relationship that lets Power BI know the full list of possible categories in the first place. If your product line comes from a proper dimension table with every product listed, Power BI can show the ones with no sales because it knows they exist. If the only place a product appears is in the sales fact table, then a product with no sales has no row anywhere, and there is nothing for Power BI to show. This is one of the practical arguments for modelling your data properly with real dimension tables, rather than flattening everything into one big table, because the flat approach makes this whole category of "show me what is missing" reporting impossible.
Where it earns its keep
The cases where I reach for this are specific. Inventory and stock reporting is the obvious one. A table of products with their current stock level genuinely needs to show the zero-stock items, because those are the ones triggering a reorder. Hide them and the report is worse than useless, it is misleading.
Coverage and completeness reporting is another. If you are tracking which stores submitted their weekly figures, the value of the report is entirely in the stores that did not. A list of the ones that did submit tells you nothing actionable. You want the gaps visible.
Time-based grids where you want a consistent shape matter too. A twelve-month trend that skips months with no activity produces a jagged, misleading chart where December sits next to March because the months in between are gone. Showing the empty periods keeps the axis honest and the trend readable, so a quiet patch actually looks quiet rather than being compressed out of existence.
Where it goes wrong
Now the honest bit, because this setting is not free.
The first issue is performance. Showing items with no data means Power BI has to generate every combination of your categories, even the ones with no matching data, and that can blow up fast. Put three fields in a matrix with this turned on and you are asking for the full cross-product of all their values, which on a large model can be enormous. I have seen a report go from snappy to unusable because someone ticked this on a visual with several high-cardinality fields. Use it on the field that actually needs it, not reflexively on everything.
The second is clutter, which is the mirror image of the reason the default exists. Turn this on for a category with thousands of members and most of them empty, and you get a visual drowning in blank rows. The setting is a scalpel, not a default. It is right for the specific cases where absence is meaningful and wrong for the general case where it is just noise.
The third is that blanks and zeros are not the same thing, and this setting surfaces blanks. A product that genuinely sold zero units versus a product that has no data at all can look identical once you show empty items, and sometimes that distinction matters. If it does, you may need a measure that explicitly returns 0 using something like COALESCE or a + 0 trick, so the difference between "sold nothing" and "no information" stays visible rather than both showing as blank.
The fourth, and it is easy to forget, is that this interacts with filters in ways that surprise people. A category with no data in the current filter context still shows if you have this on, which is the point, but it can produce rows that look like they should have been filtered out. Test it with your slicers in a few real states before you ship it, so nobody is startled by an "empty" row appearing where they expected the filter to have removed it.
The bigger point
This setting is a small thing, but it points at something larger about reporting. A report that only shows what happened, and hides what did not, is telling half the story. Half the value of good business reporting is in the gaps: the region that stalled, the product that stopped moving, the process step nobody completed. A report that cannot show you those is a report that will let a problem hide in plain sight, and by the time it surfaces it is usually bigger than it needed to be.
This is the sort of judgement that comes up constantly in the report work our Power BI consultants do. Knowing that a healthy-looking dashboard might be hiding its most important row, and knowing which one setting to change and which data model makes it possible, is the kind of thing that comes from having built a lot of these. It is also why we treat the underlying model as seriously as the visuals, and why our broader data and AI work tends to start by making sure the numbers tell the whole truth before anyone builds decisions on top of them.
If you have reports that look fine but you are not sure they are showing you everything, or you want reporting built with this kind of care from the start, that is what we do. Take a look at our services or get in touch and we will take a look at what you have.