この章の情報は、ブロック・ストレージ・データベースのみに適用され、集約ストレージ・データベースとは関係がありません。
関連項目:
Essbaseでは、データ値はデータ・ブロック内に保管されます。Essbaseでは、疎次元メンバーの一意の組合せごとに、1データ・ブロックが作成されます(ただし、その組合せに対して、1つ以上のデータ値が存在する場合に限ります)。
各データ・ブロックには、疎次元メンバーの一意の組合せに対するすべての密次元メンバーの値が含まれます。
Sample.Basicデータベース内の年次元、メジャー次元およびシナリオ次元は密次元、製品次元と市場次元は疎次元です。図116は、Sample.Basicデータベース内の次元のアウトラインを示しています:
Sample.Basicには、5つの属性次元も含まれます。これらの次元は疎な動的計算次元です。つまり、その属性データはデータベースに保管されません。属性の操作。を参照してください。 |
Essbaseでは、製品次元と市場次元の一意のメンバーの組合せごとにデータ・ブロックが1つ作成されます(ただし、その組合せに対して、1つ以上のデータ値が存在する場合にかぎります)。たとえば、100-10, New Yorkの組合せに対して1つのデータ・ブロックが作成されます。このデータ・ブロックには、100-10, New Yorkの年次元、メジャー次元およびシナリオ次元の値がすべて含まれます。図117は、Sample.Basicデータベースの「Product」次元と「Market」次元のアウトラインを示しています:
Essbaseでは、メンバーの組合せは次元間演算子で示されます。次元間演算子の記号は->(ハイフンと大なり記号)です。このため、100-10, New Yorkは100-10 -> New Yorkと記述します。
これらのブロックは、任意のブロック内のセルにデータをロードすることによって作成されます。少なくとも1つの疎メンバーが親レベルのメンバーに存在する場合、(1)疎なレベル0メンバーの組合せ、または(2)疎な上位レベル・メンバーの組合せに対して入力ブロックを作成できます。入力ブロックはレベル0または上位レベル・ブロックになります。
これらのブロックは、計算によって作成されます。たとえばSample.Basicでは、疎な計算プロセスでEast -> Colaブロックが作成されます(つまり、このブロックは計算前は存在していなかったことになります)。
これらのブロックは、すべての疎メンバーがレベル0メンバーであるとき、疎メンバーの組合せに対して作成されます。たとえばSample.Basicで、New York -> Colaはレベル0ブロックです。これは、New YorkとColaがそれぞれの疎次元のレベル0メンバーであるためです。レベル0ブロックは、入力ブロックでも非入力ブロックでもかまいません。たとえば、レベル0の非入力ブロックは、親レベルでデータをロードした後、レベル0までデータを割り当てる割当てプロセスで作成されます。
これらのブロックは、少なくとも1つの疎メンバーが親レベルのメンバーに存在する場合に、疎メンバーの組合せに対して作成されます。上位レベル・ブロックは、入力ブロックでも非入力ブロックでもかまいません。
世代とレベルおよびデータ・ブロックおよびインデックス・システムを参照してください。
Essbaseでは、データ・ブロック・レベルでデータベースの計算が行われます。その際、1つ以上のブロックがメモリーに収容され、ブロック内の要求された値が計算されます。ブロックの計算は、ブロック番号に従って順番に行われます。データベース・アウトラインで、ブロックの順序をEssbaseに指示します。各ブロック内では、データベース・アウトライン内の階層の順序で値が計算されます。したがって、Essbaseでは全体的に、データベース・アウトラインに基づいてデータベースの計算が行われます。
データベース上でデフォルト計算(CALC ALL)を実行する場合、Essbaseでは、次の順序で次元が計算されます:
勘定科目タグが付けられた次元と時間タグが付けられた次元がどちらも存在し、会計次元上のメンバーに式が適用される場合、Essbaseでは次の順序で計算が行われます:
それ以外の場合、Essbaseでは、次の順序で計算が行われます:
密次元(データベース・アウトラインに表示されている順)
疎次元(データベース・アウトラインに表示されている順)
属性次元は、データベース集計に含まれていないので、計算順序には影響しません。属性の操作。を参照してください。 |
Sample.Basicデータベースでは、次元は、メジャー、年、シナリオ、製品、市場の順で計算されます。
計算スクリプトを使用して、デフォルトの順序を上書きできます。ブロック・ストレージ・データベース用の計算スクリプトの作成。を参照してください。
各次元内の計算の順序は、データベース・アウトライン内のメンバーの関係次第です。次元の各分岐内では、レベル0の値が最初に計算され、続いてその親であるレベル1の値が計算されます。次に、次の分岐のレベル0の値が計算され、その親であるレベル1の値が計算されます。このようにして、すべてのレベルの計算が完了するまで計算が続行されます。
図118は、Sample.Basicデータベースの年次元を示しています。左側に計算順序が表示されています。この例では、親メンバーに動的計算のタグが付いていないと想定します。データ値の動的計算。を参照してください。
Janは最初の分岐の最初のメンバーです。Janは式を持たないので、計算されません。同じ分岐内の残りの2つのメンバーであるFebとMarも同様です。
Essbaseでは、Qtr1を計算するためにJan、FebおよびMarが集計されます。この例では、これらのメンバーが加算されます。
Essbaseでは、次に、同じ方法でQtr2からQtr4までの分岐が計算されます。
Essbaseでは、最後に、Qtr1からQtr4までの値を集計することにより、年メンバーが計算されます。これらのメンバーが追加されます。
Essbaseでのメンバーの集計方法を決めるには、データベース・アウトラインのメンバーに対して算術演算子(+、-、/、*、%、~、^)を使用します。
勘定科目メンバーにタイム・バランス・タグ(First、LastまたはAverage)が設定されている場合、Essbaseではそれに従って集計が行われます。期首、期末および平均の値の計算を参照してください。
親メンバーにラベルのみ演算子が設定されている場合、Essbaseでは、その子から親は計算されません。
メンバーに~演算子が設定されている場合、Essbaseでは、そのメンバーはその親の集計には使用されません。
メンバーに^演算子が設定されている場合、Essbaseでは、どの次元のメンバーも集計されません。
動的計算を使用する場合、Essbaseでは、異なる計算順序が使用されることがあります。動的計算の計算順序を参照してください。 |
必要な計算結果を確実に得るには、次のどちらのタスクを実行する場合にも、データベース・アウトライン内の次元の計算順序を考慮してください:
データベース・アウトライン内のメンバーの加算(+)や減算(-)の算術演算子のみを使用していて、アウトライン内の式を使用しない場合は、計算順序を考慮する必要はありません。
データベース・アウトライン内のメンバーに式を設定する場合、次元の計算順序を考慮してください。ある次元のメンバーに設定された式は、別の次元に対する後続の計算によって上書きされることがあります。
たとえば、Sample.Basicデータベースには、勘定科目タグが付けられたメジャー次元と、時間タグが付けられた年次元があります。最初にメジャーが計算され、次に年が計算されます。メジャー次元のMarginに式を設定した場合、Essbaseでは、メジャー次元の計算時に式が計算されます。この式は、さらに年次元の集計時に上書きされます。セルの計算順序を参照してください。
計算演算子を使用して、データベース・アウトライン内のメンバーの乗算(*)、除算(/)およびパーセンテージの計算(%)を行う場合、次元の計算順序を考慮してください。必要な計算済の値が、別の次元に対する後続の計算によって上書きされることがあります。
たとえば、Sample.Basicデータベースには、勘定科目タグが付けられたメジャー次元と、時間タグが付けられた年次元があります。最初にメジャーが計算され、次に年が計算されます。メジャー次元のメンバーを乗算した場合、計算された結果は、Essbaseで年次元の値が集計されるときに上書きされることがあります。セルの計算順序を参照してください。
乗算(*)、除算(/)またはパーセンテージ(%)の演算子を使用してメンバーを集計するときは、必要な結果を得られるように、分岐内のメンバーを慎重に順序付けてください。
図119は、算術演算子がアウトラインに表示される順序を示しています。ここでは、ユーザーがChild 2とChild 3の合計をChild 1で除算すると想定します。ただし、Child 1が最初のメンバーである場合、EssbaseではChild 1から処理が開始され、値#MISSINGがChild 1で除算されます。結果は#MISSINGです。次に、Essbaseでは、Child 2とChild 3が加算されます。明らかに、これは必要としていた結果ではありません。
正しい結果を算出するには、Child 1を分岐の最後のメンバーにしてください。
データベース・アウトライン上のメンバーに式を適用しても、同じ結果が得られます。ただし、図119に示すように、メンバーに対してこれらの計算演算子を使用するほうがはるかに効率的です。
予想どおりの計算結果を得るには、アウトラインに前方計算参照が含まれていないことを確認します。前方計算参照は、計算メンバーの値がEssbaseでまだ計算されていないメンバーに依存している場合に発生します。このような場合、Essbaseでは、必要な計算結果が生成されない可能性があります。
たとえば、図120に示されるProduct次元について検討してください。この次元には、3つの前方計算参照(2つの共有メンバー(P100-20およびP300-20)と1つの非共有メンバー(P500-20))があります:
アウトライン・エディタでアウトラインを確認するとき、Essbaseにより、前方計算参照を持つ共有メンバーが識別されます。アウトラインの確認では、前方計算参照を持つ非共有メンバーは識別されません。前方計算参照を含むアウトラインは保存して使用できます。
Dietの下位の5つのメンバーについて考えます。メンバーP100-20、P300-20およびP500-20には、前方計算参照があります:
P100-20 (+) (共有メンバー): Essbaseでは、実績メンバーP100-20が計算される前に共有メンバーP100-20が計算されます。実績メンバーP100-20には子があるので、Essbaseで共有メンバーP100-20を正確に計算するには、実績メンバーP100-20の子を加算して、実績メンバーを先に計算する必要があります。
P300-20 (+) (共有メンバー): Essbaseでは、実績メンバーP300-20が計算される前に共有メンバーP300-20が計算されます。実績メンバーP300-20には式が設定されているので、Essbaseで共有メンバーP300-20を正確に計算するには、実績メンバーを先に計算する必要があります。
P500-20 (+) ("P200-20" + "P300-20"): P500-20に適用された式は、Essbaseでまだ計算されていないメンバーを参照します。参照メンバーP300-20には固有の式があり、EssbaseでP500-20を正確に計算するには、P300-20を先に計算する必要があります。メンバーP200-20およびP400-20は、前方計算参照を持たないため正しく計算されます。
P200-20 (+) (共有メンバー): Essbaseでは、実績メンバーP200-20の計算前に共有メンバーP200-20が計算されますが、P200-20は前方計算参照ではありません。実績メンバーP200-20には計算の依存関係はありません(子や式がない)。このため、Essbaseで、共有メンバーの前に実績メンバーを計算する必要はありません。Essbaseでは、単純に実績メンバーの値が使用されます。
P400-20 (+) ("P200-10" * 2): P400-20に適用された式はEssbaseでまだ計算されていないメンバーを参照しますが、P400-20は前方計算参照ではありません。式で参照されるメンバー自体には計算の依存関係はありません。P200-10が式の唯一のメンバーであり、P200-10自体には子や式はありません。Essbaseでは、P400-20が正確に計算されます。
P100-20、P300-20およびP500-20の正しい計算結果を得るには、アウトライン内のメンバーの順序を変更します。図121に示すように、Regularメンバーの後ろにDiet共有メンバーを置くと、Essbaseでは、必要な順序でメンバーが計算されます。
Essbaseでは、ブロックの番号順にブロックを計算します。Essbaseでは、データベース・アウトラインの最初の疎次元を開始点とします。この最初の次元から疎メンバーの組合せが定義されます。
Sample.Basicデータベースでは、製品がデータベース・アウトラインの最初の疎次元です。
Sample.Basicアウトラインの属性次元(上の図にはありません)は、データベース集計に組み込まれていないので、ブロックの計算順序に影響しません。属性の操作。を参照してください。 |
図123に示すように、製品には19個のメンバーがあります(共有メンバーを除く。Essbaseでは共有メンバーに対してデータ・ブロックを作成しません)。したがって、データベースの最初の19個のデータ・ブロックは、製品次元のメンバーの計算順序に従って番号付けされます。
もう1つの疎次元は市場です。最初の4個のデータ・ブロックには、計算対象である市場次元の最初のメンバー(New York)が含まれています。表64は、これら19のデータ・ブロックの最初に5つについて、各製品次元とNew Yorkの疎メンバーの組合せを示しています:
市場次元の次のメンバーはMassachusettsです。Essbaseでは、製品の各メンバーとMassachusettsの疎な組合せに対して、その次の19個のデータ・ブロックを作成します。表65は、ブロック番号19から23について、疎メンバーの組合せを示しています:
Essbaseでは、少なくとも1つのデータ値が存在する疎次元メンバーのすべての組合せに対してブロックが作成されるまで、処理を続行します。
Essbaseでは、ブロックに1つ以上の値が存在する場合にのみ、データ・ブロックを作成します。たとえば、MassachusettsのOld Fashioned Root Beer (200-10)にデータ値がない場合、Essbaseでは、200-10 -> Massachusettsのデータ・ブロックを作成しません。ただし、将来そのメンバーの組合せに対してデータがロードされる場合に備えて、Essbaseでは200-10 -> Massachusettsの該当するブロック番号が予約されます。
データベースでデフォルトの計算(CALC ALL)を実行すると、各ブロックは、そのブロック番号に従って順番に処理されます。高機能計算をオンにしていて、ブロックを計算する必要がない場合、Essbaseでは、そのブロックをスキップして、次のブロックに移動します。高機能計算を使用してパフォーマンスを最適にする方法は、高機能計算についての理解。を参照してください。
各データ・ブロックには、疎次元メンバーの一意の組合せに対するすべての密次元メンバーの値が含まれます。各データ値は、データ・ブロックのセルにあります。
Essbaseによって各ブロック内のセルが計算される順序は、データベースの構成方法によって異なります。データベースの構成方法によって、各ブロック内の密次元メンバーのメンバー計算順序が定義されます。また、疎次元メンバーを表すブロックの計算順序も定義されます。
表66に、データ・ブロック内のセルのサブセットを示します:
表 66. 計算順序の例1: 入力セルと計算済セル
Year-Market |
New York |
Massachusetts |
East |
---|---|---|---|
Jan |
112345 |
68754 |
3 |
Feb |
135788 |
75643 |
4 |
Mar |
112234 |
93456 |
5 |
Qtr1 |
1 |
2 |
6 |
データ値は次の入力セルにロードされています:
Jan -> New York
Feb -> New York
Mar -> New York
Jan -> Massachusetts
Feb -> Massachusetts
Mar -> Massachusetts
Essbaseは次のセルを計算します。表66で、これらのセルの計算順序はセルに表示される1から6までの数字で示されます:
Qtr1 -> Eastには複数の集計パスがあり、市場または年で集計できます。市場で集計した場合、Qtr1 -> New YorkとQtr1 -> Massachusettsの集計になります。年で集計した場合、Jan -> East、Feb -> EastおよびMar -> Eastの集計になります。
Essbaseでは、Qtr1 -> Eastに複数の集計パスがあることが認識されます。このため、表67に示すように、Qtr1 -> EastはQtr1の値を集計することで1回のみ計算され、最後に計算された次元(この例では、市場次元)の集計パスが使用されます。
表 67. 計算順序の例1: 結果
Year-Market |
New York |
Massachusetts |
East |
---|---|---|---|
Jan |
112345 |
68754 |
181099 |
Feb |
135788 |
75643 |
211431 |
Mar |
112234 |
93456 |
205690 |
Qtr1 |
360367 |
237853 |
598220 |
計算順序に基づいて、データベース・アウトラインのQtr1にメンバー式を設定した場合、その式は、Qtr1 -> Eastの計算時にEssbaseによって無視されます。データベース・アウトラインのEastにメンバー式を設定した場合、その式は、Essbaseによって市場の集計パスに基づいてQtr1 -> Eastが集計されるときに計算されます。
必要に応じて、計算スクリプトを使用して、ユーザーの選択順で次元を計算できます。ブロック・ストレージ・データベース用の計算スクリプトの作成。を参照してください。
表68に、データ・ブロック内のセルのサブセットを示します:
表 68. 計算順序の例2: 入力セルと計算済セル
Year-Market |
New York |
Massachusetts |
East |
---|---|---|---|
Jan |
112345 |
68754 |
4 |
Feb |
135788 |
75643 |
5 |
Mar |
112234 |
93456 |
6 |
Qtr1 |
1 |
2 |
3/7 |
データ値は次の入力セルにロードされています:
Jan -> New York
Feb -> New York
Mar -> New York
Jan -> Massachusetts
Feb -> Massachusetts
Mar -> Massachusetts
EssbaseはNew York、MassachusettsおよびEastのQtr1セルと、Jan、FebおよびMarchのEastセルを計算します。表68で、これらのセルの計算順序はセルに表示される1から7までの数字で示されます:
Qtr1 -> Eastは、年と市場の両方の集計パスに基づいて計算されます。最初に、Qtr1 -> New YorkおよびQtr1 -> Massachusettsの集計としてQtr1 -> Eastが計算されます。2番目に、Jan -> East、Feb -> EastおよびMar -> Eastの集計としてQtr1 -> Eastが計算されます。
結果は、表69に示すように、例1の結果と同じです(表67を参照)。ただし、Qtr1 -> Eastは2回計算されています。このことは、データを親レベルでロードする必要があるときに重要です(セルの計算順序: 例3を参照)。
表 69. 計算順序の例2: 結果
Year-Market |
New York |
Massachusetts |
East |
---|---|---|---|
Jan |
112345 |
68754 |
181099 |
Feb |
135788 |
75643 |
211431 |
Mar |
112234 |
93456 |
205690 |
Qtr1 |
360367 |
237853 |
598220 |
計算順序に基づいて、データベース・アウトラインでQtr1にメンバー式を設定した場合、その結果は、Essbaseによって市場の集計パスに基づいてQtr1 -> Eastが集計されるときに上書きされます。データベース・アウトラインでEastにメンバー式を設定した場合、市場の集計パスは最後に計算されるので、その結果は維持されます。
表70に、データ・ブロック内のセルのサブセットを示します:
表 70. 計算順序の例3: 入力セルと#MISSING値
Year-Market |
New York |
Massachusetts |
East |
---|---|---|---|
Jan |
#MISSING |
#MISSING |
181099 |
Feb |
#MISSING |
#MISSING |
211431 |
Mar |
#MISSING |
#MISSING |
205690 |
Qtr1 |
#MISSING |
#MISSING |
セルは、セルの計算順序: 例2と同じ順序で計算されます。Qtr1 -> Eastは、年と市場の両方の集計パスに基づいて計算されます。
#MISSING値を集計する設定がオフなので、Essbaseでは、#MISSING値は集計されません。このため、親レベルでロードされているデータは、それより下の#MISSING値によって上書きされません。
ただし、子のデータ値のいずれかが#MISSINGでない場合、その値は集計されるので、その値によって親の値は上書きされます。たとえば、Jan -> New Yorkが50000.00の場合、親レベルでロードされている値はこの値によって上書きされます。
結果は、表71に示すように、Essbaseでは最初にJan -> East、Feb -> EastおよびMar -> Eastを集計することによって、Qtr1 -> Eastセルを正しく計算してから、市場の集計パスに基づいて計算します。ただし、Qtr1 -> New YorkおよびQtr1 -> Massachusettsの#MISSING値は集計されないので、Qtr1 -> Eastの値は上書きされません。
表 71. 計算順序の例3: 結果
Year-Market |
New York |
Massachusetts |
East |
---|---|---|---|
Jan |
#MISSING |
#MISSING |
181099 |
Feb |
#MISSING |
#MISSING |
211431 |
Mar |
#MISSING |
#MISSING |
205690 |
Qtr1 |
#MISSING |
#MISSING |
598220 |
Essbaseでは、Qtr1 -> Eastセルの値を確実に計算するために、セルを2回計算する必要があります。Qtr1 -> Eastが最後の集計パスのみに基づいて計算された場合、その結果は#MISSINGとなり必要な結果が得られません。
図124は、Sample.Basicデータベースのメジャー次元のProfit分岐を示しています。この例では、Total Expensesが動的計算メンバーではないと仮定しています。
表72に、データ・ブロック内のセルのサブセットを示します:
表 72. 計算順序の例4: 入力セル、#MISSING値と計算済セル
メジャー->年 |
1月 |
Feb |
Mar |
第1四半期 |
---|---|---|---|---|
Sales |
31538 |
32069 |
32213 |
13 |
COGS |
14160 |
14307 |
14410 |
14 |
Margin |
1 |
4 |
7 |
10/15 |
Marketing |
#MISSING |
#MISSING |
#MISSING |
15839 |
Payroll |
#MISSING |
#MISSING |
#MISSING |
12168 |
Misc |
#MISSING |
#MISSING |
#MISSING |
233 |
Total Expenses |
2 |
5 |
8 |
11/16 |
Profit |
3 |
6 |
9 |
12/17 |
#MISSING値を集計する設定がオフなので、Essbaseでは、#MISSING値は集計されません。このため、親レベルでロードされているデータは、#MISSING値によって上書きされず、複数の集計パスがあるセルがEssbaseによって2回計算されます。
結果を表73に示します:
表 73. 計算順序の例4: 結果
メジャー->年 |
1月 |
Feb |
Mar |
第1四半期 |
---|---|---|---|---|
Sales |
31538 |
32069 |
32213 |
95820 |
COGS |
14160 |
14307 |
14410 |
42877 |
Margin |
17378 |
17762 |
17803 |
52943 |
Marketing |
#MISSING |
#MISSING |
#MISSING |
15839 |
Payroll |
#MISSING |
#MISSING |
#MISSING |
12168 |
Misc |
#MISSING |
#MISSING |
#MISSING |
233 |
Total Expenses |
28240 | |||
Profit |
17378 |
17762 |
17803 |
12/17 |
計算順序に基づいて、データベース・アウトラインのMarginなどにメンバー式を設定した場合、その結果は、Qtr1に関する集計で上書きされます。
データ・ブロック内のセルの計算順序は、メンバーの式の影響を受けません。Essbaseでは、データ・ブロック内で式が検出されると、他の必要なデータ・ブロックがロックされ、その式が計算され、データ・ブロックの計算が続行されます。
密次元のメンバーに式を設定するときには、セルの計算順序に十分注意してください。前の例で説明したように、複数の集計パスがあるセルでは、最後に計算された次元によって以前に行われたセルの計算が上書きされます。必要に応じて、計算スクリプトを使用して、次元の計算順序を変更できます。ブロック・ストレージ・データベース用の計算スクリプトの作成およびブロック・ストレージ・データベース用の式の作成。を参照してください。
Essbaseでは、可能なかぎり1つの計算パスでデータベースが計算されます。つまり、必要な各データ・ブロックがメモリーに1回のみ読み取られ、データ・ブロックに対して関連するすべての計算が実行され、保存されます。ただし、場合によっては、Essbaseで複数の計算パスを使用してデータベースを計算する必要があります。その場合、後続の計算パスでは、Essbaseによってデータ・ブロックがメモリーに戻され、そのデータ・ブロックに対して次の計算が実行され、再度保存されます。
デフォルトのデータベースのフル計算(CALC ALL)を実行すると、Essbaseでは、1つの計算パスでデータベースを計算しようとします。勘定科目または時間タグが付けられた次元がある場合は、Essbaseで、複数の計算パスを実行してデータベースを計算する必要がある場合があります。
表74は、時間または会計タグが付けられた次元があり、会計次元に少なくとも1つの式が設定されている場合にEssbaseで実行される計算パスの数を示しています:
2パス・タグが付けられた式を使用している場合は、Essbaseで追加の計算パスを実行して式を計算する必要がある場合があります。2パス計算の使用を参照してください。
計算スクリプトを使用してデータベースを計算するときに、Essbaseで実行する必要がある計算パスの数は、計算スクリプトによって決まります。計算パスおよび複数パス計算の理解を参照してください。式と計算のグループ化も参照してください。
コミット・アクセスに対して分離レベルが設定されていて、複数のパスが必要な場合は、Essbaseによって、各パスの最後にデータ値が書き込まれます。パス間で行われるデータ取得では、中間値を取得できます。
データベースを計算すると、Essbaseによって、データベース内のパスごとに、次元の計算順序が自動的に表示され、計算中にEssbaseでデータベースのデータを循環使用した回数が表示されます。Essbaseによって、この情報がESSCMDのウィンドウおよびアプリケーション・ログに表示されます。
アプリケーション・ログを表示する方法は、Essbaseサーバー・ログおよびアプリケーション・ログの表示を参照してください。
Essbaseでは、データ・ブロックごとに密計算と疎計算のどちらを実行するのかが決定されます。計算のタイプは、データ・ブロック内の値のタイプによって決まります。データベースでデフォルトの計算(CALC ALL)を実行すると、各ブロックは、そのブロック番号に従って順番に処理されます。
高機能計算をオンにしていて、ブロックを計算する必要がない場合(ブロックにクリーンが設定されている場合)、Essbaseではそのブロックはスキップされ、次のブロックに移動します。高機能計算についての理解。を参照してください。
ブロックを再計算する必要がある場合、Essbaseではそのブロックがレベル0、入力、上位レベル・ブロックのどれであるかが確認されます。データ・ブロック内のデータ・ストレージを参照してください。
ブロックがレベル0のブロックまたは入力ブロックの場合、Essbaseでブロックの密計算が実行されます。ブロックの各セルが計算されます。セルの計算順序を参照してください。
ブロックが上位レベル・ブロックの場合、Essbaseでは、データ・ブロックに対して値の集計または疎計算が実行されます。
各上位レベル・ブロックの疎メンバーの組合せには、少なくとも1つの親メンバーがあります。Essbaseでは、親メンバーの次元に基づいてブロックが集計または計算されます。たとえば、上位レベル・ブロックがSample.BasicデータベースのProduct -> Floridaに関するものである場合、Essbaseでは、製品次元が選択されます。
ブロックの疎メンバーの組合せに複数の親メンバーがある場合、Essbaseでは、親メンバーを含み、計算順序の最後にある次元が選択されます。たとえば、ブロックがProduct -> Eastに関するもので、Sample.Basicデータベースでデフォルトの計算を実行した場合、Essbaseでは、Eastを含んでいる市場次元が選択されます。市場次元は、データベース・アウトラインで製品次元の後に配置されているので、デフォルトの計算順序では最後になります。メンバーの計算順序を参照してください。
共有メンバーとは、他のメンバーとデータ値を共有するメンバーのことです。たとえば、Sample.Basicデータベースでは、Diet Cola、Diet Root BeerおよびDiet Creamが、2つの親の下に集計されています。つまり、Dietとそれぞれの製品タイプ(Colas、Root Beer、Cream Soda)の下です。図125に示すように、親のDietの下のメンバーは共有メンバーです。共有メンバーの理解を参照してください。
共有メンバーの計算は、実際のメンバーに対する計算です。FIXコマンドを使用してデータベースのサブセットを計算するときにそのサブセットに共有メンバーが含まれる場合は、Essbaseによって実際のメンバーが計算されます。