値に関連する関数

アウトライン式で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は月ごとに次の計算を逐次実行します。

  1. IF文と@ISMBR関数で、Yearディメンションの現在のメンバーがJanでないことが確認されます。JanのOpening Inventoryの値は入力値であるため、このステップが必要になります。

  2. 現在の月がJanでない場合、@PRIOR関数によって、前月のEnding Inventoryの値が取得されます。次に、この値が現在の月のOpening Inventoryに割り当てられます。

  3. 現在の月のEnding Inventoryが計算されます。

ノート:

正しい結果を算出するには、1つのメンバー(Opening Inventory)に対する前述の式を配置する必要があります。Opening InventoryとEnding Inventoryの個々のメンバーに対して式を設定した場合、Essbaseにより、すべての月のOpening Inventoryが計算された後、すべての月のEnding Inventoryが計算されます。この構成は、Opening Inventoryの計算時に前月のEnding Inventoryの値を使用できないことを意味します。

実績値と予算値の差異

@VARおよび@VARPER計算関数を使用すると、予算値と実績値との差異または差異の割合を計算できます。

勘定科目ディメンションで費用アイテムを計算するのか、費用外アイテムを計算するのかに応じて、差異を正または負にする必要がある場合があります。デフォルトでは、Essbaseでは、メンバーは費用外アイテムであると想定されます。

差異計算に対する費用勘定と費用外勘定の影響を考慮します:

  • 費用アイテム。実績値が予算値よりも低い場合(たとえば、実績コストが予算計上済コストよりも低い場合)、Essbaseで正の値の差異を表示する必要があります。

  • 費用外アイテム。実績値が予算値よりも低い場合(たとえば、売上の実績が売上の予算よりも低い場合)、Essbaseによって差異が負で表示される必要があります。

デフォルトで、Essbaseでは、関数を使用せずにメンバーが費用外アイテムであると想定され、そのように差異が計算されます。

@VAR関数または@VARPER関数を使用すると、実績値が予算値よりも低い場合に、Essbaseによって差異が正で表示されます。たとえば、Sample.BasicのTotal Expensesの子は費用アイテムです。ScenarioディメンションのVarianceメンバーとVariance %メンバーによって、実績値と予算値の差異が計算されます。

図17-3 差異の例


差異計算用の費用レポートのメンバーおよび式のアウトライン。

「差異レポート・プロパティ」を参照してください。

値を割り当てる関数

Essbase割当て関数によって、親レベルで入力された値を、同じディメンションまたは別のディメンションの子メンバーに割り当てることができます。たとえば、製品間でコストを割り当てたり、ディメンション間にわたる割当てと範囲割当てを実行できます。

割当ては、計算関数の使用時に指定する様々な基準に基づいています。

表17-12 割当て関数のリスト

関数 割り当てられる値

@ALLOCATE

メンバーの値、ディメンション間メンバーの値または同じディメンション内のメンバー・リストにまたがる値。

@MDALLOCATE

メンバーの値、ディメンション間メンバーの値または複数のディメンションにまたがる値。

@ALLOCATEを使用した計算スクリプトの例は「複数の製品にまたがるコストの割当て」を、@MDALLOCATEを使用した計算スクリプトの例は「複数のディメンションにまたがる値の割当て」を参照してください。