データ・ブロック内のデータ・ストレージ

ブロック・ストレージ(BSO)キューブは、Essbaseによってデータ値がデータ・ブロックに格納されるため、そのように名前が付けられます。

Essbaseでは、疎ディメンション・メンバーの一意の空でない組合せごとに、保管済データ・ブロックが作成されます。「空でない」は、メンバーの組合せに少なくとも1つのデータ値が存在することを意味します。各データ・ブロックには、疎ディメンション・メンバーの一意の組合せに対するすべての密ディメンション・メンバーの値が含まれます。

Sample Basicデータベースでは、Year、MeasuresおよびScenariosディメンションは密で、ProductおよびMarketディメンションは疎です。次のイメージは、Sample Basicの標準ディメンションを含むアウトラインを示しています。

図19-1 Sample Basicの標準ディメンション


Sample Basicデータベースのすべての標準ディメンション(Year、Measures、Product、MarketおよびScenario)を含む縮小アウトライン。

ノート:

Sample Basicには、5つの属性ディメンションも含まれています。これらのディメンションは疎(動的計算)であり、つまり、属性データはデータベースに保管されません。

Essbaseでは、ProductおよびMarketディメンションのメンバーの一意の組合せごとに、データ・ブロックが作成されます(その組合せに対して1つ以上のデータ値が存在する場合)。たとえば、100-10、New Yorkの組合せに対して1つのデータ・ブロックが作成されます。このデータ・ブロックには、100-10、New YorkのYear、MeasuresおよびScenarioの値がすべて含まれます。次の画像は、Sample BasicのProductおよびMarketディメンションのアウトラインを示しています。

図19-2 Sample BasicのProductディメンションおよびMarketディメンション


ProductディメンションとMarketディメンションが部分的に展開されたEssbaseアウトライン。

Essbaseでは、メンバーの組合せはディメンション間演算子で示されます。ディメンション間演算子の記号は、-> (ハイフンと大なり記号)です。したがって、100-10、New Yorkは100-10 -> New Yorkと記述されます。

データ・ブロックは次の方法で分類できます。

  • 入力

    入力ブロックは、ブロック内のセルにデータをロードすることによって作成されます。少なくとも1つの疎メンバーが親レベルのメンバーである場合、(1)疎のレベル0メンバーの組合せ、または(2)疎の上位レベル・メンバーの組合せに対して入力ブロックを作成できます。入力ブロックはレベル0または上位レベルのブロックになります。

  • 非入力

    非入力ブロックは、計算によって作成されます。たとえば、Sample Basicでは、疎計算プロセスでEast -> Colaブロックが作成されます(つまり、このブロックは計算前には存在しませんでした)。

  • レベル0

    レベル0ブロックは、すべての疎メンバーがレベル0メンバーである場合に、疎メンバーの組合せに対して作成されます。たとえば、Sample Basicでは、New York -> Colaがそれぞれの疎ディメンションのレベル0メンバーであるため、New York -> Colaはレベル0ブロックです。レベル0ブロックは、入力ブロックでも非入力ブロックでもかまいません。たとえば、レベル0の非入力ブロックは、データが親レベルでロードされてからレベル0まで割り当てられる割当てプロセスで作成されます。

  • 上位レベル

    これらのブロックは、少なくとも1つの疎メンバーが親レベルのメンバーである場合に、疎メンバーの組合せに対して作成されます。上位レベル・ブロックは、入力ブロックでも非入力ブロックでもかまいません。