SET CREATENONMISSINGBLK

EssbaseSET CREATENONMISSINGBLK計算コマンドは、潜在的ブロックを計算目的でメモリーに作成するかどうかと、#MISSINGブロックを保管するかどうかを制御します。

このコマンドは、疎ディメンションと密ディメンションでの計算結果に影響します。

デフォルトでは、Essbaseは既存のデータ・ブロックにのみ密なメンバー式を適用します。SET CREATENONMISSINGBLK ONを使用すると、Essbaseは、密メンバー式が実行されるメモリー内に潜在的なブロックを作成できます。これらの潜在的なブロックのうち、Essbaseは、値を含むブロックのみをデータベースに書込みます。#MISSINGのみになるブロックはデータベースに書き込まれません。

スパース・メンバー式から生じる#MISSINGブロックの作成は、SET CREATEBLOCKONEQによって管理されます。SET CREATENONMISSINGBLK ONは、「等式によるブロックの作成」設定に関係なく、空でないブロックのみが作成されるようにします。

新しいブロックを作成するには、SET CREATENONMISSINGBLKをONに設定するために、Essbaseが作成されるブロックを予測する必要があります。潜在的なブロックを操作すると、計算パフォーマンスに影響を与える可能性があります。次の状況を慎重に検討してください。

  • SET CREATENONMISSINGBLKがONの場合、すべてのスパース・メンバー式はトップダウン・モードで実行されます。密メンバー式には、次のものが含まれている場合、トップダウン計算のフラグが立てられます。

    • スパース・メンバー

    • 定数(Sales = 100,000など)

    • @VAR

    • @XREF

  • Essbaseがメンバー式内で@CALCMODE(BOTTOMUP)を検出した場合、@CALCMODEは無視されます。

  • バッチ計算にトップダウン式が含まれていて、SET CREATENONMISSINGBLKがONの場合、インテリジェント計算はオフになります。計算スクリプトの範囲内では、クリーンまたはダーティのマークが付けられているかどうかに関係なく、すべてのブロックが計算されます。

  • 計算するブロックの数を減らすには、FIX...ENDFIXリージョン内でこのコマンドを使用します。警告として、潜在的なブロック数が2千万を超えると、Essbaseは、計算するブロック数を示し、FIX/ENDFIXの使用を推奨するエントリをアプリケーション・ログに書込みます。

  • 計算スクリプトで複数のSET CREATENONMISSINGBLKコマンドを使用でき、それぞれが後続の計算に影響します。ただし、一連のFIXおよびENDFIX文内でSET CREATENONMISSINGBLKが検出されるたびに、計算機がデータベースを循環し、計算パフォーマンスに影響を与える可能性があることを考慮してください。

構文

SET CREATENONMISSINGBLK ON|OFF;

パラメータ

ON

計算は、既存のブロックだけでなく、潜在的なブロックに対しても実行されます。計算結果が#MISSINGでない場合、ブロックは保存されます。「等式によるブロックの作成」設定は無視されます。

OFF

計算は、既存のブロックに対してのみ実行されます。これはデフォルトの設定です。

ノート

  • SET CREATENONMISSINGBLKは、新しいブロックの作成にのみ影響します。式の実行後に既存のブロックが#MISSINGになった場合、それらは削除されません。

  • SET CREATENONMISSINGBLKによって設定された値は、次のSET CREATENONMISSINGBLKが処理されるか、計算スクリプトが終了するまで有効です。

  • 計算スクリプトにSET CREATENONMISSINGBLK ONとSET MSG DETAILの両方が含まれている場合、保存されていない#MISSINGブロックはアプリケーション・ログに示されます。

  • SET MSGがSUMMARYに設定されている場合、SET CREATENONMISSINGBLKがONに設定されていると、Essbaseは、非#MISSINGブロックの作成が有効になっていることを示すエントリをアプリケーション・ログに書込みます。

  • SET MSGがSUMMARYに設定され、SET CREATENONMISSINGBLKがONに設定されている場合、計算の最後に、Essbaseは、作成されなかった#MISSINGブロックの総数を示すエントリをアプリケーション・ログに書込みます。

次の例は、Sample Basicのバリエーションに基づきます。ActualがメンバーであるScenarioディメンションがスパースであるとします。"Jan Rolling YTD Est"は、密な時間ディメンションであるYearのメンバーです。

FIX (Budget)
  SET MSG DETAIL;
  SET CREATENONMISSINGBLK ON;
  "Jan Rolling YTD Est"= (Jan->Actual+Feb+Mar+Apr+May+Jun+Jul+Aug+Sep+Oct+Nov+Dec);
ENDFIX

関連項目

SET CREATEBLOCKONEQ