SET CREATEBLOCKONEQ
計算スクリプト内で、計算式によって定数以外のものが疎ディメンションのメンバーに割り当てられたときに新しいブロックを作成するかどうかを制御します。 SET CREATEBLOCKONEQは、データベースの等式のブロックの作成設定をオーバーライドします。
構文
SET CREATEBLOCKONEQ ON|OFF;
パラメータ
ノート
計算の結果、ブロックが存在しない疎ディメンション・メンバーの値が生成された場合、Essbaseはブロックを作成します。 他の値を含まない場合など、新しいブロックが不要な場合もあります。 大規模なデータベースで、不要なブロックの作成および処理を行うと、処理時間とストレージ要件が増加します。
等式のブロックを作成設定は、疎ディメンションのメンバーに定数以外のものを割り当てた結果としてブロックが作成される状況を想定しています。 たとえば、等式のブロックを作成がオンで、Westに値が割り当てられていない場合、新しいブロックが作成されます。 この設定がOFFの場合、ブロックは作成されません。
等式にブロックを作成設定はデータベース・プロパティです。 初期値はOFFです。疎ディメンション・メンバーに定数以外が割り当てられている場合、ブロックは作成されません。
特定の制御用に、計算スクリプト内でSET CREATEBLOCKONEQ計算コマンドを使用して、コマンドがスクリプトで実行されたときにブロックの作成を制御できます。 SET CREATEBLOCKONEQの使用には、次の特性があります:
-
Essbaseが計算スクリプト内でSET CREATEBLOCKONEQを検出すると、データベース・レベルの設定は無視されます。
-
計算スクリプトで複数のSET CREATEBLOCKONEQコマンドを使用して、各コマンドの後に続く計算の等式にブロックを作成設定値を定義できます。
-
SET CREATEBLOCKONEQコマンドによって設定された値は、次のSET CREATEBLOCKONEQコマンドが処理されるか、計算スクリプトが終了するまで有効です。
-
等式のブロックの作成設定は、SET CREATENONMISSINGBLK ONによってオーバーライドされます。
-
SET CREATEBLOCKONEQコマンドは、データベース・レベルの等式のブロックの作成プロパティを変更しません。
-
SET CREATEBLOCKONEQコマンドが検出されない場合、Essbaseはデータベース・レベルの設定を使用して、ブロックを作成するかどうかを判断します。
等式のブロックの作成設定がオンの場合、Essbaseはトップダウン計算メソッドを使用して各疎メンバーを計算します。
Essbaseが疎ディメンションのメンバーに定数を割り当てる場合、等式のブロックの作成設定は参照されません。 次の表に、定数または非定数が割り当てられている疎メンバーの計算例を示します。
表3-4 疎メンバーの計算での定数および定数以外の割当ての例
割り当てられた値 | 疎メンバー式の例 | 新規ブロックが作成されましたか。 |
---|---|---|
定数 | West = 350 |
はい |
Non-constant | West = California + 120 |
はい(方程式のブロックの作成設定がオンの場合)。 Otherwise, no. |
Non-constant | West = California * 1.05 |
はい(方程式のブロックの作成設定がオンの場合)。 Otherwise, no. |
非定数および疎ディメンションを使用する場合のブロックの作成の制御のヒントは、「疎ディメンションのメンバーに割り当てられた非定数値」を参照してください。
例
例 1
次の例は、Sample.Basicに基づいています。 データは1つのブロックに対してのみロードされます: (“100-10”, “New York”)
。
SET MSG SUMMARY;
SET CREATEBLOCKONEQ OFF;
"300-10" = "100-10" + 100000;
この計算により、ブロック
("300-10", "New York")
が作成されます。 エクスポート時に、データベースは2つのブロックをエクスポート: ロードされたブロックと新しいブロック。 計算がボトムアップで実行されます。
例 2
次の例は、Sample.Basicに基づいています。 データは1つのブロックに対してのみロードされます: (“100-10”, “New York”)
。
SET MSG SUMMARY;
SET CREATEBLOCKONEQ ON;
"300-10" = "100-10" + 100000;
この計算では25個の新規ブロックが作成されます:
300-10
は、Marketディメンションの25の保管済メンバーと交差しています。 エクスポート時に、データベースは26ブロックをエクスポート: ロードされたブロック、および25個の新しいブロック。 計算はトップダウンで実行されます。
例1と例2の比較
例1では、計算スクリプト・ライターが次の行を使用してブロック作成をOFFにすることを希望している場合があります:
SET CREATEBLOCKONEQ OFF;
ただし、代入文を実行するには、計算スクリプトで少なくとも1つの依存ブロックを作成する必要があります。
SET CREATEBLOCKONEQ OFFは、計算に依存ブロックが必要な場合にブロック作成をミュートしませんが、無関係なブロック作成をミュートします。
例1の場合、EssbaseではProductディメンションとMarketディメンションを横断するブロックの作成が回避されます。 例2では、これらの余分なブロックが作成されます。