メンバー連結の例

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インタフェースを使用してメンバー連結プロパティを設定するには、編集するアウトラインを開き、メンバーを選択して、その一般プロパティを編集します。必要に応じて「演算子」を変更します。詳細は、Set General Propertiesを参照してください。

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

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

#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および#MISSING:

1 AND #MISSING (1は0以外の任意の値を表す)

0および#MISSING

#MISSINGおよび#MISSING

#MISSING

0

#MISSING

Xまたは#MISSING:

1 OR #MISSING (1は0以外の任意の値を表す)

0または#MISSING

#MISSINGまたは#MISSING

1

#MISSING

#MISSING

IF (#MISSING)

IF (0)

f (#MISSING)

1つの変数のEssbase関数の#MISSING

f (X)

fのドメイン内にない任意のXの#MISSING、および複数の変数のEssbase関数(特に明記されている場合を除く)