CLEARBLOCK
EssbaseのCLEARBLOCK計算コマンドは、セルの値を#MISSING
に設定し、すべてのセルが空または#MISSING
の場合、そのブロックを削除します。このコマンドは、新しい値をロードする前に、ブロック間で古いデータ値をクリアする必要がある場合に役立ちます。
CLEARBLOCKは、計算速度を最適化するのに役立ちます。たとえば、最初の計算で多数の連結レベル・ブロックが作成された場合、Essbaseはその多数の追加のブロックを処理する必要があるため、その後の再計算に時間がかかります。CLEARBLOCKは、計算の発生前にブロックをクリアします。
別の例: コピーするキューブに多数の空のブロックが含まれている場合、キューブをコピーすると空のブロックもコピーされ、結果としてさらに多くの空のブロックが生成されます。まずCLEARBLOCK EMPTYを使用することで、このコピー処理をより効率的にできます。
密ディメンション・メンバーを含むFIX文内でCLEARBLOCKを使用する場合、Essbaseは、ブロック全体ではなく、その固定範囲内のセルのみをクリアします。
構文
CLEARBLOCK ALL | UPPER | NONINPUT | DYNAMIC | EMPTY;
パラメータ
ノート
-
定期的にデータ値を連結レベルに直接入力する場合、UPPERオプションによってデータは上書きされます。この場合、計算値を含むブロックのみをクリアするNONINPUTオプションを使用する必要があります。
-
CLEARBLOCK EMPTYを使用すると、結果として得られるより小さなキューブを、より効率的に処理できる可能性があります。ただし、キューブのサイズと密度によっては、CLEARBLOCK EMPTYプロセス自体に時間がかかる場合があります。
-
密ディメンションに対してFIXコマンド内でCLEARBLOCKが使用される場合、FIX文は無視され、すべてのブロックで欠落しているセルがないかがスキャンされます。
-
FIX文では、CLEARBLOCKブロック全体がFIXによって選択され(FIXに密ディメンションがない)、ブロックが更新可能である(レプリケートされたパーティションのターゲット領域ではない)場合にのみ、ブロックがクリアされます。空のブロックを保持する場合は、FIX文内に、CLEARBLOCKを使用するかわりに、そのブロックを#MISSINGに設定します。
たとえば、次のコマンド・ブロックは、Eastのデータをクリアし、ブロックを削除します(Marketがスパースであるため)。
FIX("East") CLEARBLOCK ALL; ENDFIX
次のコマンド・ブロックは、ブロックを削除せずに、New Yorkのデータ値を#MISSINGに設定します。
FIX("East") "New York" = #Missing; ENDFIX
- このコマンドを並列計算で使用するには、SET CALCPARALLELのかわりにFIXPARALLEL...ENDFIXPARALLELを使用します。
例
CLEARBLOCK ALL;
CLEARBLOCK UPPER;
CLEARBLOCK NONINPUT;
CLEARBLOCK DYNAMIC;
CLEARBLOCK EMPTY;
関連項目