#MISSING値

ブロック・ストレージ・ディメンション・メンバーの組合せに対してデータ値が存在しない場合、Essbaseによって、その組合せに#MISSINGの値が指定されています。#MISSINGの値は、ゼロ(0)の値とは異なります。デフォルトでは、設定を有効にしないかぎり、#MISSINGデータは統合されません。#MISSINGブロックを削除すると、パフォーマンスが向上します。

#MISSINGの統合

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

表34-8 Essbaseでの#MISSING値の処理

計算/操作 結果

X + #MISSING

X

X–#MISSING

#MISSING - X

X

-X

X * #欠落

#MISSING

X / #MISSING

#MISSING/X

X/0

#MISSING

#MISSING

#MISSING

X %欠落

#欠落% 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:

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

0および#MISSING

#MISSINGと#MISSING

#MISSING

0

#MISSING

Xまたは#MISSING:

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

0または#MISSING

#MISSINGまたは#MISSING

あり

#MISSING

#MISSING

IF (#MISSING)

IF (0)

f (#MISSING)

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

f(X)

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

デフォルトでは、#MISSING値はEssbaseによってロールアップされません。ただし、常にレベル0でデータをロードし、親レベルでロードしない場合は、#MISSING値の集計の設定を有効にする必要があります。この設定により、計算パフォーマンスが1%–30%改善されます。パフォーマンスの改善は、キューブのサイズと構成によって変動します。

注意:

子メンバーのいずれかの組合せに#MISSING値がある場合に、データを子レベルではなく親レベルでロードする場合は、デフォルト(#MISSING値を集計しない)を有効化する必要があります。すべての子メンバーの組合せに、その他の値(ゼロ(0)を含む)がある場合は、Essbaseによって子の値がロールアップされて親の値が正確に上書きされるため、デフォルトを安全に変更できます。

#MISSING値を連結するには、次のいずれかの方法を使用します。実現できるパフォーマンスの改善の度合いは、データベースの上位レベル・ブロックと入力ブロックとの比率によって変動します。

#MISSING値の集計方法を変更するには、次のいずれかの方法を使用します。

キューブ・プロパティで#MISSING値の連結を有効にすると、データ・ブロック内のセル計算順序が変更されます。

#MISSING値の集計の設定が無効になると、次の状況で、パフォーマンスのオーバーヘッドが特に高くなることに注意してください。

  • 入力データ・ブロックに対する計算済データ・ブロックの比率が低い場合

  • 疎ディメンションの親レベルで多くのデータ値をロードする場合

これらの状況では、パフォーマンスのオーバーヘッドは10%–30%です。計算パフォーマンスが重要である場合は、データベース構成またはデータのロード方法を再検討することをお薦めします。

#MISSINGブロックの削除

CLEARDATAコマンドを使用して、ブロック内のセルの値を#MISSINGに変更できます。データ・ブロックは削除されません。これらの余分なブロックにより、取得と計算のパフォーマンスが低下する場合があります。

#MISSINGブロックによってパフォーマンスが低下している場合は、次のいずれかのアクションを実行します。

  • CLEARBLOCKコマンドを使用してデータ・ブロックを削除します。

  • データをエクスポートしてから、再度インポートします。

データ値がすでにロードされている場合は、空のブロックを削除するとパフォーマンスが向上します。ただし、新しい値によりそのブロックの作成が必要になる場合は、データ・ロード・プロセス時間が長くなります。