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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

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
v-kaiyue-msft
Community Support
Community Support

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
v-kaiyue-msft
Community Support
Community Support

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
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

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