Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
glycine76
Frequent Visitor

Hierarchy level logic

Hello, 

 

Let's say I have a data structure like this

 

Level 1        Level 2          Status

A                    A1              Approved

A                   A2                 Approved

A                 A3                  Approved

B                    B1             Review

B                     B2              Approved

B                   B3                Review

C                  C1                Approved

C                 C2                Approved

C                C3                       Approved

 

Only when all items in level 2 are approved, level 1 items are approved. So how do I write a measure to count how many level 1 items are approved? 

Thanks for the help in advance!

1 ACCEPTED SOLUTION
ERD
Community Champion
Community Champion

@glycine76 ,

There are many ways... You can try this:

FinalStatus = 
VAR t = 
    ADDCOLUMNS (
        DISTINCT ( Table[Level 1] ),
        "approved",
            VAR c_level = CALCULATE ( SELECTEDVALUE ( Table[Level 1] ) )
            VAR level1count = CALCULATE ( COUNT ( Table[Level 1] ), Table[Level 1] = c_level )
            VAR statusCount = CALCULATE ( COUNT ( Table[Status] ), Table[Status] = "Approved" )
            RETURN
                IF ( INT ( statusCount = level1count ) = 1, 1, BLANK () )
    )
RETURN
SUMX ( t, [approved] )

ERD_0-1675063769365.png

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly. Appreciate your Kudos.

Check out my latest demo report in the data story gallery.

Stand with Ukraine!


Here are official ways you can support Ukraine financially (accounts with multiple currencies):
1) Support the Armed Forces of Ukraine: https://bank.gov.ua/ua/about/support-the-armed-forces
2) Come Back Alive foundation: https://www.comebackalive.in.ua/

Thank you!

View solution in original post

2 REPLIES 2
glycine76
Frequent Visitor

Thank you all! Very helpful!

 

ERD
Community Champion
Community Champion

@glycine76 ,

There are many ways... You can try this:

FinalStatus = 
VAR t = 
    ADDCOLUMNS (
        DISTINCT ( Table[Level 1] ),
        "approved",
            VAR c_level = CALCULATE ( SELECTEDVALUE ( Table[Level 1] ) )
            VAR level1count = CALCULATE ( COUNT ( Table[Level 1] ), Table[Level 1] = c_level )
            VAR statusCount = CALCULATE ( COUNT ( Table[Status] ), Table[Status] = "Approved" )
            RETURN
                IF ( INT ( statusCount = level1count ) = 1, 1, BLANK () )
    )
RETURN
SUMX ( t, [approved] )

ERD_0-1675063769365.png

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly. Appreciate your Kudos.

Check out my latest demo report in the data story gallery.

Stand with Ukraine!


Here are official ways you can support Ukraine financially (accounts with multiple currencies):
1) Support the Armed Forces of Ukraine: https://bank.gov.ua/ua/about/support-the-armed-forces
2) Come Back Alive foundation: https://www.comebackalive.in.ua/

Thank you!

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

Find out what's new and trending in the Fabric community.

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.