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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
Imagauthamam
Helper II
Helper II

Need Help in RANK DAX function (Dynamic Ranking)

I have the following in which I have to do dynamic Ranking.
First, it should see the region and then based on Total sales
When the region changes, it should start again from 1, (Similar to partition by in SQL).

 

Imagauthamam_0-1728296760719.png


I'm also attaching the dax function which I tried:

Dynamic_Rank = RANK(DENSE,ALLSELECTED('Dynamic Rank'[Total Sales]),ORDERBY('Dynamic Rank'[Region],ASC,'Dynamic Rank'[Total Sales],DESC))
 
The correct output should be:

UserIDRegionTotal SalesDynamic_Rank
1North20002
2North30001
3North30001
4South40001
5South40001
6South35002

Please let me know what am I missing in the RANK function
1 ACCEPTED SOLUTION
Kedar_Pande
Community Champion
Community Champion

@Imagauthamam 

DAX formula:

Dynamic_Rank = 
RANKX(
FILTER(
'YourTableName',
'YourTableName'[Region] = EARLIER('YourTableName'[Region])
),
'YourTableName'[Total Sales],
,
DESC,
Dense
)


If this helped, a Kudos 👍 or Solution mark would be great!
Cheers,
Kedar Pande
www.linkedin.com/in/kedar-pande

View solution in original post

4 REPLIES 4
Prashant_123
Helper I
Helper I

Hi Everyone

 

I want to Rank on basis of amount and also of new month starts then it should rank on basis of amount.

 

Month Amount Rank

Jan        234          1

Jan        200          2

Jan        100          3

Feb         400         1

Feb         149         2
 like this I want , as I have tried everything but it is not coming please help.

 

Imagauthamam
Helper II
Helper II

Hi @Kedar_Pande ,

Thanks for the Response. This works.
But is this not achievable through RANK function instead of RANKX function.


We have to use RANKX as we have to iterate in the table.

If this helped please Solution mark the original answer

Kedar_Pande
Community Champion
Community Champion

@Imagauthamam 

DAX formula:

Dynamic_Rank = 
RANKX(
FILTER(
'YourTableName',
'YourTableName'[Region] = EARLIER('YourTableName'[Region])
),
'YourTableName'[Total Sales],
,
DESC,
Dense
)


If this helped, a Kudos 👍 or Solution mark would be great!
Cheers,
Kedar Pande
www.linkedin.com/in/kedar-pande

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.