The ultimate Microsoft Fabric, Power BI, Azure AI, and SQL learning event: Join us in Stockholm, September 24-27, 2024.
Save €200 with code MSCUST on top of early bird pricing!
Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hello,
I am trying to calculate rank across regions (excluding total region to get region rank) and specifically to a Product category. My formula is showing me the same rank across all regions and US Region data is also populating which shouldn't't be populating.
Can you help me identify issue in my DAX code.
Below is my code.
Solved! Go to Solution.
hI @Siddharth_2987 ,
Since there is no filter modifier on Geography, RANKX is evaluated for each distinct value in Geographyinstead against all distinct values.
Rank2 =
VAR __REGIONS = { "East Region", "West Region", "North Region", "Central Region" }
RETURN
IF (
SELECTEDVALUE ( DataTbl[Geography] )
IN __REGIONS --rank will still show for US so a conditional statement needs to handle this.
&& ISINSCOPE ( DataTbl[Geography] ),
--to remove rank from the total
RANKX (
FILTER ( ALL ( DataTbl[Geography] ), DataTbl[Geography] IN __REGIONS ),
CALCULATE ( [ShrChgProA], KEEPFILTERS ( DataTbl[Product] = "Prod A" ) )
)
)
Proud to be a Super User!
@danextian Can you help me in the custom sorting region? As of now, it is appearing in Alphabetical order. I
am trying to get results as below. I have created new sort table and than sort by region order. But by doing this my rank is not populating. Can you guide me?
Hi @Siddharth_2987 ,
That is the expected behaviour of RANKX if applied to a column that's been sorted by another column. You can just include the sort column in your RANKX table
ALL ( DataTbl[Geography], DataTbl[Sort] )
Proud to be a Super User!
@danextianI am unable to connect how DataTbl[Sort] can understand the sequence I am looking for? Can you show me output?
Here is the complete measure. Replace sort with the correct column. If this doesn't work, please post your updated pbix.
Rank2 =
VAR __REGIONS = { "East Region", "West Region", "North Region", "Central Region" }
RETURN
IF (
SELECTEDVALUE ( DataTbl[Geography] )
IN __REGIONS --rank will still show for US so a conditional statement needs to handle this.
&& ISINSCOPE ( DataTbl[Geography] ),
--to remove rank from the total
RANKX (
FILTER ( ALL ( DataTbl[Geography], DataTbl[Sort] ), DataTbl[Geography] IN __REGIONS ),
CALCULATE ( [ShrChgProA], KEEPFILTERS ( DataTbl[Product] = "Prod A" ) )
)
)
Proud to be a Super User!
I am not sure if I can have a data sort table in the same DataTbl model. I have created a new GeoSortOrder model to sort my region. Can you guide me on how to sort my data?
If you have guided me with the outcome, it will be more supportive.
I am attaching pbix file for your reference.
Hi @Siddharth_2987 ,
You didn't use the the column from the separate Geo table. Custom sorts do not flow from a table to another. Also, you need to reference the column used in the visual in RANKX or you will either not see a rank or the result is incorrect.
Proud to be a Super User!
hI @Siddharth_2987 ,
Since there is no filter modifier on Geography, RANKX is evaluated for each distinct value in Geographyinstead against all distinct values.
Rank2 =
VAR __REGIONS = { "East Region", "West Region", "North Region", "Central Region" }
RETURN
IF (
SELECTEDVALUE ( DataTbl[Geography] )
IN __REGIONS --rank will still show for US so a conditional statement needs to handle this.
&& ISINSCOPE ( DataTbl[Geography] ),
--to remove rank from the total
RANKX (
FILTER ( ALL ( DataTbl[Geography] ), DataTbl[Geography] IN __REGIONS ),
CALCULATE ( [ShrChgProA], KEEPFILTERS ( DataTbl[Product] = "Prod A" ) )
)
)
Proud to be a Super User!
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Check out the June 2024 Power BI update to learn about new features.
User | Count |
---|---|
141 | |
109 | |
108 | |
76 | |
63 |
User | Count |
---|---|
273 | |
129 | |
123 | |
101 | |
91 |