Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
hi everyone
Need your help to get Rank Dax .
Below table is the requirement.
rank dax should be based on name and solutions for FY basis.
for ex:- A name with abc solution in FY23 should be rank 1
also Name is from Name table ,solutions is from solution table and FY is from time table .
any help will be appreciated 🙂
name | solutions | FY | rank |
A | abc | fy23 | 1 |
A | abc | fy22 | 2 |
A | abc | fy21 | 3 |
A | def | fy21 | 1 |
B | abc | fy23 | 1 |
B | abc | fy22 | 2 |
B | abc | fy21 | 3 |
Solved! Go to Solution.
Hi @riishabhzz ,
I noticed that you have three tables and your fields in your table visual are from different tables.
And because of the model relationships, when you put the right rank meausre into it, fields will be changed.
It's a little hard to explain, but that's the way it is.
If you want to keep the expected output when you post, try to make your Name and FY from the Solutions table.
And you'll get the right output.
Rank = RANKX(FILTER(ALLSELECTED(Solution),[Solutions]=MAX('Solution'[Solutions])&&[Name]=MAX('Name'[Name])),CALCULATE(MAX('Time'[FY])),,ASC,Dense)
Rank2 = RANKX(FILTER(ALLSELECTED(Solution),[Name]=MAX('Solution'[Name])&&[Solutions]=MAX('Solution'[Solutions])),CALCULATE(MAX('Solution'[FY])),,ASC,Dense)
Both measures can return the right values.
Best Regards,
Stephen Tao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @riishabhzz ,
I noticed that you have three tables and your fields in your table visual are from different tables.
And because of the model relationships, when you put the right rank meausre into it, fields will be changed.
It's a little hard to explain, but that's the way it is.
If you want to keep the expected output when you post, try to make your Name and FY from the Solutions table.
And you'll get the right output.
Rank = RANKX(FILTER(ALLSELECTED(Solution),[Solutions]=MAX('Solution'[Solutions])&&[Name]=MAX('Name'[Name])),CALCULATE(MAX('Time'[FY])),,ASC,Dense)
Rank2 = RANKX(FILTER(ALLSELECTED(Solution),[Name]=MAX('Solution'[Name])&&[Solutions]=MAX('Solution'[Solutions])),CALCULATE(MAX('Solution'[FY])),,ASC,Dense)
Both measures can return the right values.
Best Regards,
Stephen Tao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @riishabhzz ,
Here a solution for a DAX measure:
Measure = RANKX( ALLSELECTED ( 'Table' ), CALCULATE ( MAX ('Table'[FY] ), MAX ('Table'[solutions] ) = 'Table'[solutions] ), , DESC , DENSE )
I used the DAX ranking code example from here.
A quick clarification: Both solutions - whether you are creating a calculated column or a measure - is based on the coding language DAX 🙂 So, if you are asking for a help in DAX, one might provide you with a solution either way.
Let me know if this solved your issue!
/Tom
https://www.tackytech.blog/
https://www.instagram.com/tackytechtom/
Did I answer your question❓➡️ Please, mark my post as a solution ✔️ |
Also happily accepting Kudos 🙂 |
Feel free to connect with me on LinkedIn! |
#proudtobeasuperuser |
i tried your dax but still its not working 😞
i have attached screen-snip for your refrence
if possible please teach /guide me how to do it 🙂
thank you
Hi @riishabhzz ,
Could you try this?
Measure 2 = VAR _value = MAX('Table'[solutions] ) RETURN RANKX( ALLSELECTED ( 'Table' ), CALCULATE ( MAX ('Table'[FY] ), _value = 'Table'[solutions] ), , DESC , DENSE )
/Tom
https://www.tackytech.blog/
https://www.instagram.com/tackytechtom/
Did I answer your question❓➡️ Please, mark my post as a solution ✔️ |
Also happily accepting Kudos 🙂 |
Feel free to connect with me on LinkedIn! |
#proudtobeasuperuser |
Hi @riishabhzz ,
Here a solution for a DAX measure:
Measure = RANKX( ALLSELECTED ( 'Table' ), CALCULATE ( MAX ('Table'[FY] ), MAX ('Table'[solutions] ) = 'Table'[solutions] ), , DESC , DENSE )
I used the DAX ranking code example from here.
A quick clarification: Both solutions - whether you are creating a calculated column or a measure - is based on the coding language DAX 🙂 So, if you are asking for a help in DAX, one might provide you with a solution either way.
Let me know if this solved your issue!
/Tom
https://www.tackytech.blog/
https://www.instagram.com/tackytechtom/
Did I answer your question❓➡️ Please, mark my post as a solution ✔️ |
Also happily accepting Kudos 🙂 |
Feel free to connect with me on LinkedIn! |
#proudtobeasuperuser |
Hi @riishabhzz ,
Here a solution in DAX for a calculated column:
Here the DAX code:
Column = RANKX ( FILTER ( 'Table', 'Table'[solutions] = EARLIER ( 'Table'[solutions] ) ), 'Table'[FY], , DESC , DENSE )
I used the DAX ranking code example from here.
Let me know if this helps 🙂
/Tom
https://www.tackytech.blog/
https://www.instagram.com/tackytechtom/
Did I answer your question❓➡️ Please, mark my post as a solution ✔️ |
Also happily accepting Kudos 🙂 |
Feel free to connect with me on LinkedIn! |
#proudtobeasuperuser |
Hi @tackytechtom ,
thanks for your help , but this solution is not working .
i am getting below error :-
i found out that earlier is EARLIER and EARLIEST are usually used in calculated column.
and we can't make caluclated column as it's a live connection so only dax is the solution .
any help will be appreciated 🙂
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
102 | |
101 | |
78 | |
69 | |
63 |
User | Count |
---|---|
141 | |
106 | |
101 | |
85 | |
72 |