我有一个OLAP cube,其中包含每个商店的销售数量。
使用MDX,如何输出特定商店的排名?
我梦想下面的事情(不起作用),如果SomeShop是第8个最畅销的商店,它会返回8:
SELECT RANK( [Shop].CHILDREN, [Shop].[SomeShop]) from [Sales]
答案 0 :(得分:0)
您应该查看msdn上的示例,最后一个示例将在此处使用。
像这样:
WITH MEMBER [Measures].[rank] AS RANK( [Shop].CurrentMember, [Shop].MEMBERS)
SELECT {[Measures].[rank], ...} on 0
ORDER([Shop].MEMBERS, [Measures].[rank], ASC) on 1
FROM [Sales]
答案 1 :(得分:0)
这是我找到的解决方案。
任何更好的解决方案将不胜感激。
WITH MEMBER [Measures].[rank] AS RANK(
[Shop].CurrentMember,
Order(
[Shop].Members,
[Measures].[salescount],
BDESC
),
[Measures].[salescount]
)
SELECT Order(
[Shop].Members,
[Measures].[salescount],
BDESC
).Item([SomeShop]) ON COLUMNS,
[Measures].[salescount] ON ROWS
FROM [Sales]