高機能計算とデータ・ブロックのステータス
高機能計算を有効にすると、Essbaseはデータベース内のブロックの更新ステータスを確認し、"ダーティ"ブロックとその依存する親のみを計算します。無効にすると、Essbaseは、データ・ブロックがクリーンとダーティのどちらとしてマークされているかに関係なく、計算スコープ内のすべてのデータ・ブロックを計算します。
"クリーン"とマークされたブロック
Essbaseでは、次のタイプの計算時にデータ・ブロックがクリーンとしてマークされます。
-
データベースのフル計算(CALC ALL) (デフォルトの計算)。
-
1つのCALC DIM文ですべてのディメンションを計算する計算スクリプト。
たとえば、次の計算スクリプトでは、Sample Basicデータベースのすべてのメンバーが計算されます:
CALC DIM(Measures, Product, Market, Year, Scenario);
これを、2つのCALC DIM文ですべてのメンバーを計算する計算スクリプトと比較してみます。
CALC DIM(Measures, Product); CALC DIM(Market, Year, Scenario);
2つのCALC DIM文を使用すると、Essbaseでは、データベースで少なくとも2つの計算パスが実行されます。この計算で、デフォルトではデータ・ブロックはEssbaseによってクリーンとしてマークされません。高機能計算は正確なクリーン・ステータスとダーティ・ステータスに依存するため、これらのマーカーを慎重に管理する必要があります。
計算スクリプトでSET CLEARUPDATESTATUSコマンドを使用している場合を除き、前述の状況でのみ、計算済データ・ブロックがEssbaseによってクリーンとしてマークされます。「SET CLEARUPDATESTATUSコマンド」を参照してください。
"ダーティ"とマークされたブロック
Essbaseでは、次の場合にデータ・ブロックがダーティとしてマークされます。
-
データベースの一部のデータ・ブロックを計算した場合。ただし、SET CLEARUPDATESTATUS AFTERが、その計算スクリプト内の部分的な計算文に含まれていない場合のみ
-
データをデータ・ブロックにロードした場合
-
密ディメンションへのメンバーの追加などにより、データベースを再構築した場合
-
DATACOPYなどを使用して、データをデータ・ブロックにコピーした場合
クリーン/ダーティ・ステータスのメンテナンス
データベースのサブセットを計算したり、複数の計算パスを実行する場合、高機能計算を使用するには、Essbaseでどのようにデータ・ブロックがクリーンとしてマークされるかを慎重に考慮して、Essbaseでできるだけ効率的にデータベースが再計算されるようにします。
たとえば、データベースのサブセットを計算した場合、新しい計算済データ・ブロックは、デフォルトではクリーンとしてマークされません。計算スクリプトでSET CLEARUPDATESTATUS AFTERコマンドを使用すると、この新しく計算されたブロックが確実にクリーンとしてマークされるようにできます。計算スクリプトを作成する前に、「SET CLEARUPDATESTATUSコマンド」を参照してください。