0

我有一个 MDX 查询对客户进行排名,但在我添加的 WHERE 子句中

With Member [Measures].[Rank2] As 
IIF([DimClient].[Client].CurrentMember.member_caption = [ClientBenchmark].[ClientGroup].currentMember.member_caption,0,
    Rank ([DimClient].[Client].CurrentMember,(Order ([DimClient].[Client].[Client],[Measures].[Vol], BDesc)))
    )

Select {​​[Measures].[Vol]
,[Measures].[Rank2]}​​ On Columns,
 {​​[DimClient].[Client].[Client]}​​ on Rows

From [cube] 
where [ClientBenchmark].[Client].&[ATTS];

执行时返回

在此处输入图像描述

DimClient 和 ClientBenchmark 维度在多维数据集中是不相关的。

但是,我想实现下面的截图

在此处输入图像描述

注意排名没有跳过。我会很感激你的解决方案。

4

1 回答 1

0

也许尝试FILTERRANK?

With 
Member [Measures].[Rank2] As 
IIF(
  [DimClient].[Client].CurrentMember.member_caption 
     = [ClientBenchmark].[ClientGroup].currentMember.member_caption
  ,0
  ,Rank (
      [DimClient].[Client].CurrentMember,
      (
          Order (
             filter(
               EXISTING ([DimClient].[Client].[Client] ),
               [DimClient].[Client].CurrentMember.member_caption 
                    <> [ClientBenchmark].[ClientGroup].currentMember.member_caption
             ),
             [Measures].[Vol], 
             BDesc
           )
       )   
    )
)
Select 
{​​[Measures].[Vol]
,[Measures].[Rank2]}​​ On Columns,
 {​​[DimClient].[Client].[Client]}​​ on Rows

From [cube] 
where [ClientBenchmark].[Client].&[ATTS];
于 2021-03-21T16:11:35.407 回答