在維度內配置值
此 Essbase 計算指令碼範例使用 @ALLOCATE 函數,將預算費用總計分攤至兩個產品的費用類別。已編列預算的費用總計是根據去年的實際值來分攤。
假設您對 Sample Basic 進行了下列變更,如下圖所示:
-
在 「評量」維度的 「費用總計」下新增下階 「租賃」
-
已新增子項 PY Actual 至 Scenario 維度
圖 24-3 修改的計量和案例維度

假設 1000 與 2000 的資料值分別載入至「預算」->「Colas 與 Root Beer 的費用總計」。這些值必須分攤至每個支出種類,以根據 PY 實際總支出的非遺漏子項平均分攤值。配置的值必須四捨五入至最接近的金額。
命令檔範例:
/* Allocate budgeted total expenses based on prior year */
FIX("Total Expenses")
Budget = @ALLOCATE(Budget->"Total Expenses",
@CHILDREN("Total Expenses"),"PY Actual",,
spread,SKIPMISSING,roundAmt,0,errorsToHigh)
ENDFIX Budget PY Actual
Colas Marketing 334 * 150
Payroll #MI #MI
Lease 333 200
Misc 333 100
Total Expenses 1000 450
Root Beer Marketing 500 300
Payroll 500 200
Lease 500 200
Misc 500 400
Total Expenses 2000 1100* 捨入錯誤會新增至此值。
Essbase 會循環資料庫,執行下列計算:
-
修正「費用總計」的下階。
-
對於「預算」->「資料欄」->「行銷」,將 1 除以每個月「PY 實際」->「資料欄」中每個支出種類的非遺漏值計數。
在此情況下,1 除以 3,因為「預算」->「資料欄」有 3 個非遺漏的費用值。
-
從步驟 2 (.333) 取得值,將其乘以「預算」->「資料欄」->「總費用」(1000) 的值,然後四捨五入至最接近的金額 (333)。結果會放置在「Budget -> Colas -> Marketing」中。
-
針對「預算 -> 資料欄」,然後針對「預算 -> 根啤酒」的每個支出種類重複步驟 2 和 3。
-
如計算命令檔中所指定,會將配置的值四捨五入至最接近的整美元。
Essbase 會在區塊中進行第二次傳遞,讓捨入值的總和等於配置值 (例如,1000 代表「預算」->「資料欄」->「費用總計」)。在此範例中,Budget -> Colas -> Total Expenses 有 1 的捨入錯誤,因為費用分類加總為 999,而非 1000,這是分攤值。因為所有配置的值都相同 (333),所以會將 1 的捨入錯誤新增至配置範圍中的第一個值,即「預算 -> 資料欄 -> 行銷」(值為 334)。