Forum Discussion
Rank with multiple fields
I have a ranking problem. I need to rank results by alias, ordered by orderid
Positive Result Reporting Table =
SUMMARIZE( Data_File,
Data_File[RESULT ],
Data_File[ALIAS ],
Data_File[ORDERID ],
Data_File[CE_RESOURCE ],
"Test Order",RANKX(ALL( Data_File[ALIAS ], Data_File[CE_RESOURCE ], Data_File[RESULT ]),SUMX( Data_File, Data_File[ORDERQTY ]), Data_File[ORDERID ],ASC,Dense))
yields:
ALIAS CE_RESOURCE ORDERID RESULT Test Order
274 CL Mole cobas 8800-1 483 Not Detected 2
274 CL Mole cobas 8800-1 473 Not Detected 2
274 CL Mole cobas 8800-1 463 Not Detected 2
Expected result:
ALIAS CE_RESOURCE ORDERID RESULT Test Order
274 CL Mole cobas 8800-1 483 Not Detected 1
274 CL Mole cobas 8800-1 473 Not Detected 2
274 CL Mole cobas 8800-1 463 Not Detected 3
What am I doing wrong?
nutmegsnot sure if you want a calculated column or a measure, so did both.
Column = RANKX ( FILTER ( ranking, EARLIER ( ranking[ALIAS] ) = ranking[ALIAS] ), ranking[ORDERID], , ASC ) Measure:= RANKX ( FILTER ( ALLSELECTED ( ranking ), ranking[ALIAS] = MAX ( ranking[ALIAS] ) ), CALCULATE ( MAX ( ranking[ORDERID] ) ), , ASC )Measure = RANKX ( FILTER ( ALLSELECTED ( 'rank' ), 'rank'[ALIAS] = MAX ( 'rank'[ALIAS] ) && 'rank'[TestDate] = MAX ( 'rank'[TestDate] ) ), CALCULATE ( MAX ( 'rank'[ORDERID] ) ), , ASC )
6 Replies
- nutmegsNew Member
Unlike Tableau I can't attach anything. I am going to paste the data from a sample csv. Just paste it into notepad and save as csv. The Test Order field is the calculated field (rank) based on the order of the orderids grouped by alias. I am attaching what I want to see (Test order is ranked 1,2,3 for each of these alias)
ALIAS,ORDERID,UM_RESOURCE,RESULT,Test Order
1,1,8800,Not Detected,1
1,12,8800,Not Detected,2
1,22,8800,Not Detected,3
2,2,8800,Not Detected,1
2,13,8800,Not Detected,2
2,23,8800,Not Detected,3
3,3,8800,Not Detected,1
3,14,8800,Not Detected,2
3,24,8800,Not Detected,3- smpa01Community Champion
nutmegsnot sure if you want a calculated column or a measure, so did both.
Column = RANKX ( FILTER ( ranking, EARLIER ( ranking[ALIAS] ) = ranking[ALIAS] ), ranking[ORDERID], , ASC ) Measure:= RANKX ( FILTER ( ALLSELECTED ( ranking ), ranking[ALIAS] = MAX ( ranking[ALIAS] ) ), CALCULATE ( MAX ( ranking[ORDERID] ) ), , ASC )
- AnonymousNot applicable
Hi nutmegs ,
You can create a measure as below:
Test Order = RANKX ( ALLEXCEPT ( 'Data_File', 'Data_File'[ALIAS] ), CALCULATE ( MAX ( 'Data_File'[ORDERID] ) ), , DESC, DENSE )Best Regards