計算パス
可能なかぎり、Essbaseはブロック・ストレージ・データベースを1つの計算パスで計算します。場合によっては、Essbaseによって、複数のパスを実行する必要があります。
通常、Essbaseは1つの計算パススルーでBSOキューブを計算し、必要な各データ・ブロックは1回のみメモリーに読み取られ、計算および保存されます。ただし、状況によっては、Essbaseで複数の計算パスを実行することが必要になる場合があります。後続のパスで、Essbaseによってデータ・ブロックがメモリーに戻され、そのデータ・ブロックに対してさらに計算が実行されて、再度保存されます。
データベースのデフォルトのフル計算(CALC ALL)を実行すると、Essbaseによって、1つのパスでのデータベースの計算が試行されます。勘定科目または時間としてタグ付けされたディメンションがある場合は、Essbaseによって、データベース内で複数の計算パスを実行する必要がある場合があります。
次の表は、時間または勘定科目としてタグ付けされたディメンションがあり、勘定科目ディメンションに対する式が少なくとも1つある場合にEssbaseで実行される計算パスの数を示しています。
表19-11 勘定科目ディメンションおよび時間ディメンションの計算パス
勘定科目としてタグ付けされたディメンション | 時間としてタグ付けされたディメンション | 計算パス | 各計算パスにおける、Essbaseの計算のベース: |
---|---|---|---|
密または疎 |
なし |
1 |
すべてのディメンション |
密 |
密 |
1 |
すべてのディメンション |
密 |
疎 |
2 |
パス1: 勘定科目ディメンションおよび時間ディメンション パス2: その他のディメンション |
疎 |
疎 |
2 |
パス1: 勘定科目ディメンションおよび時間ディメンション パス2: その他のディメンション |
疎 |
密 |
2 |
パス1: 勘定科目ディメンション パス2: その他のディメンション |
2パスとしてタグ付けされた式を使用している場合は、Essbaseで追加の計算パスを実行して、これらの式を計算する必要がある場合があります。
計算スクリプトを使用してデータベースを計算する場合、Essbaseで実行する必要がある計算パスの数は、計算スクリプトによって決まります。
Essbaseは、アプリケーション・ログに、各パスのディメンションの計算順序と、キューブが実行されるサイクル数を記録します。
ブロックごとに、Essbaseは、ブロック内の値のタイプに応じて、密計算を実行するか疎計算を実行するかを決定します。デフォルトの計算(CALC ALL)を実行すると、各ブロックはブロック番号に従って順番に処理されます。
Essbaseでは、次の手順を使用してブロックが計算されます。
-
高機能計算をオンにしていて、ブロックを計算する必要がない場合(ブロックがクリーンとしてマークされている場合)、Essbaseでそのブロックがスキップされて、次のブロックに移動します。
-
ブロックを再計算する必要がある場合、Essbaseで、そのブロックがレベル0か、入力か、上位レベル・ブロックかが確認されます。
-
ブロックがレベル0のブロックまたは入力ブロックの場合、Essbaseでブロックの密の計算が実行されます。ブロックの各セルが計算されます。
-
ブロックが上位レベル・ブロックの場合、Essbaseで、ブロックに対して値の集計または疎の計算が実行されます。
各上位レベル・ブロックの疎メンバーの組合せには、少なくとも1つの親メンバーが含まれます。Essbaseで、親メンバーのディメンションに基づいてブロックが集計または計算されます。たとえば、上位レベル・ブロックがSample.BasicデータベースのProduct -> Floridaに関するものである場合、EssbaseによってProductディメンションが選択されます。
ブロックの疎メンバーの組合せに複数の親メンバーがある場合、Essbaseによって、親メンバーを含む計算順序の最終ディメンションが選択されます。たとえば、ブロックがProduct -> Eastに関するものであり、Sample.Basicデータベースでデフォルトの計算を実行する場合、Essbaseによって、Eastを含むMarketディメンションが選択されます。Marketディメンションは、データベース・アウトラインでProductディメンションの後に配置されているため、デフォルトの計算順序では最後になります。メンバーの計算順序を参照してください。
選択された疎ディメンションに基づいて、Essbaseで、ブロックに対して値の集計または疎の計算が実行されます:
-
選択された疎ディメンションのブロック・メンバーに式が適用される場合は、Essbaseで、疎ディメンションに対して式の計算が実行されます。Essbaseにより、ブロック内の各セルが評価されます。式は、疎ディメンションのメンバーにのみ影響するため、計算パフォーマンス全体に大きな影響はありません。
-
選択された疎ディメンションがデフォルトの集計である場合、Essbaseで、以前に計算された子のブロックの値を取得して、値が集計されます。
-