マルチディメンショナル計算の概念

Essbaseデータベースには複数のディメンションがあるため、キューブとして概念化されます。各データ値は、すべてのディメンションを含む交差であるため、"マルチディメンショナル"です。スライスはデータ値の選択であり、マルチディメンショナルでもあります。

簡略化されたEssbaseデータベースのアウトラインについて考えてみます。このデータベースには、Accounts、TimeおよびScenarioの3つのディメンションがあります。

図16-3 マルチディメンショナル・データベースの計算


Accounts、TimeおよびScenarioのディメンションを示す3ディメンショナルEssbaseアウトライン。

Accountsディメンションには、次の4つのメンバーがあります。

  • 入力値であるSalesとCOGS

  • Margin = Sales - COGS。

  • Margin% = Margin % Sales (SalesのパーセンテージとしてのMargin)

Timeディメンションには4つの四半期があります。Qtr1のメンバーはJan、FebおよびMarで、Qtr2のメンバーはApr、May、Junなどです。

Scenarioディメンションには、財務予算値の"Budget"と財務の実際の値の"Actual"の2つの子メンバーがあります。

3ディメンショナル・アウトラインは、3ディメンショナル・キューブに例えることができます。

図16-4 3ディメンショナル・データベースの図


3つのディメンションを持つキューブ。

メンバーの交差部(各ディメンションの1つのメンバー)はデータ値を表します。データ値はデータベース内の1つのセルに保管されます。マルチディメンショナル・データベース内の特定のデータ値を参照するには、各ディメンションでそれぞれのメンバーを指定する必要があります。

Essbaseでは、メンバーの組合せはディメンション間演算子(->)で示されます。ディメンション間演算子は、ハイフン(-)と大なり記号(>)を使用して作成します。ディメンション間演算子とメンバーの間にはスペースを入れないでください。

Sales、Jan、Actualのデータ値を含む単一のセルは、Sales -> Jan -> Actualと記述されます。

図16-5 データベースのSales、Jan、Actualスライス


単一のセルが強調表示されたキューブの図。

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

図16-6 データベースのSales、Actual、Budgetスライス


8つの値を含むスライスを強調表示するキューブ。

Actual Salesについては、次の4つの値を参照します:

  • Sales -> Jan -> Actual

  • Sales -> Feb -> Actual

  • Sales -> Mar -> Actual

  • Sales -> Qtr1 -> Actual

図16-7 データベースのActual、Salesスライス


4つの値を含むスライスを強調表示するキューブ。

Essbaseが式"Margin% = Margin % Sales"を計算する場合、各Margin値を取得し、対応するSales値のパーセンテージとして計算します。

Essbaseはデータベースを一巡して次のようにMargin%を計算します。

  1. Margin -> Jan -> ActualをSales -> Jan -> Actualのパーセンテージとして計算します。

    結果はMargin% -> Jan -> Actualに配置されます。

  2. Margin -> Feb -> ActualをSales -> Feb -> Actualのパーセンテージとして計算します。

    結果はMargin% -> Feb -> Actualに配置されます。

  3. Margin -> Mar -> ActualをSales -> Mar -> Actualのパーセンテージとして計算します。

    結果はMargin% -> Mar -> Actualに配置されます。

  4. Margin -> Qtr1 -> ActualをSales -> Qtr1 -> Actualのパーセンテージとして計算します。

    結果はMargin% -> Qtr1 -> Actualに配置されます。

  5. Margin -> Jan -> BudgetをSales -> Jan -> Budgetのパーセンテージとして計算します。

    結果はMargin% -> Jan -> Budgetに配置されます。

  6. Essbaseは、データベース内のメンバーのすべての組合せに対するMargin%の計算が終わるまで、データベース全体で処理を繰り返します。

「ブロック・ストレージ・データベースの計算順序」を参照してください。