Forum Discussion

Varshini1234567's avatar
Varshini1234567
Frequent Visitor
1 year ago
Solved

Sort by measure in a matrix (Field parameter

Hi Team,   I have a problem, I am trying to sort based upon the measure the hierarchy in matrix should be sorted in descending order   Measure  plan= var LV = SELECTEDVALUE(RowMatrix[slicer col...
  • ajaybabuinturi's avatar
    1 year ago

    Hi Varshini1234567,
    I believe you need to tweak the DAX logic. Could you please use below DAX logic to get non blank projects

    Rank = 
    Var LV = SELECTEDVALUE(RowMatrix[slicer column]) 
    var nonblank = FILTER(
                ALL(Raw_Data),
                NOT(ISBLANK([Plan_3pages]))&& 
                Raw_Data[Scenario] = LV &&
                Raw_Data[Project Name] <> BLANK()
            )
            RETURN
    SWITCH(
        TRUE(),
    
        // Case: Project Name is visible in the matrix
        ISINSCOPE(Raw_Data[Project Name]),
            IF(
                ISBLANK([Plan_3pages]), BLANK(),
                RANKX(
                    nonblank,
                    [Plan_3pages],
                    ,
                    DESC,
                    DENSE
                ),
                BLANK()
            ),
    
        // Budget
        LV = "Budget", && ISINSCOPE(Raw_Data[pg Budget]),
            IF(
                CONTAINSSTRING(SELECTEDVALUE(Raw_Data[pg Budget]), "Others"),
                999,
                    RANKX(
                        ALLSELECTED(Raw_Data[pg Budget]),
                        [Plan_3pages],
                        ,
                        DESC,
                        DENSE
                         ) * 
                        RANKX(
                        ALLSELECTED(Raw_Data[SET Area]),
                        [Plan_3pages],
                        ,
                        DESC,
                        DENSE
                    )
            ),
    
        // MTP
        LV = "MTP" && ISINSCOPE(Raw_Data[pg MTP]),
    	IF(
                CONTAINSSTRING(SELECTEDVALUE(Raw_Data[pg MTP]), "Others"),
                999,
                    RANKX(
                        ALLSELECTED(Raw_Data[pg MTP]),
                        [Plan_3pages],
                        ,
                        DESC,
                        DENSE
                         ) * 
                        RANKX(
                        ALLSELECTED(Raw_Data[SET Area]),
                        [Plan_3pages],
                        ,
                        DESC,
                        DENSE
                    )
            ),
    
        LV = "RBU1" && ISINSCOPE(Raw_Data[pg rbu1]),
    	IF(
                CONTAINSSTRING(SELECTEDVALUE(Raw_Data[pg rbu1]), "Others"),
                999,
                    RANKX(
                        ALLSELECTED(Raw_Data[pg rbu1]),
                        [Plan_3pages],
                        ,
                        DESC,
                        DENSE
                         ) * 
                        RANKX(
                        ALLSELECTED(Raw_Data[SET Area]),
                        [Plan_3pages],
                        ,
                        DESC,
                        DENSE
                    )
            ),
    
    
        LV = "RBU2" && ISINSCOPE(Raw_Data[pg rbu2]),
            IF(
                CONTAINSSTRING(SELECTEDVALUE(Raw_Data[pg rbu2]), "Others"),
                999,
                    RANKX(
                        ALLSELECTED(Raw_Data[pg rbu2]),
                        [Plan_3pages],
                        ,
                        DESC,
                        DENSE
                         ) * 
                        RANKX(
                        ALLSELECTED(Raw_Data[SET Area]),
                        [Plan_3pages],
                        ,
                        DESC,
                        DENSE
                    )
            ),
    
        BLANK()
    ) 

     

    Thanks,
    If you found this solution helpful, please consider giving it a Like👍 and marking it as Accepted Solution✔. This helps improve visibility for others who may be encountering/facing same questions/issues.