Forum Discussion
Varshini1234567
1 year agoFrequent Visitor
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...
- 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 projectsRank = 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.
freginier
Solution Sage
1 year agoHi,
You can fix the sorting and blank issue with two key changes:
Exclude 'Actual' rows directly in your measure using:
Raw_Data[Scenario] IN { "Budget", "MTP", "RBU1", "RBU2" }Avoid ranking blank values to prevent them from appearing first:
IF([Plan_3pages] = BLANK(), BLANK(), RANKX(...))
Also, don’t use ALLSELECTED without filtering, as it brings back 'Actual'. Use FILTER(...) inside RANKX to exclude blanks and "Others" cleanly.
freginier