我写了这个相当简单的MDX请求,以按每个性别的销售数量获得排名:
WITH MEMBER [Measures].[rank] AS RANK(
[Gender].CurrentMember,
Order(
[Gender].Members,
[Measures].[salescount],
BDESC
),
[Measures].[salescount]
)
SELECT [Gender].Members ON COLUMNS,
[Measures].[rank] ON ROWS
FROM [SalesAnalysis]
问题结果是错误的,我知道M的销售额超过F:
Axis #0:
{}
Axis #1:
{[Measures].[rank]}
Axis #2:
{[Gender].[All Genders]}
{[Gender].[F]}
{[Gender].[M]}
Row #0: 1
Row #1: 2
Row #2: 3
如果我使用“国家”而不是“性别”,同样的问题:排名是根据字母顺序而不是基于销售计数给出的。 (即:所有国家按字母顺序列出,等级1,2,3,4,......)
如何修复请求以正确显示每个性别的salescount排名?
答案 0 :(得分:0)
好的,我找到了解决方案:
WITH MEMBER [Measures].[rank] AS RANK(
[Reseller].CurrentMember,
Order(
[Reseller].Members,
[Measures].[salescount],
BDESC
),
[Measures].[salescount]
)
SELECT Order(
[Reseller].Members,
[Measures].[salescount],
BDESC
).Item([theShopWhoseRankIWant]) ON COLUMNS,
[Measures].[rank] ON ROWS
FROM [SalesAnalysis]
对不起噪音,我希望这可以帮助某人: - )