Forum Discussion
RANKX DENSE functionality
- Anonymous6 years ago
HI Anonymous ,
You need to break the RANK TIES.
https://docs.microsoft.com/en-us/dax/rankx-function-dax
The functionality of dense is
Dense The next rank value, after a tie, is the next rank value. For example if five (5) values are tied with a rank of 11 then the next value will receive a rank of 12.
You will need a rank breaker.
Use RAND
RANKING = RANKX(ALLSELECTED('MyDataTablev 1'[Product EAN],'MyDataTablev 1'[language]),[PRODUCTSCAN] + RAND(),,DESC,dense)
else
RANKING = RANKX(FILTER(ALLSELECTED('MyDataTablev 1'[language] = MAX('MyDataTablev 1'[language])),[PRODUCTSCAN] ,,DESC,dense)
Else please share some sample data and the expected output
Regards,
Harsh Nathani
Did I answer your question? Mark my post as a solution! Appreciate with a Kudos!! (Click the Thumbs Up Button)
Hi Anonymous amitchandak ,
Thanks for the tips!! my understanding was that "dense" does the job in my example above. So the last entry im my example table should have the ranking number four?
Anonymous - No, dense will still not break ties. To break ties, use the RAND method that Anonymous mentioned. Also, there is the DAX Index way of doing it too. https://community.powerbi.com/t5/Quick-Measures-Gallery/The-Mythical-DAX-Index/m-p/1093214#M528