メンバー集計の例

Essbaseメンバー集計プロパティは、階層内の子メンバーから親へのデータ値のロールアップ方法を制御します。たとえば、+ (加算)、- (減算)、* (乗算)、/ (除算)、% (パーセント計算)、~ (集計なし)など、アウトライン・メンバー・プロパティでほとんどの集計演算子を使用する場合です。

これらの例では、最初はEssbaseキューブがまだ計算されておらず、レベル0のメンバーにのみ値があることを前提としています。これらの値はキューブにロードされていますが、計算前は、データは親メンバーにまだロールアップされていません。

メンバーの演算子を使用した集計は、トップダウンの順序で行われます。デフォルトの集計は加算であるため、(+)演算子を最初に示します。

(+)演算子を使用した例

次の例で、計算前のP1には値はありません。キューブが計算される前にスプレッドシートで問い合された場合、その値は#MISSINGとして表示されます。

P1
  M1 (+)  10
  M2 (+)  15
  M3 (+)  20

キューブが計算されると、P1が45の値を持つようになります。集計は、次のようにトップダウンに進みます。

P1 = P1+M1 = #MISSING+10 = 10
P1 = P1+M2 = 10+15 = 25
P1 = P1+M3 = 25+20 = 45

(-)演算子を使用した例

ここで、減算を使用して集計するメンバーを持つ同様の階層を考えてみます。

P2
  M1 (-)  10
  M2 (-)  15
  M3 (-)  20

キューブが計算されると、P2が-45の値を持つようになります。集計は、次のようにトップダウンに進みます。

P2 = P2–M1 = #MISSING–10 = -10
P2 = P2-M2 = -10-15 = -25
P2 = P2-M3 = -25–20 = -45

(*)演算子を使用した例

乗算を使用して集計するメンバーを持つ階層を考えてみます。

P3
  M1 (*)  10
  M2 (*)  15
  M3 (*)  20

キューブが計算されると、P3が#MISSINGの値を持つようになります。集計は、次のようにトップダウンに進みます。

P3 = P3*M1 = #MISSING*10 = #MISSING
P3 = P3*M2 = #MISSING*15 = #MISSING
P3 = P3*M3 = #MISSING*20 = #MISSING

P3の最終的な集計値は、目的の結果ではない可能性があります。P3について、すべての子メンバーを乗算した結果が必要な場合は、最初の子メンバーで(+)演算子を使用してみてください。

P3
  M1 (+)  10
  M2 (*)  15
  M3 (*)  20

最初の演算子を加算に変更すると、キューブの計算後に、P3が#MISSING以外の値を持つようになります。集計は、次のようにトップダウンに進みます。

P3 = P3+M1 = #MISSING+10 = 10
P3 = P3*M2 = 10*15 = 150
P3 = P3*M3 = 150*20 = 3000

(/)演算子を使用した例

除算を使用して集計するメンバー(最初の子メンバーを除く)を持つ階層を考えてみます。

P4
  M1 (+)  10
  M2 (/)  15
  M3 (/)  20

キューブが計算されると、P4が.033の値を持つようになります。集計は、次のようにトップダウンに進みます。

P4 = P4+M1 = #MISSING+10 = 10
P4 = P4/M2 = 10/15 = 0.666
P4 = P4/M3 = 0.666/20 = 0.033

(%)演算子を使用した例

パーセンテージ計算([a/b]*100)を使用して集計するメンバー(最初の子メンバーを除く)を持つ階層を考えてみます。

P5
  M1 (+)  10
  M2 (%)  15
  M3 (%)  20

キューブが計算されると、P5が333の値を持つようになります。集計は、次のようにトップダウンに進みます。

P5 = P5+M1 = #MISSING+10 = 10
P5 = (P5/M2)*100 = (10/15)*100 = 66.6
P5 = (P5/M3)*100 = (66.6/20)*100 = 333

多数の演算子を使用した例

様々な演算子を使用して集計する次の階層を考えてみます。

Parent1
  Member1 (+)  10
  Member2 (+)  20
  Member3 (-)  25
  Member4 (*)  40
  Member5 (%)  50
  Member6 (/)  60
  Member7 (~)  70

Essbaseでは、次のようにMember1からMember6までが計算されます。

Parent1 = Parent1+Member1 = #MISSING+10 = 10;
Parent1 = Parent1+Member2 = 10+20 = 30; 
Parent1 = Parent1+Member3 = 30-25 = 5;
Parent1 = Parent1+Member4 =  5*40 = 200;
Parent1 = Parent1+Member5 = (200/50)*100 = 400
Parent1 = Parent1+Member6 = 400/60 = 6.666;

Member7は非集計(~)に設定されているため、Essbaseによって集計でMember7が無視されます。そのため、Parent1の最終的な値は6.666です。

「計算演算子*、/および%の使用」のいくつかの重要な考慮事項も参照してください。

メンバー集計プロパティ

アウトライン・メンバーのEssbase集計プロパティを定義するときに、子メンバーが親にロールアップされる方法を決定します。デフォルトでは、新しいメンバーには加算(+)演算子が指定されます。つまり、メンバーが加算されることを意味します。

たとえば、Jan、FebおよびMarの数値が加算され、その結果がそれらの親であるQtr1に格納されます。

ノート:

Essbaseでは、属性ディメンションのメンバーを持つ集計プロパティは使用されません。「属性データの計算」を参照してください。

メンバーの集計プロパティは次のとおりです。

表5-2 集計演算子

演算子 説明

+

分岐内の以前のメンバーに対して実行された計算結果の値に、メンバーを加算します。+はデフォルトの演算子です。

-

メンバーに-1を乗算して、その結果を、他のメンバーに対して実行された以前の計算の合計に加算します。

*

他のメンバーに対して実行された以前の計算の結果を、メンバーに乗算します。

/

他のメンバーに対して実行された以前の計算の結果を、メンバーで除算します。

%

他のメンバーに対して実行された以前の計算の合計を、メンバーで除算します。その結果に100を乗算してパーセンテージ値にします。

~

その親の集計で、メンバーを使用しません。

^

属性ディメンションを除くすべてのディメンションの集計で、メンバーを使用しません。

Essbase Webインタフェースを使用してメンバー集計プロパティを設定するには、編集するアウトラインを開き、メンバーを選択して、その一般プロパティを編集します。必要に応じて「演算子」を変更します。詳細は、一般的なプロパティの設定を参照してください。

アプリケーション・ワークブックまたはキューブ・デザイナを使用してメンバー集計プロパティを設定している場合は、ディメンション・ワークシートのCONSOLIDATIONプロパティを更新します。「ディメンション・ワークシートの理解」を参照してください。

REST APIを使用してアウトラインを編集する場合は、バッチ・アウトライン編集の実行のエンドポイントで説明されているように、メンバーの追加または更新アクションの実行時に、mbrInfoconsolidationプロパティの値をサポートされている演算子のいずれかに更新します。

#MISSINGおよびゼロ値の演算結果

メンバーの一意の組合せに対してデータ値が存在しない場合、Essbaseによって、その組合せに#MISSINGの値が指定されます。#MISSING値は、ゼロ(0)値とは異なります。したがって、Essbaseは、#MISSING値を0の値とは異なる方法で処理します。

次の表は、Essbaseでの#MISSINGの値の計算方法を示しています。この表では、Xは任意の数を表します。

表5-3 Essbaseでの欠落値の計算方法

計算/演算 結果

X + #MISSING

X

X – #MISSING

#MISSING – X

X

-X

X * #MISSING

#MISSING

X / #MISSING

#MISSING / X

X / 0

#MISSING

#MISSING

#MISSING

X % #MISSING

#MISSING % X

X % 0

#MISSING

#MISSING

#MISSING

X == #MISSING

Xが#MISSINGでないかぎりFalse

X != #MISSING

X <> #MISSING

Xが#MISSINGでないかぎりTrue

Xが#MISSINGでないかぎりTrue

(X <= #MISSING)

(X <=0)

(X >= #MISSING)

(X >=0)または(X == #MISSING)

(X > #MISSING)

(X > 0)

(X < #MISSING)

(X < 0)

X AND #MISSING:

1 AND #MISSING (1はゼロ以外の値を表します)

0 AND #MISSING

#MISSING AND #MISSING

#MISSING

0

#MISSING

X OR #MISSING:

1 OR #MISSING (1はゼロ以外の値を表します)

0 OR #MISSING

#MISSING OR #MISSING

1

#MISSING

#MISSING

IF (#MISSING)

IF (0)

f (#MISSING)

Essbase関数が1つの変数で構成される場合は、#MISSING

f (X)

Xがfのドメインではなく、Essbase関数が(明記されている場合を除いて)複数の変数で構成される場合は、#MISSING