値に関連する関数

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

  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ディメンションのVarienceメンバーとVariance %メンバーによって、実績値と予算値の差異が計算されます。

図17-3差異の例


差異計算用の経費精算書メンバーおよび算式の概要。

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

値を割り当てる関数

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

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

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

関数 配賦済の値

割当(@A)

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

@MDALLOCATE

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

@ALLOCATEを使用した計算スクリプトの例は、「製品間での原価の配賦」も参照してください。@MDALLOCATEの使用については、「複数ディメンション間での値の配賦」を参照してください。