Hi Experts,
I have a MDX query in which I am using context aware calculation.On the basis of the result I want to find out Topcount
e.g,
WITH MEMBER [Measures].[ConditionalSales]
AS
CASE WHEN [Sales].[BatchNo].Currentmember IS [Sales].[BatchNo].&[005]
THEN [Measures].[SalesAmount]
ELSE 0
END
SELECT {[Measures].[ConditionalSales]} ON 0,
NONEMPTY([Divion].[Divison].Members*[Sales].[BatchNo].[BatchNo].Members) ON 1 FROM [Sales]
Now I want to find out Top 3 divisions by [Measures].[ConditionalSales];How to do it?
I tried something like this,But it's not working
WITH MEMBER [Measures].[ConditionalSales]
AS
CASE WHEN [Sales].[BatchNo].Currentmember IS [Sales].[BatchNo].&[5]
THEN [Measures].[SalesAmount]
ELSE 0
END
SELECT {[Measures].[ConditionalSales]} ON 0,
TOPCOUNT(NONEMPTY([Divion].[Divison].Members*[Sales].[BatchNo].[BatchNo].Members),3,[Measures].[ConditionalSales]) ON 1 FROM [Sales]
*Here [Sales].[BatchNo].[BatchNo].Members is not used for display purpose rather for calculated member
Division | BatchNo | Sales | ConditionalSales |
Sem | 5 | 20 | 20 |
Sem | 4 | 30 | 0 |
Sem | 5 | 40 | 40 |
Ret | 4 | 30 | 0 |
Ret | 5 | 30 | 30 |
Ret | 5 | 140 | 140 |
Tem | 4 | 50 | 0 |
Tem | 5 | 70 | 70 |
Division | ConditionalSales |
Ret | 170 |
Tem | 70 |
Sem | 60 |
I changed the query!Please see the above code.