Forum Discussion

deepak2002's avatar
deepak2002
Regular Visitor
7 days ago

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

  • 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's avatar
    ShivekMaharaj
    Icon for Community Champion rankCommunity 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.