Forum Discussion
Extra Blank Row in Power BI Table Visual After Adding Measures
Hi everyone,
I have a Power BI model with a Project Milestone table containing 9 rows (M1–M9). The table has the following columns:
- Milestone
- Milestone Name
- Accomplished
I created these two measures:
ProgressValue = MAX('Project Milestone'[Accomplished]) RemainingValue = 100 - [ProgressValue]
When I add these measures to a table visual along with Milestone and Milestone Name, the visual displays 10 rows instead of 9.
The additional row appears at the top with:
- Milestone: blank
- Milestone Name: blank
- ProgressValue: blank
- RemainingValue: 100
I have checked the source data and confirmed that there are no blank/null values. I also used COUNTROWS('Project Milestone'), which returns 9.
Interestingly, when I remove the measures from the visual, the table correctly displays only the 9 expected rows.
Could someone please explain why this additional blank row is being generated?
Is this related to Power BI's handling of filter context/relationships when evaluating measures, or is there a visual setting that can prevent this row from being displayed?
Thanks!
3 Replies
Hi deepak2002,
The extra row is most likely not a real row from your Project Milestone table. The measure is not creating a real tenth row. Power BI is exposing an internal blank member, and RemainingValue = 100 - [ProgressValue] makes that row visible because it returns 100 instead of BLANK.
Best Regards,
Maruthi
LinkedIn - http://www.linkedin.com/in/maruthi-siva-prasad/
X - Maruthi Siva Prasad - (@MaruthiSP) / X- johnt75
Super User
It sounds like the milestones table is on the one side of a one-to-many relationship, and there are values in the many side table which do not exist in the milestones table. When that happens, Power BI automatically creates a blank row on the one side.
You can find out which values are missing by going into DAX Query View and executing a query like
EVALUATE EXCEPT ( 'Table'[Key column], 'Project Milestones'[Key Column] ) - ShivekMaharaj
Community Champion
Hi deepak2002,
I think johnt75 has identified the root cause, and your RemainingValue measure explains why the extra row only becomes visible after you add the measures.
In a regular one-to-many relationship, if the many-side table contains a key that does not exist on the one-side Project Milestone table, Power BI creates a virtual blank/unknown member on the one side.
Microsoft documents this behavior in the relationship troubleshooting guidance and model relationships documentation.
The important part in your case is:
ProgressValue = MAX ( 'Project Milestone'[Accomplished] )For the blank/unknown member, that measure evaluates to BLANK().
But then:
RemainingValue = 100 - [ProgressValue]effectively turns that blank result into 100.
So the table now has a nonblank value for the unknown member, which is why that extra row becomes visible.
That also explains why the row disappears when you remove the measures.
I would first verify the relationship issue by checking for keys on the many side that do not exist in Project Milestone.
For example, in DAX Query View you can use something like:
EVALUATE EXCEPT ( VALUES ( FactTable[MilestoneKey] ), VALUES ( 'Project Milestone'[MilestoneKey] ) )Microsoft’s VALUES documentation also explains that an additional blank member can appear when referential integrity is violated.
The best fix is to repair the relationship data so that every many-side key has a matching milestone row.
If you also want the measure itself to remain blank when there is no milestone context, you could write it as:
RemainingValue = VAR Progress = [ProgressValue] RETURN IF ( ISBLANK ( Progress ), BLANK (), 100 - Progress )That will stop the measure from turning the unknown member into 100.
I would still fix the unmatched relationship keys rather than relying only on the measure change, because the blank row is signaling a model/data-integrity issue.
AI-assisted drafting: AI was used to help structure and phrase this response. I reviewed and validated the technical content before posting.