跨產品分攤成本

Essbase 區塊儲存計算指令碼範例會將製造費用成本配置給每個月每個市場中的每個產品。它使用 ARRAY、FIX 與 CALC DIM。它不會聚總 #Missing 值。

製造費用成本是根據每個產品的「銷售」值,作為所有產品「銷售」總計的百分比來配置。

假設您已將兩個成員新增至 Measures 維度:

  • OH_ 已配置製造費用成本的成本

  • 總間接費用成本的 OH_TotalCost

命令檔範例:

/* Declare a temporary array called ALLOCQ based on the Year dimension */

ARRAY ALLOCQ[Year];

/* Turn the Aggregate Missing Values setting off. If this is your system default, omit this line */

SET AGGMISSG OFF;

/* Allocate the overhead costs for Actual values */

FIX(Actual)
   OH_Costs (ALLOCQ=Sales/Sales->Product; OH_Costs = 
   OH_TotalCost->Product * ALLOCQ;);

/* Calculate and consolidate the Measures dimension */

   CALC DIM(Measures);
ENDFIX

Essbase 會執行下列計算:

  1. 建立一個稱為 ALLOCQ 的一維陣列,以暫時儲存 Sales 值佔每個成員組合之 Sales 總計的百分比。

    ALLOCQ 的大小是根據 Year 維度中的成員數目而定。

  2. #MISSING 值不會聚總至其父項 ( SET AGGMISSG 設為 OFF)。儲存在父層級的資料值不會被覆寫。

    如果 SET AGGMISSG OFF 是您的系統預設值,請省略此行。請參閱 #MISSING 值

    • 修正實際值。

    • 循環執行「實際」的成員組合,並計算 OH_Costs。

    • 每月採用每個市場中每項產品的銷售值,並將其計算為每個市場中所有產品的銷售總計百分比 (銷售 -> 產品)。結果會放置在 ALLOCQ 中。

    • 取得所有產品 (OH_TotalCost -> Product) 的總製造費用成本,並將其乘以剛放入 ALLOCQ 的值。結果會置於 OH_Costs 中。

      請注意,這兩個方程式均以括弧 () 括住,並與 OH_Costs 成員相關聯:OH_Costs (equation1;equation2;)。

  3. 計算並合併 Measures 維度。