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.
ajaybabuinturi
Super User
1 year agoHi 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.