データの計算

Essbaseにおけるデータの計算とは、データベース・アウトラインで定義された階層および式(デフォルト計算)、または計算スクリプトに含まれている式を使用してデータベースの一部または全部を集計することを意味しています。

一般的な計算操作のフローチャート。BeginCalc、1つ以上のSendString、Endcalcの順。次に、1つ以上のGetProcessState、Calc、CalcfileまたはDefaultcalcの順。

計算関数の制御フロー

デフォルト計算はデータベースに保管されており、EsxDefaultCalc()を呼び出して実行します。デフォルト計算に使用されているスクリプトを入手および設定するには、EsxGetDefaultCalc()と、EsxSetDefaultCalc()またはEsxSetDefaultCalcFile()を使用します。

レポートと同様に、計算には次の3つの方法があります:

Essbaseにおける計算は非同期の操作で、該当する計算関数を呼び出すと、APIが計算の終了を待たずに、呼出し元にすぐ戻ります(たとえばレポートの実行とは異なります)。計算の完了には時間がかかることもあるため(数時間かかることも多い)、Essbaseでは非同期に計算を行っています。したがって、計算開始後は、計算が終了したかどうかをプログラムに定期的に確認させる必要があります(EsxGetProcessState()の呼出しによって行います)。

最も簡単な確認方法は、システム・タイマーを設定して、頻繁に(5から10秒程度)プロセスをウェイク・アップし、計算のステータスを確認する方法です。計算中はプログラム内で別な操作を行えますが、同じコンテキスト・ハンドルを使用してEssbase APIへの関数呼出しを行うことはできません。

これらの関数の詳細な説明は、EssCalcEssBeginCalcEssCalcFileEsbCalcEsbBeginCalc、およびEsbCalcFileを参照してください。

APIライブラリを参照してください。