値に関連する関数
アウトライン式でEssbase値関数を使用して、期間にわたる在庫、経費精算書で使用される差異、配賦などの相互依存メトリックに対する式を計算できます。
次の各トピックでは、値に関連するフォーミュラの使用方法について説明します。
相互依存の値
必要な結果を計算するには、アウトライン内の1つのメンバーに相互依存の複数の式を適用するEssbase式が必要な場合があります。
Essbaseは、同じディメンションの特定の範囲のメンバーに対する複数の式を同時に計算することによって、計算パフォーマンスを最適化します。ただし、一部の式では、同じディメンションのメンバーからの値が必要になり、その必要な値がEssbaseによってまだ計算されていない場合があります。
このよい例として、オープン在庫が前月の期末在庫に依存するキャッシュ・フローがあります。
Opening InventoryとEnding Inventoryの値を月ごとに計算する必要があります。次に示す結果になる必要があると仮定します。
表17-11キャッシュ・フローの例のデータ値
| 1月 | 2月 | 3月 | |
|---|---|---|---|
|
開始在庫 |
100 |
120 |
110 |
|
販売 |
50 |
70 |
100 |
|
加算 |
70 |
60 |
150 |
|
期末在庫 |
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ディメンションのVarienceメンバーとVariance %メンバーによって、実績値と予算値の差異が計算されます。
図17-3差異の例

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