メンバー連結の例
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 = #MISSINGP3の最終的な集計値は、目的の結果ではない可能性があります。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 (~) 70Essbaseは、次のように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を使用してアウトラインを編集する場合は、「バッチ・アウトライン編集の実行」のエンドポイントの説明に従って、メンバーの追加または更新アクションを実行するときに、mbrInfoのconsolidationプロパティの値を、サポートされている演算子の1つに更新します。
#MISSINGおよびゼロ値の操作結果
メンバーの一意の組合せのデータ値が存在しない場合、Essbaseは、その組合せに#MISSINGの値を与えます。#MISSINGの値は、ゼロ(0)の値と異なります。そのため、Essbaseは、#MISSING値を0値とは異なる方法で処理します。
次の表は、Essbaseが#MISSING値を計算する方法を示しています。この表では、Xは任意の数を表します。
表5-3 Essbaseが欠落値を計算する方法
| 計算/操作 | 結果 |
|---|---|
|
X + |
X |
|
X–
|
X -X |
|
X * |
|
|
X/
X/0 |
|
|
X %
X % 0 |
|
|
X == |
Xが |
|
X != X <> |
Xが Xが |
|
(X <= |
(X <=0) |
|
(X >= |
(X >=0)または(X == |
|
(X > |
(X > 0) |
|
(X < |
(X < 0) |
|
Xおよび 1 AND 0および
|
0
|
|
Xまたは 1 OR 0または
|
1
|
|
IF ( |
IF (0) |
|
f ( |
1つの変数のEssbase関数の |
|
f (X) |
fのドメイン内にない任意のXの |