1

我有一个带有两个度量的多维数据集,比如说度量 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 在季度级别应该是 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)

会有帮助的。谢谢 :)

4

1 回答 1

0

你可以使用这个 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])

于 2012-08-22T13:29:57.433 回答