データベース計算について
データベースには、次の2つのタイプの値が含まれます:
-
入力する値。「入力データ」と呼ばれます
-
入力データから計算される値
例:
-
様々な製品のリージョン販売高を入力します。 それぞれの販売合計を計算します。
-
複数のリージョンの複数の製品について、売上原価の予算値と実績値を入力します。 各リージョンの各製品の予算値と実績値の差異を計算します。
-
データベースには、すべての製品のリージョンの販売高と価格が含まれます。 1つのリージョンの1つの製品の価格を5%上げると、利益合計はどうなりますか。
オペレーティング・システムの数学ライブラリの違いにより、異なるプラットフォームで実行される計算間でセル値の精度がわずかに異なる場合があります。
ノート:
ほとんどのコンピュータはバイナリで数値を表すため、実数のみを表すことができます。 バイナリ・コンピュータでは小数点以下に無限のビット数を保持できないため、1/3 (0.3333...)などの数値の小数を終了点を持つ小数として表すことはできません。 正確に表現できる実数は、2の累乗の分母(0.50など)または10の分数(0.10)のみです。 浮動小数点表現(IEEE、1985)については、IEEE Standard 754を参照してください。
Essbaseには、データベースを計算するための次の2つのメソッドがあります:
-
アウトライン計算
-
計算スクリプトの計算
選択するメソッドは、実行する計算のタイプによって異なります。
アウトライン計算
アウトライン計算は、最も単純な計算メソッドです。 Essbaseは、データベース・アウトラインのメンバー間の関係と、アウトラインのメンバーに関連付けられた式に基づいてデータベースの計算を行います。
たとえば、次の図は、Sample.BasicデータベースのMarketディメンションのメンバー間の関係を示しています。 New York、Massachusetts、Florida、ConnecticutおよびNew Hampshireの値が追加され、Eastの値が計算されます。 East、West、SouthおよびCentralの値が加算され、Marketの合計値が計算されます。
図17-1 Marketディメンションのメンバー間の関係

Marketの子メンバーが親値を取得するaddedである理由は、「メンバー集計演算子」が(+)に設定されているためです。
次の図は、Sample.BasicデータベースのScenarioディメンションを示しています。 差異および差異%メンバーは、アタッチされている式を使用して計算されます。
図17-2 差異および差異%の計算

通常のデータベース計算中にメンバーの組合せを計算するよりも、データを取得するときに一部のメンバーの組合せを計算する方が効率的な場合があります。 動的計算を使用して、取得時にデータを計算できます。 「データ値の動的計算」を参照してください。
計算スクリプトの計算
計算スクリプトの計算は、2番目の計算メソッドです。 計算スクリプトを使用すると、データベースの計算方法を正確に選択できます。 たとえば、データベースの一部を計算したり、メンバー間でデータ値をコピーできます。
計算スクリプトには、一連の計算コマンド、等式および式が含まれています。 たとえば、次の計算スクリプトでは、New Yorkリージョンの実際のマーケティング費用が5%増加します。
FIX (Actual, “New York”)
Marketing = Marketing *1.05;
ENDFIX;
「ブロック・ストレージ・データベース用の計算スクリプトの開発」を参照してください。