潜在的なブロックでの計算の有効化

密ディメンションの密メンバーに対する式を使用するときに、計算結果が密ディメンションからの値で、オペランドが疎ディメンションからの値である場合、Essbaseによって必要なブロックが自動的に作成されません。

ブロックを作成する必要がある場合は、Essbase計算スクリプトを設計して、値をコピーし、ブロックを作成して、不要な値の作成を制限できます。

次の例では、既存の実績データから売上高予算と費用データを作成するとします。SalesとExpensesは密のMeasuresディメンションのメンバーです。BudgetとActualは疎のScenarioディメンションのメンバーです。

FIX(Budget)
   (Sales = Sales -> Actual * 1.1;
   Expenses = Expenses -> Actual * .95;)
ENDFIX

等式の結果であるSalesとExpensesは密ディメンションのメンバーです。オペランドであるActualは疎ディメンションのメンバーです。Essbaseでは、密メンバー式は既存のデータ・ブロックに対してのみ実行されるため、計算スクリプトによって必要なデータ・ブロックが作成されず、存在しないブロックに対して予算データ値は計算されません。

次の方法を使用して、問題を解決できます。

DATACOPYを使用した既存ブロックのコピー

Essbaseブロック・ストレージ計算スクリプトでDATACOPYコマンドを使用して既存の各ブロックに対してブロックを作成し、新しいブロックで計算を実行できます。

例:

DATACOPY Sales -> Actual TO Sales -> Budget;
DATACOPY Expenses -> Actual TO Expenses -> Budget;
FIX(Budget)
   (Sales = Sales -> Actual * 1.1;
   Expenses = Expenses -> Actual * .95;)
ENDFIX

Essbaseにより、既存の対応する各実績ブロックに対して予算値を含むブロックが作成されます。DATACOPYコマンドが終了すると、スクリプトの残りの部分によって値が変更されます。

次の場合にDATACOPYを使用することをお薦めします。

  • 既存ブロックの値とDATACOPYによって作成されたブロックの値との間に、数学的な関係がある場合。

    たとえば、前述の例では、予算値は既存の実績値に基づいて計算されます。

    注意:

    DATACOPYによって、すべてのセルにソース・ブロックと同じ値が入った新しいブロックが作成されます。ブロックの一部に対してのみ式を実行する場合、これらのコピーされたセルは計算終了時にそのまま残るため、結果として値が不適切になる可能性があります。

  • コピーされるブロックに#MISSING値のみを含むブロックがない場合。

    #MISSING値がある場合、#MISSING値のみを含むブロックが書き込まれます。不必要な#MISSINGブロックに、Essbaseのリソースと処理時間が必要になります。

関連項目

DATACOPY

SET CREATENONMISSINGBLKを使用したすべての潜在的なブロックの計算

Essbaseブロック・ストレージ計算スクリプトでSET CREATENONMISSINGBLKコマンドを使用して、密ディメンションまたは疎ディメンションでの計算時に不要な値を制限します。

不適切な値の存在が懸念される場合は、DATACOPYのかわりに、SET CREATENONMISSINGBLK ON計算コマンドを使用できます。このコマンドでは、メモリー内のすべての潜在的なブロックが計算され、データ値を含む計算されたブロックのみが保管されます。SET CREATENONMISSINGBLK計算コマンドは、密ディメンションまたは疎ディメンションで値を計算するときに便利です。

次の例では、既存の実績データから売上高予算と費用データを作成します。SalesとExpensesは密のMeasuresディメンションのメンバーです。BudgetとActualは疎のScenarioディメンションのメンバーです。

FIX(Budget)
SET CREATENONMISSINGBLK ON
   (Sales = Sales -> Actual * 1.1;
   Expenses = Expenses -> Actual * .95;)
ENDFIX

ノート:

SET CREATEBLOCKONEQ ONが疎ディメンションに対して設定されている場合、SET CREATENONMISSINGBLK OFFコマンドが検出されるか計算スクリプトが完了するまで、SET CREATENONMISSINGBLK ONによって一時的にSET CREATEBLOCKONEQ ONが上書きされます。

SET CREATENONMISSINGBLKコマンドを使用する場合の長所は、密メンバーに適用したときに、メンバー式の影響を受けるデータ・セルのみが保存される点です。短所は、メモリーに生成される潜在的なブロックが多すぎて、計算パフォーマンスに影響する可能性がある点です。このコマンドを使用すると、FIXを使用して計算するブロックのスコープを制限することで、潜在的なブロックの数を制限することをお薦めします。