【问题标题】:MDX for calculated member with two measures over time hierarchy计算成员的 MDX,随时间层次结构具有两个度量
【发布时间】:2012-08-25 18:28:11
【问题描述】:

我有一个带有两个度量的多维数据集,比如说度量 A 和度量 B。我需要根据层次结构中任何级别的业务规则从这两个度量中创建一个度量 C,

  1. 如果 A 在当前级别不为空(对于该级别的所有子项都具有值),则只需聚合 A。否则,在 A 存在的地方聚合 A,在 A 不存在的地方聚合 B,然后将两者相加得到C.

事情是这样的

Quarter    Month    A    B
Q1         Apr      2    3
Q1         May           4
Q1         Jun           4

C 在 Quarter 级别应该是 10。另外,4 月 2 个,5 月 4 个,6 月 4 个 [月级别]

我使用了以下 MDX,它在月级别上运行良好。

IIF(IsEmpty([Measures].[A]), [Measures].[B], [Measures].[A])

但是,在四分之一级别,它只给我 2 而不是 10,我现在知道为什么了 :) 有关构建 MDX 以使其在任何级别上工作的任何指示

[Year - Semester - Quarter - Month] (Granularity is at Month level only)

会有所帮助。谢谢:)

【问题讨论】:

    标签: sql-server ssas mdx business-intelligence


    【解决方案1】:

    你可以使用这个 Mdx

    Sum(
       Descendants('current member on your time hierarchy', 'month level'),
       CoalesceEmpty([Measures].[A], [Measures].[B])
    )
    

    CoalesceEmpty([Measures].[A], [Measures].[B]) 等价于IIf(IsEmpty([Measures].[A]), [Measures].[B], [Measures].[A])

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多