#MISSING値の連結
ディメンション・メンバーの組合せにデータ値が存在しない場合、Essbaseはその組合せに#MISSINGの値を提供します。 Essbaseでは、#MISSING値とゼロ(0)値の処理方法が異なります。
#MISSINGの計算の理解
次に、Essbaseによる#MISSING値の計算方法を示します。 次の表で、Xは任意の数値を表します:
表33-5 Essbaseでの#MISSING値の処理方法
Calculation/Operation | 結果 |
---|---|
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 |
FALSE (Xが#MISSINGでない場合) |
X != #MISSING X < > #MISSING |
TRUE (Xが#MISSINGでない場合) TRUE (Xが#MISSINGでない場合) |
X <= #MISSING |
(X <= 0) |
X >= #MISSING |
(X >= 0)または(X == #MISSING) |
X > #MISSING |
(X > 0) |
X < #MISSING |
(X < 0) |
Xおよび#MISSING: Y AND #MISSING (Yはゼロ以外の値) 0 AND #MISSING #MISSING AND #MISSING |
#MISSING 0 #MISSING |
X OR #MISSING: Y OR #MISSING、Yはゼロ以外の任意の値を表します 0 OR #MISSING #MISSINGまたは#MISSING |
Y #MISSING #MISSING |
IF (#MISSING) |
IF (0) |
f (#MISSING) |
いずれかの変数のEssbase関数の#MISSING |
f (X) |
fのドメインにないXの#MISSINGおよび複数の変数のEssbase Essbase関数(特に明記されていない場合) |
デフォルトでは、Essbaseは#MISSING値をロールアップしません。 ただし、常にレベル0でデータをロードし、親レベルではロードしない場合は、#MISSING値を連結するための設定を有効にする必要があります。 この設定により、1%-30%の計算パフォーマンスが向上します。 パフォーマンスの向上は、データベースのサイズと構成によって異なります。
注意:
子メンバーの組合せに#MISSING値がある場合、親レベルではなく親レベルでデータをロードするときは、デフォルトが有効である必要があります。 すべての子メンバーの組合せにゼロ(0)などの他の値がある場合、Essbaseは子の値をロールアップして親の値を正しく上書きするため、デフォルトを安全に変更できます。
パフォーマンスのための連結の変更
統合するには、前述のいずれかのメソッドを使用して、#MISSING値を統合するための設定を有効にします。 パフォーマンスの向上の程度は、データベース内の上位レベルのブロックと入力ブロックの比率によって異なります。
#MISSING値の連結メソッドを変更するには、次のいずれかのメソッドを使用できます:
-
Essbase webインタフェースで欠落値キューブの集計オプションを選択します。
「拡張キューブ・プロパティの設定」を参照してください。
-
計算スクリプトで、SET AGGMISSG計算コマンドを使用します。
-
alter database 「aggregate_missingの有効化」 MaxL文を使用します。
#MISSING値の連結の設定を有効にすると、データ・ブロック内のセルの計算順序が変更されます。
#MISSING値の連結の設定が無効になっている場合、次の状況では特にパフォーマンス・オーバーヘッドが高くなります:
-
計算されたデータ・ブロックと入力データ・ブロックの比率が低い場合
-
疎ディメンションの親レベルで多数のデータ値をロードする場合
このような状況では、パフォーマンス・オーバーヘッドは10%から30%です。 計算パフォーマンスが重要な場合は、データベース構成またはデータのロード方法を再検討する必要があります。
「#MISSING値の連結」を参照してください。