この章の情報は、ブロック・ストレージ・データベースのみに適用され、集約ストレージ・データベースとは関係がありません。
関連項目:
ユーザーが入力する値(入力データ)
入力データから計算される値
異なるプラットフォームで計算を実行すると、オペレーティング・システムの数理ライブラリの相違により、セルの値の精度に微妙な差異が発生する場合があります。
Essbaseでは、次の2通りの方法でデータベースを計算できます:
どちらを選択するかは、実行する計算のタイプによって異なります。
アウトライン計算は、最も単純化された計算方法です。Essbaseでは、データベース・アウトラインにおけるメンバー間の関係、およびアウトラインにおけるメンバーに関連付けられている任意の式に基づいて、データベースの計算が行われます。
たとえば、図106は、Sample.Basicデータベースの市場次元のメンバー間の関係を示しています。New York、Massachusetts、Florida、ConnecticutおよびNew Hampshireの値の合計がEastの値になります。East、West、SouthおよびCentralの合計が市場次元の合計値になります。
図107は、Sample.Basicデータベースのシナリオ次元を示しています。VarianceメンバーとVariance%メンバーは、それぞれに付加された式から計算されます。
メンバーの組合せは、通常のデータベース計算時に計算するのではなく、データの取得時に計算した方が効率がよいことがあります。動的計算を使用して、取得時にデータを計算できます。データ値の動的計算。を参照してください。
計算スクリプトの計算は、2番目の計算方法です。計算スクリプトを使用すると、データベースの計算方法を厳密に選択できます。たとえば、データベースの一部を計算したり、メンバー間でデータ値をコピーしたりできます。
計算スクリプトには、一連の計算コマンド、等式および式が含まれています。たとえば、次の計算スクリプトは、ニューヨーク地区のマーケティング・コストの実績値を5%増やします。
FIX (Actual, “New York”) Marketing = Marketing *1.05; ENDFIX;
ブロック・ストレージ・データベース用の計算スクリプトの作成。を参照してください。
図108は、単純なデータベースを使用して、多次元計算の性質を説明しています:
このデータベースには、勘定科目、時間およびシナリオの3つの次元があります。
時間次元には4つの四半期が含まれます。この例では、第1四半期(Qtr1)のメンバーであるJan、FebおよびMarのみが表示されています。
シナリオ次元には2つの子メンバーがあります。つまり、予定値を示すBudgetおよび実績値を示すActualです。
図108のアウトラインは、図109で3次元キューブとして図示されています:
メンバーの交差部(各次元の1つのメンバー)はデータ値を表しており、データ値はデータベース内の1つのセルに保管されます。多次元データベース内の特定のデータ値を参照するには、各次元でそれぞれのメンバーを指定する必要があります。Essbaseでは、メンバーの組合せは次元間演算子(->)によって示されます。ハイフン(-)と大なり記号(>)を使用して、次元間演算子を作成します。次元間演算子とメンバーの間にはスペースを入力しないでください。
Sales、Jan、Actualのデータ値が含まれている単一のセルは、図110に示すように、Sales -> Jan -> Actualとして記述されます。
図111に示すように、Salesを参照するときは、次の8つの値を含むデータベースのスライスを参照することになります:
Sales -> Jan -> Actual
Sales -> Feb -> Actual
Sales -> Mar -> Actual
Sales -> Qtr1 -> Actual
Sales -> Jan -> Budget
Sales -> Feb -> Budget
Sales -> Mar -> Budget
Sales -> Qtr1 -> Budget
図112に示すように、Actual Salesを参照するときは、次の4つの値を参照することになります:
Sales -> Jan -> Actual
Sales -> Feb -> Actual
Sales -> Mar -> Actual
Sales -> Qtr1 -> Actual
Essbaseで式「Margin% = Margin % Sales」を計算するときは、各Marginの値が取得されて、対応するSales値のパーセントとして計算されます。
Essbaseでは、データベース内が循環され、Margin%は次のように計算されます:
Margin -> Jan -> ActualはSales -> Jan -> Actualのパーセンテージとして計算されます。
結果はMargin% -> Jan -> Actualに配置されます。
Margin -> Feb -> ActualはSales -> Feb -> Actualのパーセンテージとして計算されます。
結果はMargin% -> Feb -> Actualに配置されます。
Margin -> Mar -> ActualはSales -> Mar -> Actualのパーセンテージとして計算されます。
結果はMargin% -> Mar -> Actualに配置されます。
Margin -> Qtr1 -> ActualはSales -> Qtr1 -> Actualのパーセンテージとして計算されます。
結果はMargin% -> Qtr1 -> Actualに配置されます。
Margin -> Jan -> BudgetはSales -> Jan -> Budgetのパーセンテージとして計算されます。
結果はMargin% -> Jan -> Budgetに配置されます。
Essbaseでは、データベース内のメンバーのあらゆる組合せに対するMargin%の計算が終わるまで、データベース内を循環します。
計算順序の定義。を参照してください。
デフォルトでは、データベースの計算はデータベース・アウトラインのCALC ALLになります。CALC ALLは、すべての次元およびメンバーを集計し、アウトライン内のすべての式を計算します。
ただし、任意の計算スクリプトをデフォルトのデータベース計算として指定することもできます。たとえば、計算を実行するたびにスクリプトをロードするのではなく、よく使用するスクリプトをデータベースに割り当てることができます。データベース・レベルで定義した計算設定で計算スクリプトを使用する場合は、この計算スクリプトをデフォルトの計算として設定する必要があります。
Administration Servicesを使用してデータベースを計算するときには、計算をバックグラウンドで実行できるので、計算の処理中でも作業を続けることができます。バックグラウンド・プロセスのステータスを確認して、いつ計算が完了したかを確認できます。
計算を取り消すと、Essbaseにより、次のいずれかの操作が実行されます:
Essbaseでの取消しの処理方法は、Essbaseのカーネルの分離レベル設定によって異なります。分離レベルの理解を参照してください。
Essbaseでは、並列計算とシリアル計算がサポートされます:
シリアル計算(デフォルト): 計算のすべての手順を単一のスレッドで実行します。各タスクが完了してから次のタスクが開始されます。
並列計算: Essbaseの計算機では計算を分析できます。さらに、場合によっては複数のCPU(最大4つ)にタスクを割り当てることもできます。
並列計算の使用を参照してください。
データベースを計算するには、データベース・アウトラインの計算権限が必要です。計算権限があれば、データベース内のあらゆる値を計算できます。セキュリティ・フィルタによって読取りおよび更新権限が禁止されている場合でも値を計算できます。ユーザーに計算権限を付与するかどうかは慎重に決定してください。
EPM Systemセキュリティ・モードでのユーザーの管理およびセキュリティ。を参照してください。