SET CLEARUPDATESTATUS
SET CLEARUPDATESTATUS計算コマンドは、Essbaseでデータ・ブロックをクリーンとしてマークするタイミングを指定します。このクリーン・ステータスは、インテリジェント計算中に使用されます。
構文
SET CLEARUPDATESTATUS AFTER | ONLY | OFF;
パラメータ
- AFTER
-
Essbaseは、データベースのサブセットを計算している場合でも、計算されたデータ・ブロックをクリーンとしてマークします。
- ONLY
-
Essbaseは、指定したデータ・ブロックをクリーンとしてマークしますが、実際にはデータ・ブロックを計算しません。これはAFTERと同じですが、計算を無効にします。
- OFF
-
Essbaseは、計算されたデータ・ブロックをクリーンとしてマークしません。データベースのデフォルトの計算(
CALC ALL;
)でも、データ・ブロックはクリーンとしてマークされません。計算されたデータ・ブロックの既存のクリーン・ステータスまたはダーティ・ステータスは変更されません。
ノート
SET CLEARUPDATESTATUSは、Essbaseがデータ・ブロックをクリーンとしてマークするタイミングを指定します。
データベース内のデータ・ブロックの計算ステータスは、クリーンまたはダーティです。Essbaseがデータベースの完全な計算を行うと、計算されたデータ・ブロックがクリーンとしてマークされます。データ・ブロックがクリーンな場合、インテリジェント計算がオンになっているかぎり、Essbaseは後続の計算でデータ・ブロックを再計算しません。
計算結果の正確性を確保するには、SET CLEARUPDATESTATUS AFTERコマンドが計算に与える影響を慎重に検討してください。
SET CLEARUPDATESTATUSを使用しない場合、Essbaseは、計算されたデータ・ブロックを、データベースのサブセット計算時にクリーンとしてマークしません。Essbaseは、完全な計算(CALC ALL;
)、またはEssbaseがすべてのメンバーを1回の計算でデータベース全体を計算する場合にのみ、データ・ブロックをクリーンとしてマークします。
データベースのサブセットを計算する場合は、SET CLEARUPDATESTATUS AFTERコマンドを使用して、計算されたブロックがクリーンとしてマークされていることを確認することをお薦めします。ただし、計算結果が正しいことを確認するために、このコマンドが計算に与える影響を慎重に検討してください。
警告
SET CLEARUPDATESTATUSコマンドを使用して、計算されたデータ・ブロックをクリーンとしてマークする場合は、次の質問を慎重に検討してください。
どのデータ・ブロックが計算されますか
計算されたデータ・ブロックのみが、クリーンとしてマークされます。
同時計算は同じデータ・ブロックに影響しますか
異なる計算で同じデータ・ブロックを計算する必要がないことが確実でないかぎり、同時計算でSET CLEARUPDATESTATUS AFTERコマンドを使用しないでください。インテリジェント計算をオンにして同時計算で同じデータ・ブロックを計算しようとすると、Essbaseはデータ・ブロックがクリーンとしてマーク済であるため、データ・ブロックを再計算しない場合があります。
同じデータ・ブロックがデータベースを通過する2回目の計算で再計算されますか
データベースを通過する最初の計算でデータ・ブロックを計算する場合、Essbaseはそれらをクリーンとしてマークします。その後、インテリジェント計算をオンにして次のパスで同じデータ・ブロックを計算しようとすると、Essbaseはデータ・ブロックを再計算しません。これは、データ・ブロックがすでにクリーンとしてマークされているためです。
例1
次の例では、New YorkはMarketスパース・ディメンションのメンバーです。Essbaseは、New Yorkのダーティな親データ・ブロックを検索します(たとえば、Colasが親メンバーである"New York"->Colas
)。Productディメンションに基づいてこれらのダーティ・ブロックを計算し、クリーンとしてマークします。Essbaseは、子入力ブロックが計算されていないため、これらをクリーンとしてマークしません:
SET CLEARUPDATESTATUS AFTER;
FIX ("New York")
CALC DIM(Product);
ENDFIX
例2
次の例では、Essbaseはキューブ内のすべてのダーティ・ブロックを検索し、クリーンとしてマークします。CALC ALL;コマンドが使用されていても、ブロックを計算しません:
SET CLEARUPDATESTATUS ONLY;
CALC ALL;
例3
次の例では、New YorkはMarketスパース・ディメンションのメンバーです。Essbaseは、New Yorkのダーティな親データ・ブロックを検索します(たとえば、Colasが親メンバーである"New York"->Colas)。それらをクリーンとしてマークします。そのデータ・ブロックを計算しません。子ブロックは計算されないため、クリーンとしてマークされません。たとえば、"New York"->100-10
がダーティの場合、これはダーティのままです:
SET CLEARUPDATESTATUS ONLY;
FIX ("New York")
CALC DIM(Product);
ENDFIX
例4
次の例では、Essbaseによってすべてのダーティ・ブロックが計算されます。計算されたブロックはダーティのままです。Essbaseは、それらをクリーンとしてマークしません。次に、EssbaseはAccountsディメンションの2パス・メンバーを計算し、計算済ブロックをクリーンとしてマークしません:
SET CLEARUPDATESTATUS OFF;
CALC ALL;
CALC TWOPASS;