Forum Discussion
Rank calculation based on dynamic dimension parameter
HI Team,
Can anyone please help me with the below Rank calculation.
8 Replies
- Sahir_MaharajSuper User
Hello Madhusmita,
The issue is happening because the RANKX function expects a table expression as the first argument. When you use ALL(RESULTS[Country]), you are passing a table expression that includes only the Country column. However, when you use ALL(p.Dimension[p.Dimension]), you are passing a table expression that includes multiple columns (Country, Name, Region, and Category).
- Sahir_MaharajSuper User
To resolve this, you can create a separate measure for each dimension that you want to use for ranking and then switch between these measures based on the selected dimension in the parameter. For example, for the Country dimension, you can create the following measure:
Rank by Country = RANKX(ALL(RESULTS[Country]), CALCULATE(SUM(RESULTS[CADRE POINTS])))- MadhusmitaFrequent Visitor
Hi Sahir,
Thank you for the response, so, instead of All what can i use?
- Sahir_MaharajSuper User
For the Name dimension, you can create another measure:
Rank by Name = RANKX(ALL(RESULTS[Name]), CALCULATE(SUM(RESULTS[CADRE POINTS]))) - Sahir_MaharajSuper User
Similarly, you can create measures for the Region and Category dimensions. Then, you can use a calculated column to switch between these measures based on the selected dimension in the parameter. For example:
Rank = SWITCH( p.Dimension, "Country", [Rank by Country], "Name", [Rank by Name], "Region", [Rank by Region], "Category", [Rank by Category], BLANK() ) - Sahir_MaharajSuper User
This will return the correct rank based on the selected dimension in the parameter.
Let me know if you require any further assistance.
- MadhusmitaFrequent Visitor
Hi Sahir,
as per your suggestion i created those calculations for each dimensions and tried to pass it all together but its throwing the below error. It looks like the p.Dimension breakdown parameter is not appearing when i try to use in the calculation
- MadhusmitaFrequent Visitor
This is my P. Dimension Breakdown looks like
P.Dimension Breakdown = {("Name", NAMEOF('RESULTS'[Name]), 0),("Region", NAMEOF('RESULTS'[Region]), 1),("Country", NAMEOF('RESULTS'[Country]), 2),("Agency Network", NAMEOF('RESULTS'[Agency Network]), 3),("Holding Company", NAMEOF('RESULTS'[Holding Company]), 4)}