I have an MDX Query that is using the rank function, but it is not resetting the rank value when the top level of the hierarchy changes. I want to use MDX to get the same values I would get when using the TSQL Row_Number () over (partition by ...) function. Here is a sample of the actual output and desired output from the query below:
HourNum | HighLowDiff | HighLowDiffMode(actual) | HighLowDiffMode(desired) |
0 | 0 | 2 | 2 |
0 | 1 | 1 | 1 |
0 | 2 | 3 | 3 |
1 | 0 | 4 | 1 |
1 | 1 | 6 | 3 |
1 | 2 | 5 | 2 |
WITH SET HourDiff AS Order (([Dim Date Time].[Hour Num].Children,[Gbp Usd Gaps H1].[High Low Diff].Children),[Measures].[High Low Diff],DESC) MEMBER [Measures].[High Low Diff Mode] AS Rank (([Dim Date Time].[Hour Num].CurrentMember,[Gbp Usd Gaps H1].[High Low Diff].CurrentMember), HourDiff) SELECT { [Measures].[High Low Diff Mode] } ON COLUMNS, { ([Dim Date Time].[Hour Num].Children,[Gbp Usd Gaps H1].[High Low Diff].Children) } ON ROWS FROM h1