微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在不跳过 MDX 查询的情况下按顺序排列

如何解决如何在不跳过 MDX 查询的情况下按顺序排列

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

With Member [Measures].[Rank2] As 
IIF([DimClient].[Client].CurrentMember.member_caption = [ClientBenchmark].[ClientGroup].currentMember.member_caption,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];

执行后返回

enter image description here

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

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

enter image description here

注意排名没有跳过。 我会感谢您的解决方案。

解决方法

也许可以在 FILTER 中尝试额外的 RANK

With 
Member [Measures].[Rank2] As 
IIF(
  [DimClient].[Client].CurrentMember.member_caption 
     = [ClientBenchmark].[ClientGroup].currentMember.member_caption,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];

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。