高機能計算とデータ・ブロックのステータス
高機能計算を有効にすると、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コマンドを参照してください。