【问题标题】:How to filter measures in MDX如何在 MDX 中过滤度量
【发布时间】:2026-01-01 10:35:02
【问题描述】:

我需要将度量值过滤为

MeasureA   MeasureB
 10          10
 15          15
  5          20
 20          20

这里我只需要得到不相等的度量,我正在使用过滤器功能但不起作用

选择过滤器({[Measures].[A], [措施].[B]}, ([措施].[A]- [措施].[B])=0) 0 来自[立方体]

预期结果集

    MeasureA   MeasureB     
     5          20

我错过了什么?

【问题讨论】:

    标签: ssas mdx


    【解决方案1】:

    尝试在过滤器语句的第一部分使用维度而不是度量。假设您正在查询产品,那么您的查询可能如下所示:

    select {[Measures].[A],[Measures].[B]} on columns,
    filter ({[Products].Members},[Measures].[A] = [Measures].[B]) on rows
    from [Sales Cube]
    

    【讨论】:

      【解决方案2】:

      您可能想尝试在 DSV 中为此 Fact 表创建一个计算字段...

      CASE
        WHEN MeasureFieldA != MeasureFieldB THEN 1
        ELSE 0
      END
      

      然后您可以创建一个“事实维度”并将此计算字段作为属性用于您的查询或计算度量。

      【讨论】: