Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
I have the following table:
Product | Group | Qty Sales |
Mouse | PC | 15 |
Keyboard | PC | 20 |
Monitor | PC | 12 |
Cable | PC | 28 |
Banana | Fruits | 64 |
Apple | Fruits | 52 |
Watermelon | Fruits | 41 |
Oven | Kitchen Appliances | 5 |
Fridge | Kitchen Appliances | 3 |
Microwave oven | Kitchen Appliances | 4 |
I need to make a RANKX about Products but ignoring the column Group, like the following table:
RANKX | Product | Group | Qty Sales |
1 | Banana | Fruits | 64 |
2 | Apple | Fruits | 52 |
3 | Watermelon | Fruits | 41 |
4 | Cable | PC | 28 |
5 | Keyboard | PC | 20 |
6 | Mouse | PC | 15 |
7 | Monitor | PC | 12 |
8 | Oven | Kitchen Appliances | 5 |
9 | Microwave oven | Kitchen Appliances | 4 |
10 | Fridge | Kitchen Appliances | 3 |
If I make a basic measure like the following:
Ranking = RANKX(ALLSELECTED(Fact_Sales[Product]);[QtySakes])
PowerBI will calculate a rank over Product but considering Group, in other words, the PowerBI will calculate "3 ranks" in 1 table. 1 rank for Fruits, 1 rank for PC and 1 rank for Kitchen Appliances, and it is not correct for my case.
Solved! Go to Solution.
You can do this in Power Query with a few steps. Can also be done in DAX, but went with the Power Query version first.
Steps:
Table.Sort( [All Data], {"Qty Sales", Order.Descending})
Table.AddIndexColumn( [SortSubTable], "Rank", 1,1)
Final Table:
But now looking at your request, that may not be what you had in mind! If you want to rank over the entire table this will work:
Rank = RANKX( ALL( BasicTable), [Total Qty],,DESC,Dense)
Hopefully some of that was helpful 🙂
@gluizqueiroz add following column in your model and this will do
Rank = RANKX( ALL( Table5 ) , Table5[Qty Sales], , DESC, Dense )
here is the output
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.
As a MEASURE, we could use
Ranking = RANKX ( ALLSELECTED ( Fact_Sales[Product] ), CALCULATE ( SUM ( Fact_Sales[Qty Sales] ), ALL ( Fact_Sales[Group] ) ), CALCULATE ( SUM ( Fact_Sales[Qty Sales] ) ) )
As a MEASURE, we could use
Ranking = RANKX ( ALLSELECTED ( Fact_Sales[Product] ), CALCULATE ( SUM ( Fact_Sales[Qty Sales] ), ALL ( Fact_Sales[Group] ) ), CALCULATE ( SUM ( Fact_Sales[Qty Sales] ) ) )
Hey @Zubair_Muhammad, @parry2k and @Anonymous.
I tried all solutions ang I got the same result in all of them:
RANKX | Product | Group | Qty Sales |
1 | Banana | Fruits | 64 |
1 | Cable | PC | 28 |
1 | Oven | Kitchen Appliances | 5 |
2 | Apple | Fruits | 52 |
2 | Keyboard | PC | 20 |
2 | Microwave oven | Kitchen Appliances | 4 |
3 | Watermelon | Fruits | 41 |
3 | Mouse | PC | 15 |
3 | Fridge | Kitchen Appliances | 3 |
4 | Monitor | PC | 12 |
@gluizqueiroz well then you have solution in place 🙂
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.
Thanks for all your input so far, really helped me out to get the ranking/sorting correct in 99,9% of all cases.
But is there a possibilty to add an extra ordering option which should be used if the totals are identical? If the Total QTY for Banana and Apple is equal I would like to add an extra sort on alpabetical order resulting in Apple with Rank 1 and Banana with Rank 2.
At the moment they both get Rank 1.
You can do this in Power Query with a few steps. Can also be done in DAX, but went with the Power Query version first.
Steps:
Table.Sort( [All Data], {"Qty Sales", Order.Descending})
Table.AddIndexColumn( [SortSubTable], "Rank", 1,1)
Final Table:
But now looking at your request, that may not be what you had in mind! If you want to rank over the entire table this will work:
Rank = RANKX( ALL( BasicTable), [Total Qty],,DESC,Dense)
Hopefully some of that was helpful 🙂
Anyone else use this approach. The steps here arent clear however.
@gluizqueiroz add following column in your model and this will do
Rank = RANKX( ALL( Table5 ) , Table5[Qty Sales], , DESC, Dense )
here is the output
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.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.
User | Count |
---|---|
124 | |
79 | |
49 | |
38 | |
38 |
User | Count |
---|---|
196 | |
80 | |
70 | |
51 | |
42 |