Forum Discussion

glycine76's avatar
glycine76
Frequent Visitor
3 years ago
Solved

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!

  • 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] )

     

2 Replies

  • ERD's avatar
    ERD
    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] )