【问题标题】:SSAS force aggregation of the results of calculated measure计算测量结果的 SSAS 强制聚合
【发布时间】:2021-01-08 17:45:07
【问题描述】:

我在 Excel 数据透视表中使用的 SSAS 多维数据集中有一个计算量度。我的问题是计算的度量将总计视为行并将公式应用于字段的汇总总计。使用订单行的示例:

Order1 A B C D
product1 1 40 0 0
product2 40 1920 20 960
product3 1 24 0 0
product4 2 32 0 0
product5 2 27 0 0
product6 1 760 0 0
product7 1 2880 1 2880
product8 1 872 0 0
product9 2 1680 0 0

计算的度量是 D 列,公式如下:B / A * C

在产品级别,D 列显示了所需的值。 在 Order1 级别,D 列聚合为 3390.96,而 D 列的实际总数为 3840。

SSAS 首先聚合 A、B、C 列,然后将公式应用于聚合值以计算 D 列的总和。

是否可以使用行的总和来计算计算度量的总和?

谢谢

【问题讨论】:

    标签: sql pivot ssas mdx


    【解决方案1】:

    在 SSAS MD 中有一个技巧可以做到这一点 - 我称之为“虚构的措施”,请在下面找到解释。

    • 在度量值组中创建一个哑度量值,示例中的 A、B、C 始终返回 NULL。聚合函数 - sum,因为您在问题中要求它是 sum。

    • 在这个度量上定义一个SCOPE

      SCOPE ([Dim Product].[Product].Members, [Measures].[Dumb Measure]); 
          This = [Measure].[B] / [Measure].[A] * [Measure].[C];
      END SCOPE
      

    此度量将使用 SCOPE 定义的公式在Dim Product 级别上计算,并将进一步求和。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-19
      • 2014-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多