1

メジャー A とメジャー B という 2 つのメジャーを持つキューブがあります。階層の任意のレベルのビジネス ルールに基づいて、これら 2 つのメジャーから C などの 1 つのメジャーを作成する必要があります。

  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])

しかし、四半期レベルでは、10 ではなく 2 が得られるだけで、その理由がわかりました :) 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 に答える