patternMinor
MDX Query for RANK regardless of hierarchy
Viewed 0 times
rankhierarchyqueryregardlessmdxfor
Problem
I'm hoping to add a calculation to my SSAS Cube (SSAS 2012) that will show the relative rank of whatever the current member is against all other members in that grouper, without specifying the groupers in advance.
For example, say I have a calculation already for
I would like to add an
The Syntax I tried was
Which I realize is incorrect.
I can't seem to locate a guide to this anywhere else, so I'm hoping there is some established best practice or pattern for this since it seems like it would be a relatively common business requirement.
For example, say I have a calculation already for
Efficiency which is defined as $$/hour.I would like to add an
Efficiency Rank calculation as well that will tell me what relative position the current member has in it's set.The Syntax I tried was
RANK([Measures].[Efficiency].CurrentMember, [Measures].[Efficiency])Which I realize is incorrect.
I can't seem to locate a guide to this anywhere else, so I'm hoping there is some established best practice or pattern for this since it seems like it would be a relatively common business requirement.
Solution
Please explain in more detail what you meany by "groupers"?
For instance, if you want to rank a member within a set, you need to tell SSAS what the set is that you are ranking within.
So
Now, I think that what you are trying to do is have that all members be dynamic?
The question is "How would you both specify the current member and the set?"
And here's a kicker: the frontend tool you're using will make a difference here as well
For instance, if you want to rank a member within a set, you need to tell SSAS what the set is that you are ranking within.
RANK( Tuple, Set, Measure to rank by)So
RANK( Machines.Machines.CurrentMember, Machines.Machines.AllMembers, Measures.Efficiency)Now, I think that what you are trying to do is have that all members be dynamic?
The question is "How would you both specify the current member and the set?"
And here's a kicker: the frontend tool you're using will make a difference here as well
Code Snippets
RANK( Tuple, Set, Measure to rank by)RANK( Machines.Machines.CurrentMember, Machines.Machines.AllMembers, Measures.Efficiency)Context
StackExchange Database Administrators Q#24486, answer score: 4
Revisions (0)
No revisions yet.