Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
aerizk
Helper II
Helper II

Show top N/Rank based on multiple dimensions

Hello, 

 

I have a table with the format below with dimensions coming from multiple tables and sales coming from the fact table.

I would like to be able to filter the table based on the top N values of the combination of the columns. However the only way to use top N is on one dimension only.

I then tried to create a rank measure using CROSSJOIN but it is not working properly and sometimes when I see the ranking it puts a ranking of 2 for example to two rows that have completely different numbers.

 

My goal is to be able to create a Rank Measure for the combination of the three columns below of Country, Product, and Year without having to combine them in one column.

 

My Rank measure should result in the below:

 

 

CountryProductSalesYearRank
USA1000020241
ESA200020246
FRB500020243
AAA100020249
PTB150020247
USB550020252
ESB400020254
FRA350020255
AAD800202510
PTA120020258

 

Thanks a lot!

1 ACCEPTED SOLUTION
Ritaf1983
Super User
Super User

Hi @aerizk 
If your model is something like :

Ritaf1983_0-1711182373828.png

You can use the DAX :

rank_ = if (ISBLANK([total_sales]),blank(),RANKX(all('Table'),[total_sales],,DESC))
The result :
Ritaf1983_1-1711182426005.png

PBIX is attached

If this post helps, then please consider Accepting it as the solution to help the other members find it more quickly

Regards,
Rita Fainshtein | Microsoft MVP
https://www.linkedin.com/in/rita-fainshtein/
Blog : https://www.madeiradata.com/profile/ritaf/profile

View solution in original post

3 REPLIES 3
aerizk
Helper II
Helper II

hi Rita, that works. Thanks a lot!

@aerizk 

Happy to help 😊

Regards,
Rita Fainshtein | Microsoft MVP
https://www.linkedin.com/in/rita-fainshtein/
Blog : https://www.madeiradata.com/profile/ritaf/profile
Ritaf1983
Super User
Super User

Hi @aerizk 
If your model is something like :

Ritaf1983_0-1711182373828.png

You can use the DAX :

rank_ = if (ISBLANK([total_sales]),blank(),RANKX(all('Table'),[total_sales],,DESC))
The result :
Ritaf1983_1-1711182426005.png

PBIX is attached

If this post helps, then please consider Accepting it as the solution to help the other members find it more quickly

Regards,
Rita Fainshtein | Microsoft MVP
https://www.linkedin.com/in/rita-fainshtein/
Blog : https://www.madeiradata.com/profile/ritaf/profile

Helpful resources

Announcements
Sept PBI Carousel

Power BI Monthly Update - September 2024

Check out the September 2024 Power BI update to learn about new features.

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

Sept NL Carousel

Fabric Community Update - September 2024

Find out what's new and trending in the Fabric Community.