計算コマンドの使用

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

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

Essbaseアウトラインの計算

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

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

コマンド 計算

CALC ALL

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

CALC DIM

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

CALC TWOPASS

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

ノート:

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

membername

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

CALC AVERAGE

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

CALC FIRST

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

CALC LAST

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

CCONV

通貨換算

計算のフローの制御

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

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

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

コマンド 計算

FIX...ENDFIX

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

EXCLUDE...ENDEXCLUDE

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

LOOP...ENDLOOP

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

FIXPARALLEL...ENDFIXPARALLEL

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

IFENDIFのコマンドを使用して、条件付き計算を指定することもできます。

ノート:

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

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

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

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

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

コマンド 計算

ARRAY

1つのディメンションの配列変数を宣言

VAR

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

THREADVAR

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

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

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

  • 文字a–z

  • 数字0–9

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

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

ARRAY Discount[Scenario];

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

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

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

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

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

コマンド 計算

SET AGGMISSG

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

SET CACHE

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

SET CALCPARALLEL

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

SET CALCTASKDIMS

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

SET CLEARUPDATESTATUS

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

SET CREATEBLOCKONEQ

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

SET CREATENONMISSINGBLK

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

SET FRMLBOTTOMUP

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

SET MSG

SET NOTICE

SET TRACE

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

SET RUNTIMESUBVARS

計算スクリプトで使用されるランタイム代替変数を宣言します。「Essbaseでの計算スクリプト実行におけるランタイム代替変数」および「Smart Viewでの計算スクリプト実行におけるランタイム代替変数」を参照してください

SET UPDATECALC

高機能計算のオンまたはオフ

次の計算スクリプトでは、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;

関連項目

SETコマンド