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

July 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more

Reply
chsardas1
New Member

Help with DAX Measure

Hello,

 

I am trying to create a metric that distributes people according to 20% ranges based on the accumulated sales ordered in descending order. I mean,, a person is categorized as "Category 1" when their sales added to the sales greater than themselves are less than 20% of the total sales.

 

Example:

chsardas1_0-1715092660562.png

 

 

I have tried RANKX but the calculation never finishes and gives a resource error.

 

Thank you

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @chsardas1 ,

 

Thanks for the reply from @parry2k , please allow me to provide another insight: 

 

If you are trying to sort by a range of 20% based on %Cumulative, then you can use the switch function. More information about the switch function can be found in the documentation:SWITCH function (DAX) - DAX | Microsoft Learn.

 

Measure = 
SWITCH(
    TRUE(),
    MAX([%Cumulative]) <= 0.2, 1,
    MAX([%Cumulative]) <= 0.4, 2,
    MAX([%Cumulative]) <= 0.6, 3,
    MAX([%Cumulative]) <= 0.8, 4,
    5
)

vkaiyuemsft_0-1715146834869.png

 

If your Current Period does not refer to this, please clarify in a follow-up reply.

 

Best Regards,

Clara Gong

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

View solution in original post

2 REPLIES 2
Anonymous
Not applicable

Hi @chsardas1 ,

 

Thanks for the reply from @parry2k , please allow me to provide another insight: 

 

If you are trying to sort by a range of 20% based on %Cumulative, then you can use the switch function. More information about the switch function can be found in the documentation:SWITCH function (DAX) - DAX | Microsoft Learn.

 

Measure = 
SWITCH(
    TRUE(),
    MAX([%Cumulative]) <= 0.2, 1,
    MAX([%Cumulative]) <= 0.4, 2,
    MAX([%Cumulative]) <= 0.6, 3,
    MAX([%Cumulative]) <= 0.8, 4,
    5
)

vkaiyuemsft_0-1715146834869.png

 

If your Current Period does not refer to this, please clarify in a follow-up reply.

 

Best Regards,

Clara Gong

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

parry2k
Super User
Super User

@chsardas1 RANKX is the way to go. Check these blog posts How to use RANKX in DAX (Part 1 of 3 - Calculated Columns) - RADACAD



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

Helpful resources

Announcements
60 days of Data Days Carousel

Data Days 2026

Join Fabric Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.