計算コマンドの使用
Essbase計算コマンドは、ブロック・ストレージ・キューブのデータを柔軟に計算するのに役立ちます。アウトラインに基づいてデータを計算し、反復的またはパラレルに計算し、サブセットに制限し、変数を宣言するスクリプトを設計できます。計算スクリプト内から様々な機能の動作をカスタマイズできます。
この項のこのトピックでは、計算コマンドについて機能別にグループに分けて説明します。
Essbaseアウトラインの計算
次のEssbase計算コマンドは、アウトライン内の構造および式に基づいてブロック・ストレージ・キューブを計算します。
表23-1 キューブ・アウトラインを計算するためのコマンドのリスト
コマンド | 計算 |
---|---|
アウトラインに基づくキューブ全体 |
|
指定されたディメンション |
|
勘定科目としてタグ付けされたディメンションにおける、2パスとしてタグ付けされたすべてのメンバー ノート: ハイブリッド・モード・キューブでは、2パス計算を使用しないでください。解決順序のみを使用します。 |
|
membername |
キューブ・アウトラインのメンバーに適用される式(membernameは、式が適用されるメンバーの名前) |
勘定科目としてタグ付けされたディメンションにおける、平均としてタグ付けされたすべてのメンバー |
|
勘定科目としてタグ付されたディメンションにおける、期首としてタグ付けされたすべてのメンバー |
|
勘定科目としてタグ付けされたディメンションにおける、期末としてタグ付けされたすべてのメンバー |
|
通貨換算 |
計算のフローの制御
ブロック・ストレージEssbase計算スクリプトの制御フロー・コマンドは、計算の反復、パラレルでの計算またはキューブのサブセットへの計算の制限に役立ちます。
次のコマンドは、計算のフローを操作します。
表23-2 計算のフローを制御するコマンドのリスト
コマンド | 計算 |
---|---|
包含によってデータベースのサブセットを計算します |
|
除外によってデータベースのサブセットを計算します |
|
コマンドの繰返し回数を指定します |
|
コマンドのブロックに対する並列計算を有効にします |
IFとENDIFのコマンドを使用して、条件付き計算を指定することもできます。
ノート:
Essbaseでは、1つの計算スクリプトから別の計算スクリプトへの分岐はできません。
関連項目
計算中のデータ変数の宣言
データ宣言コマンドをEssbaseブロック・ストレージ計算スクリプトで使用し、中間計算の結果を保管する一時変数の初期値を宣言および設定します。
計算スクリプトでは、代替変数も使用できます。「計算スクリプトの代替変数」を参照してください。
表23-3 データ変数を宣言するためのコマンドのリスト
コマンド | 計算 |
---|---|
1つのディメンションの配列変数を宣言 |
|
単一の値を含む一時変数を宣言 |
|
FIXPARALLEL...ENDFIXPARALLELブロック内で使用可能な一時変数を宣言します。 |
一時変数に保管される値は、計算スクリプトの実行中にのみ存在します。一時変数の値についてはレポートできません。
変数および配列の名前は、次のいずれかの文字を含む文字列です。
-
文字a–z
-
数字0–9
-
特殊文字: $ (ドル記号)、# (シャープ記号)および_ (アンダースコア)
通常、配列はメンバー式の一部として変数を格納するために使用されます。配列変数のサイズは、対応するディメンションのメンバー数によって決まります。たとえば、Scenarioディメンションに4つのメンバーがある場合、次のコマンドによって、4つのエントリを持つDiscount
と呼ばれる配列が作成されます。
ARRAY Discount[Scenario];
一度に複数の配列を使用できます。
計算のグローバル設定の指定
Essbase計算スクリプトのSETコマンドは、ブロック・ストレージ計算の様々な機能面の動作の定義に役立ちます。最初に発生したSETコマンドは、スクリプトで次の同じSETコマンドが発生するまで有効です。
次のコマンドは、計算動作を定義します。
表23-4 計算動作を定義するためのコマンドのリスト
コマンド | 計算 |
---|---|
計算中のEssbaseでの#MISSING値の処理方法を指定します。 |
|
デフォルトの計算機キャッシュ・サイズを調整します。「Essbaseキャッシュおよび計算パフォーマンス」を参照してください。 |
|
並列計算を有効にします。「CALCPARALLEL並列計算の有効化」を参照してください。 |
|
並列計算のタスクの特定に使用するディメンションの数を増やします。「並列計算の追加タスクの特定」を参照してください。 |
|
高機能計算のデータ・ブロックをEssbaseでマークする方法を制御します。「SET CLEARUPDATESTATUSコマンド」を参照してください。 |
|
疎ディメンションのメンバーに非定数値を割り当てる際のブロックの作成を制御する「等式にブロックを作成」設定をオンおよびオフにします。「疎ディメンションのメンバーに割り当てられる非定数値」を参照してください。 |
|
潜在的なデータ・ブロックでの計算を有効にし、結果が#MISSINGでない場合に、これらのブロックを保存します。 |
|
大規模なデータベース・アウトラインの中の疎ディメンションの式の計算を最適化します。「大きなアウトライン内の疎ディメンションの式」を参照してください。 |
|
計算をモニターおよびトレースするメッセージを表示します。 |
|
計算スクリプトで使用されるランタイム代替変数を宣言します。「Essbaseでの計算スクリプト実行におけるランタイム代替変数」および「Smart Viewでの計算スクリプト実行におけるランタイム代替変数」を参照してください |
|
次の計算スクリプトでは、EssbaseでYearディメンションを計算するときに詳細レベルのメッセージ(SET MSG DETAIL;
)が表示され、Measuresディメンションを計算するときに要約レベルのメッセージ(SET MSG SUMMARY;
)が表示されます。
SET MSG DETAIL;
CALC DIM(Year);
SET MSG SUMMARY;
CALC DIM(Measures);
SET計算コマンドの中には、データベースを介して追加パスをトリガーするものがあります。
次の計算スクリプトでは、EssbaseでQtr1とSET AGGMISSGオンのメンバーの組合せを計算し、次にデータベースを介して2回目の計算パスを行い、EastとSET AGGMISSGオフのメンバーの組合せを計算します。
SET AGGMISSG ON;
Qtr1;
SET AGGMISSG OFF;
East;
関連項目