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

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

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

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

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

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

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

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を使用して計算するブロックの範囲を制限するなど、「潜在的なブロックの数」を制限します。