Alloca valori in più dimensioni
In questo esempio di script di calcolo Essbase viene utilizzata la funzione @MDALLOCATE per allocare un valore caricato per le spese totali in budget tra tre dimensioni. Le spese totali in budget vengono allocate in base ai valori effettivi dell'anno precedente.
Si supponga di aver apportato le seguenti modifiche:
-
Aggiunta di un figlio, Effettivo PY, alla dimensione Scenario
-
Dati copiati da effettivi a effettivi anno precedente
-
Dati cancellati dal budget
In questo esempio, è necessario allocare un valore pari a 750 (per Budget -> Totale spese -> Prodotto -> Est -> Gen) a ciascuna categoria di spesa per i figli del prodotto 100 negli stati dell'Est. L'allocazione utilizza i valori di Effettivo PY per determinare la quota percentuale che ogni categoria dovrebbe ricevere.
Script di esempio:
/* 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);
ENDFIXValori per Effettivo PY:
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 esegue cicli nel database eseguendo i calcoli riportati di seguito.
-
Correzioni su est, figli di 100 e spese totali.
L'utilizzo di un'istruzione FIX con @MDALLOCATE può migliorare le prestazioni di calcolo.
-
Prima di eseguire l'allocazione, determina la quota di 750 (il valore da allocare) che ogni categoria di spesa dovrebbe ricevere, per ogni combinazione prodotto-stato, utilizzando le azioni di ogni categoria di spesa da Effettivo PY. A partire da PY Actual -> 100-10 -> New York, Essbase divide il valore della prima categoria di spesa, Marketing, per il valore di PY Actual -> 100-10 -> East -> Total Expenses per calcolare la quota percentuale di quella categoria.
Ad esempio, Essbase divide il valore di Effettivo PY -> 100-10 -> New York -> Marketing (94) per il valore di Effettivo PY -> 100-10 -> Est -> Totale spese (460), che restituisce una quota percentuale di circa il 20,4% per la categoria Marketing.
-
Ripete il passo 2 per ogni categoria di spesa, per ogni combinazione prodotto-stato.
-
Durante l'allocazione, Essbase utilizza le quote percentuali calcolate nei passi 2 e 3 per determinare quale quota di 750 deve essere allocata a ciascun figlio delle spese totali dal budget per ogni combinazione prodotto-stato.
Ad esempio, per Marketing, Essbase utilizza la cifra del 20,4% calcolata nel passo 2, richiede il 20,4% di 750 (circa 153) e inserisce il valore allocato in Budget -> 100-10 -> New York -> Marketing (vedere i risultati che seguono questa procedura).
-
Ripete il passo 4 per ogni categoria di spesa e per ogni combinazione prodotto-stato, utilizzando le quote percentuali dei valori effettivi dell'anno precedente calcolate nei passi 2 e 3.
-
Consolida le categorie di spesa per generare i valori per le spese totali.
I risultati dell'allocazione per il bilancio:
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