値に関連する関数
アウトライン式でEssbase値関数を使用して、一定期間にわたる在庫、費用レポートで使用される差異、割当てなどの相互依存メトリックの式を計算できます。
次の各トピックでは、値に関連する式の使用方法について説明します。
相互依存値
必要な結果を計算するために、アウトライン内の1つのメンバーへの相互依存の複数の式の適用にEssbase式が必要になる場合があります。
Essbaseは、同じディメンションの特定の範囲のメンバーに対する複数の式を同時に計算することによって、計算パフォーマンスを最適化します。ただし、一部の式では、同じディメンションのメンバーからの値が必要になるものの、その必要な値がEssbaseによってまだ計算されていない場合があります。
このような例にキャッシュ・フローがあり、この場合は、期首在庫高が、前月の期末在庫高に依存します。
Opening InventoryとEnding Inventoryの値を月ごとに計算する必要があります。次に示す結果になる必要があると仮定します。
表17-11 キャッシュ・フローの例のデータ値
![]() |
Jan | Feb | Mar |
---|---|---|---|
Opening Inventory |
100 |
120 |
110 |
Sales |
50 |
70 |
100 |
Addition |
70 |
60 |
150 |
Ending Inventory |
120 |
110 |
160 |
JanuaryのOpening Inventoryの値がキューブにロードされるとすると、前述のグリッドの結果を得るために必要な計算は次のとおりです:
1. January Ending = January Opening – Sales + Additions
2. February Opening = January Ending
3. February Ending = February Opening – Sales + Additions
4. March Opening = February Ending
5. March Ending = March Opening – Sales + Additions
複数の相互依存する等式をアウトラインの1つのメンバーに適用して、必要な結果を算出できます。
アウトラインのOpening Inventoryメンバーに適用される次の式で、正しい値が算出されます:
IF(NOT @ISMBR (Jan))
"Opening Inventory" = @PRIOR("Ending Inventory");
ENDIF;
"Ending Inventory" = "Opening Inventory" - Sales + Additions;
この式を計算スクリプト内に配置する場合は、式とOpening Inventoryメンバーを次のように関連付ける必要があります。
"Opening Inventory"
(IF(NOT @ISMBR (Jan))
"Opening Inventory" = @PRIOR("Ending Inventory");
ENDIF;)
"Ending Inventory" = "Opening Inventory" - Sales + Additions;
Essbaseは月ごとに次の計算を逐次実行します。
-
IF文と@ISMBR関数で、Yearディメンションの現在のメンバーがJanでないことが確認されます。JanのOpening Inventoryの値は入力値であるため、このステップが必要になります。
-
現在の月がJanでない場合、@PRIOR関数によって、前月のEnding Inventoryの値が取得されます。次に、この値が現在の月のOpening Inventoryに割り当てられます。
-
現在の月のEnding Inventoryが計算されます。
ノート:
正しい結果を算出するには、1つのメンバー(Opening Inventory)に対する前述の式を配置する必要があります。Opening InventoryとEnding Inventoryの個々のメンバーに対して式を設定した場合、Essbaseにより、すべての月のOpening Inventoryが計算された後、すべての月のEnding Inventoryが計算されます。この構成は、Opening Inventoryの計算時に前月のEnding Inventoryの値を使用できないことを意味します。
実績値と予算値の差異
@VARおよび@VARPER計算関数を使用すると、予算値と実績値との差異または差異の割合を計算できます。
差異計算に対する費用勘定と費用外勘定の影響を考慮します:
-
費用アイテム。実績値が予算値よりも低い場合(たとえば、実績コストが予算計上済コストよりも低い場合)、Essbaseで正の値の差異を表示する必要があります。
-
費用外アイテム。実績値が予算値よりも低い場合(たとえば、売上の実績が売上の予算よりも低い場合)、Essbaseによって差異が負で表示される必要があります。
デフォルトで、Essbaseでは、関数を使用せずにメンバーが費用外アイテムであると想定され、そのように差異が計算されます。
@VAR関数または@VARPER関数を使用すると、実績値が予算値よりも低い場合に、Essbaseによって差異が正で表示されます。たとえば、Sample.BasicのTotal Expensesの子は費用アイテムです。ScenarioディメンションのVarianceメンバーとVariance %メンバーによって、実績値と予算値の差異が計算されます。
図17-3 差異の例

「差異レポート・プロパティ」を参照してください。
値を割り当てる関数
Essbase割当て関数によって、親レベルで入力された値を、同じディメンションまたは別のディメンションの子メンバーに割り当てることができます。たとえば、製品間でコストを割り当てたり、ディメンション間にわたる割当てと範囲割当てを実行できます。
割当ては、計算関数の使用時に指定する様々な基準に基づいています。
表17-12 割当て関数のリスト
関数 | 割り当てられる値 |
---|---|
メンバーの値、ディメンション間メンバーの値または同じディメンション内のメンバー・リストにまたがる値。 |
|
メンバーの値、ディメンション間メンバーの値または複数のディメンションにまたがる値。 |
@ALLOCATEを使用した計算スクリプトの例は「複数の製品にまたがるコストの割当て」を、@MDALLOCATEを使用した計算スクリプトの例は「複数のディメンションにまたがる値の割当て」を参照してください。