跨多個維度配置值
此 Essbase 計算指令碼範例使用 @MDALLOCATE 函數,為跨三個維度的預算總費用配置載入值。已編列預算的費用總計是根據去年的實際值來分攤。
假設您已進行下列變更:
-
已新增子項 PY Actual 至 Scenario 維度
-
從「實際」複製資料至「PY 實際」
-
已清除預算中的資料
在此範例中,必須將值 750 (針對 Budget -> Total Expenses -> Product -> East -> Jan) 分配給產品 100 之子項在 East 中跨各州分配給每個支出種類。分攤會使用「PY 實際值」的值來決定每個分類應收到的佔有率百分比。
命令檔範例:
/* Allocate budgeted total expenses based on prior year, across 3 dimensions */
SET UPDATECALC OFF;
FIX (East, "100", "Total Expenses")
BUDGET = @MDALLOCATE(750,3,@CHILDREN("100"),@CHILDREN("Total Expenses"),@CHILDREN(East),"PY Actual",,share);
ENDFIXPY 實際值:
Jan
PY Actual
Marketing Payroll Misc Total Expenses
100–10 New York 94 51 0 145
Massachusetts 23 31 1 55
Florida 27 31 0 58
Connecticut 40 31 0 71
New Hampshire 15 31 1 47
100-20 New York 199 175 2 376
Massachusetts #MI #MI #MI #MI
Florida #MI #MI #MI #MI
Connecticut 26 23 0 49
New Hampshire #MI #MI #MI #MI
100-30 New York #MI #MI #MI #MI
Massachusetts 26 23 0 49
Florida #MI #MI #MI #MI
Connecticut #MI #MI #MI #MI
New Hampshire #MI #MI #MI #MI
100 New York #MI #MI #MI #MI
Massachusetts 12 22 1 35
Florida 12 22 1 35
Connecticut 94 51 0 145
New Hampshire 23 31 1 55
East 237 220 3 460Essbase 會循環資料庫,執行下列計算:
-
East、100 的子項和 Total Expenses 的修正。
使用含 @MDALLOCATE 的 FIX 陳述式可提升計算效能。
-
在執行配置之前,使用「PY 實際」中每個支出種類的份額,決定每個產品狀態組合應收到的 750 份 (要配置的值)。從 PY Actual -> 100-10 -> New York 開始, Essbase 會將第一個費用類別 Marketing 的值除以 PY Actual-> 100-10 -> East -> Total Expenses 的值,以計算該類別的佔有率百分比。
例如, Essbase 會將「PY 實際值」->「100-10」->「紐約」->「行銷」(94) 的值除以「PY 實際值」->「100-10」->「東部」->「總費用」(460),而「行銷」類別的百分比佔有率約為 20.4%。
-
針對每個產品狀態組合,對每個費用類目重複步驟 2。
-
在分配期間, Essbase 會使用步驟 2 和步驟 3 中計算的百分比份額,針對每個產品狀態組合,決定應將 750 的份額分配給「預算總費用」的每個子項。
例如,對於 Marketing, Essbase 會使用步驟 2 中計算的 20.4% 圖,佔 750 的 20.4% (約 153),並將配置的值置於 Budget -> 100-10 -> New York -> Marketing (請參閱遵循此程序的結果)。
-
使用步驟 2 與步驟 3 中計算的「PY 實際值」百分比,對每個費用類目與每個產品狀態組合重複步驟 4。
-
合併支出種類以產生「總支出」值。
預算配置的結果:
Jan
Budget
Marketing Payroll Misc Total Expenses
100–10 New York 153.26 83.15 0 236.41
Massachusetts 37.50 50.54 1.63 89.67
Florida 44.02 50.54 0 94.56
Connecticut 65.22 50.54 0 115.76
New Hampshire 24.26 50.54 1.63 76.63
100-20 New York #MI #MI #MI #MI
Massachusetts #MI #MI #MI #MI
Florida 42.39 37.50 0 79.89
Connecticut #MI #MI #MI #MI
New Hampshire #MI #MI #MI #MI
100-30 New York #MI #MI #MI #MI
Massachusetts #MI #MI #MI #MI
Florida #MI #MI #MI #MI
Connecticut #MI #MI #MI #MI
New Hampshire 19.57 35.87 1.63 57.07
100 New York 153.26 83.15 0 236.41
Massachusetts 37.50 50.54 1.63 89.67
Florida 86.41 88.04 0 174.46
Connecticut 65.22 50.54 0 115.76
New Hampshire 44.02 86.41 3.26 133.70
East 386.41 358.70 4.89 750