MDX秩计算度量值每行有1个

MDX秩计算度量值每行有1个,mdx,Mdx,我试图在MDX查询中创建一个计算出的度量值,该查询获取按度量值排序的维度的排名。问题是,对于每一行,我得到的都是1,或者,如果我更改排序顺序,则是维度的计数 这是我的尺寸 MEMBER [Measures].[Approved wk to wk Rank] AS RANK ( [FRR Group Matrix].[Group Name].CurrentMember, ORDER( [FRR Group Matrix].[Group Name].[Group Name].ALLM

我试图在MDX查询中创建一个计算出的度量值,该查询获取按度量值排序的维度的排名。问题是,对于每一行,我得到的都是1,或者,如果我更改排序顺序,则是维度的计数

这是我的尺寸

MEMBER [Measures].[Approved wk to wk Rank] AS RANK (
  [FRR Group Matrix].[Group Name].CurrentMember,
  ORDER(
    [FRR Group Matrix].[Group Name].[Group Name].ALLMEMBERS, [Measures].[Approved wk to wk %], BDESC
  ),
  [Measures].[Approved wk to wk %]
) 
我的度量值在我的列中,我的维度在行中。这是我定义行的地方,也是我认为存在问题的地方:

{ ([FRR Group Matrix].[Group Name].[Group Name].ALLMEMBERS 
   * [FRR Group Matrix].[FRRCode].[FRRCode].ALLMEMBERS ) } ON ROWS
如果我改为以下内容,我将获得一个好的排名,但我仍然希望保留这两列

{ [FRR Group Matrix].[Group Name].[Group Name].ALLMEMBERS } ON ROWS

那么,如何使我的秩与这两个元组一起工作呢?

将整个元组放入
秩和
顺序中
NONEMPTY
对于您的特定问题可能不是必需的,但它将从您的排名中排除空白,并可能加快执行时间

SET [X] AS
  ORDER(
      NONEMPTY(
         [FRR Group Matrix].[Group Name].[Group Name]
         * 
         [FRR Group Matrix].[FRRCode].[FRRCode], 
         [Measures].[Approved wk to wk %]
      ), 
      [Measures].[Approved wk to wk %], 
      BDESC
    )
  MEMBER [Measures].[Approved wk to wk Rank] AS 
    RANK (
      (
       [FRR Group Matrix].[Group Name].CurrentMember,
       [FRR Group Matrix].[FRRCode].CurrentMember
      ),
    [X], 
    [Measures].[Approved wk to wk %]
  ) 

两个行属性之间可能存在依赖关系?然后使用
顺序([FRR组矩阵].[Group Name].[Group Name].[Group Name].[All MEMBERS],[FRR组矩阵].[FRR组矩阵].[FRRCode].[All].[code>是“所有成员”,BDESC)
可能会有所帮助第二个属性。@danielGimenez-
NONEMPTY
可能会使这个脚本更快,而不管应用程序如何,所以我对您所做的编辑有点不相信。如果你能解释为什么使用who元组解决了这个问题,那就太好了……似乎你想对这两个层次结构进行排序,因此在
顺序
部分以及
排名
的第一个参数中都包含了这一点非常重要(这不是一个很好的解释抱歉-@FrankPI你能解释一下为什么这个解决方案有效吗?)