Don't miss your chance to take exam DP-600 or DP-700 on us!
Request nowLearn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now
Hi
I have table 1 is power BI. I wanna create a matrix like table 2 with below logic:
- Rank by PL & Route: Ranking the Amt by PL Cat & Route
- Rank by Item: Ranking the Amt by Item only
So, How to make a measure to do it?
Solved! Go to Solution.
@ngocnguyen , Try ranks like
ranxk(allselected(Table[Item]), calculate(sum(Table[Amount]), allexcept(Table, Table[Item])),,desc,dense)
ranxk(Summarize(allselected(Table),Table[PL cat],Table[item] ), calculate(sum(Table[Amount]), allexcept(Table, Table[PL cat], Table[item])),,desc,dense)
Measure Rank: https://www.youtube.com/watch?v=DZb_6j6WuZ0&list=PLPaNVDMhUXGaaqV92SBD5X2hk3TMNlHhb&index=40
Power BI Rank Across dimension tables: https://youtu.be/X59qp5gfQoA
https://radacad.com/how-to-use-rankx-in-dax-part-2-of-3-calculated-measures
Hi @ngocnguyen ,
According to your description, here's my solution. Create calculated columns.
Rank by PL&Route =
RANKX (
'Table 1',
SUMX (
FILTER (
ALL ( 'Table 1' ),
'Table 1'[PL Cat] = EARLIER ( 'Table 1'[PL Cat] )
&& 'Table 1'[Route] = EARLIER ( 'Table 1'[Route] )
),
'Table 1'[Amt]
),
,
DESC,
DENSE
)
For the second "Rank by Item", your requirement is Ranking the Amt by Item only, but the result in Table2 is not ranking by item. So I provide two formula here.
If you really want to rank by Item:
Rank by Item =
RANKX ( 'Table 1', 'Table 1'[Item],, ASC )
If you want to get the provided result:
Column =
RANKX (
FILTER (
'Table 1',
'Table 1'[Route] = EARLIER ( 'Table 1'[Route] )
&& 'Table 1'[PL Cat] = EARLIER ( 'Table 1'[PL Cat] )
),
'Table 1'[Amt]
)
Result:
I attach my sample below for your reference.
Best Regards,
Community Support Team _ kalyj
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @ngocnguyen ,
According to your description, here's my solution. Create calculated columns.
Rank by PL&Route =
RANKX (
'Table 1',
SUMX (
FILTER (
ALL ( 'Table 1' ),
'Table 1'[PL Cat] = EARLIER ( 'Table 1'[PL Cat] )
&& 'Table 1'[Route] = EARLIER ( 'Table 1'[Route] )
),
'Table 1'[Amt]
),
,
DESC,
DENSE
)
For the second "Rank by Item", your requirement is Ranking the Amt by Item only, but the result in Table2 is not ranking by item. So I provide two formula here.
If you really want to rank by Item:
Rank by Item =
RANKX ( 'Table 1', 'Table 1'[Item],, ASC )
If you want to get the provided result:
Column =
RANKX (
FILTER (
'Table 1',
'Table 1'[Route] = EARLIER ( 'Table 1'[Route] )
&& 'Table 1'[PL Cat] = EARLIER ( 'Table 1'[PL Cat] )
),
'Table 1'[Amt]
)
Result:
I attach my sample below for your reference.
Best Regards,
Community Support Team _ kalyj
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
@ngocnguyen , Try ranks like
ranxk(allselected(Table[Item]), calculate(sum(Table[Amount]), allexcept(Table, Table[Item])),,desc,dense)
ranxk(Summarize(allselected(Table),Table[PL cat],Table[item] ), calculate(sum(Table[Amount]), allexcept(Table, Table[PL cat], Table[item])),,desc,dense)
Measure Rank: https://www.youtube.com/watch?v=DZb_6j6WuZ0&list=PLPaNVDMhUXGaaqV92SBD5X2hk3TMNlHhb&index=40
Power BI Rank Across dimension tables: https://youtu.be/X59qp5gfQoA
https://radacad.com/how-to-use-rankx-in-dax-part-2-of-3-calculated-measures
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
Check out the February 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 54 | |
| 47 | |
| 39 | |
| 16 | |
| 15 |
| User | Count |
|---|---|
| 83 | |
| 70 | |
| 38 | |
| 28 | |
| 27 |