0

我写了这个相当简单的 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、...)

如何修复请求以正确显示每个性别的销售额排名?

4

1 回答 1

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]

抱歉打扰了,我希望这可能对某人有所帮助:-)

于 2010-10-20T02:51:09.370 回答