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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

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
Super User
Super User

@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
Super User
Super User

@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
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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

Top Solution Authors