計算コマンドの使用

Essbase計算コマンドは、ブロック・ストレージ・キューブのデータを柔軟に計算するのに役立ちます。アウトラインに基づいてデータを計算し、反復的または並列的に計算し、サブセットに制限し、変数を宣言するスクリプトを設計できます。計算スクリプト内から様々な機能の動作をカスタマイズできます。

この項のこのトピックでは、計算コマンドについて機能別にグループに分けて説明します。

Essbaseアウトラインの計算

次のEssbase計算コマンドは、アウトライン内の構造および式に基づいてブロック・ストレージ・キューブを計算します。

表23-1キューブ・アウトラインを計算するためのコマンドのリスト

コマンド 計算

すべて計算

アウトラインに基づくキューブ全体

CALC DIM

指定されたディメンション

計算ツオパス

勘定科目としてタグ付けされたディメンションにおける、2パスとしてタグ付けされたすべてのメンバー

ノート:

ハイブリッド・モード・キューブでは2パス計算を使用しないでください。解決順のみを使用します。

membername

キューブ・アウトラインのメンバーに適用されるformula(membernameは、式が適用されるメンバーの名前)

CALC AVERAGE

勘定科目としてタグ付けされたディメンションにおける、平均としてタグ付けされたすべてのメンバー

CALC FIRST

勘定科目としてタグ付されたディメンションにおける、期首としてタグ付けされたすべてのメンバー

CALC LAST

勘定科目としてタグ付けされたディメンションにおける、期末としてタグ付けされたすべてのメンバー

CCONV

通貨変換

計算のフローの制御

ブロック・ストレージのEssbase計算スクリプトの制御フロー・コマンドは、計算の反復、パラレルでの計算、またはキューブのサブセットへの計算の制限に役立ちます。

次のコマンドは、計算のフローを操作します。

表23-2計算のフローを制御するコマンドのリスト

コマンド 計算

修正...修正

包含によってデータベースのサブセットを計算します

EXCLUDE...ENDEXCLUDE

除外によってデータベースのサブセットを計算します

LOOP...ENDLOOP

コマンドの繰返し回数を指定します

FIXPARALLEL...ENDFIXPARALLEL

コマンドのブロックに対する並列計算を有効にします

IFおよびENDIFコマンドを使用して、条件付き計算を指定することもできます。

ノート:

Essbaseでは、1つの計算スクリプトから別の計算スクリプトへの分岐はできません。

計算中のデータ変数の宣言

Essbaseブロック・ストレージ計算スクリプトのデータ宣言コマンドを使用して、中間計算の結果を格納する一時変数の初期値を宣言および設定します。

計算スクリプトでは、代替変数も使用できます。計算スクリプトでの代替変数の使用を参照してください。

表23-3データ変数を宣言するためのコマンドのリスト

コマンド 計算

配列

1次元配列変数の宣言

VAR

単一の値を含む一時変数を宣言

スレッド変数

FIXPARALLEL...ENDFIXPARALLELブロック内で使用可能な一時変数を宣言します。

一時変数に保管される値は、計算スクリプトの実行中にのみ存在します。一時変数の値についてはレポートできません。

変数および配列の名前は、次のいずれかの文字を含む文字列です。

  • 小文字のaからz

  • 数値0–9

  • 特殊文字: $ (ドル記号)、# (シャープ記号)および_ (アンダースコア)

通常、配列は、メンバー式の一部として変数を格納するために使用されます。配列変数のサイズは、対応する次元のメンバー数によって決まります。たとえば、Scenarioディメンションに4つのメンバーがある場合、次のコマンドによって、4つのエントリを持つDiscountと呼ばれる配列が作成されます。

ARRAY Discount[Scenario];

一度に複数の配列を使用できます。

計算のグローバル設定の指定

Essbase計算スクリプトのSETコマンドは、ブロック・ストレージ計算の様々な機能面の動作を定義するのに役立ちます。SETコマンドで最初に発生したSETコマンドは、同じSETコマンドが次に発生するまで有効です。

次のコマンドは、計算動作を定義します。

表23-4計算動作を定義するためのコマンドのリスト

コマンド 計算

AGGMISSGの設定

計算中のEssbaseでの#MISSING値の処理方法を指定します。

キャッシュを設定

デフォルトの計算機キャッシュ・サイズを調整します。「Essbaseキャッシュおよび計算パフォーマンス」を参照してください。

計算並列の設定

並列計算を有効にします。「CALCPARALLEL並列計算の有効化」を参照してください。

CALCTASKDIMSの設定

並列計算のタスクの特定に使用するディメンションの数を増やします。「パラレル計算の追加タスクの識別」を参照してください。

SET CLEARUPDATESTATUS

高機能計算のデータ・ブロックをEssbaseでマークする方法を制御します。「SET CLEARUPDATESTATUSコマンド」を参照してください。

SET CREATEBLOCKONEQ

疎ディメンションのメンバーに非定数値を割り当てる際のブロックの作成を制御する「等式にブロックを作成」設定をオンおよびオフにします。「疎ディメンションのメンバーに割り当てられる不定数値」を参照。

CREATENONMISSINGBLKの設定

潜在的なデータ・ブロックでの計算を有効にし、結果が#MISSINGでない場合に、これらのブロックを保存します。

FRMLBOTTOMUPの設定

大規模なデータベース・アウトラインの中の疎ディメンションの式の計算を最適化します。「ラージ・アウトラインの疎ディメンションの式」を参照してください。

メッセージの設定

通知の設定

SET TRACE

計算をモニターおよびトレースするメッセージを表示します。

SET RUNTIMESUBVARS

計算スクリプトで使用するランタイム代替変数を申告します。Essbaseにおける計算スクリプト実行でのランタイム代替変数の使用およびSmart Viewでの計算スクリプト実行でのランタイム代替変数の使用を参照

アップデカルの設定

高機能計算をオンまたはオフにする

次の計算スクリプトでは、EssbaseでYearディメンションを計算するときに詳細レベルのメッセージ(SET MSG DETAIL;)が表示され、Measuresディメンションを計算するときに要約レベルのメッセージ(SET MSG SUMMARY;)が表示されます。

SET MSG DETAIL;
CALC DIM(Year);

SET MSG SUMMARY;

CALC DIM(測定);

SET計算コマンドの中には、データベースを介して追加パスをトリガーするものがあります。

次の計算スクリプトでは、EssbaseでQtr1とSET AGGMISSGオンのメンバーの組合せを計算し、次にデータベースを介して2回目の計算パスを行い、EastとSET AGGMISSGオフのメンバーの組合せを計算します。

SET AGGMISSG ON;
Qtr1;
SET AGGMISSG OFF;
East;