Allouer des valeurs dans plusieurs dimensions
Cet exemple de script de calcul Essbase utilise la fonction @MDALLOCATE pour allouer une valeur chargée pour les dépenses totales budgétées sur trois dimensions. Les dépenses totales budgétées sont réparties en fonction des valeurs réelles de l'année précédente.
Supposons que vous ayez apporté les modifications suivantes :
-
Ajout d'un enfant, PY Actual, à la dimension Scenario.
-
Données copiées du réel dans le réel de l'année précédente
-
Données effacées du budget
Dans cet exemple, la valeur 750 (pour Budget -> Total Expenses -> Product -> East -> Jan) doit être allouée à chaque catégorie de charges pour les enfants du produit 100 dans les états East. La répartition utilise les valeurs de PY Actual pour déterminer la part en pourcentage que chaque catégorie doit recevoir.
Exemple de script:
/* 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);
ENDFIXValeurs pour PY Actual :
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 parcourt la base de données en effectuant les calculs suivants :
-
Fixes sur East, les enfants de 100 et Total Expenses.
L'utilisation d'une instruction FIX avec @MDALLOCATE peut améliorer les performances de calcul.
-
Avant d'effectuer la répartition, détermine la part de 750 (valeur à répartir) que chaque catégorie de charges doit recevoir, pour chaque combinaison produit-état, en utilisant les parts de chaque catégorie de charges provenant de PY Actual. A partir de PY Actual -> 100-10 -> New York, Essbase divise la valeur de la première catégorie de dépenses, Marketing, par la valeur de PY Actual-> 100-10 -> East -> Total Expenses pour calculer la part en pourcentage de cette catégorie.
Par exemple, Essbase divise la valeur de PY Actual -> 100-10 -> New York -> Marketing (94) par la valeur de PY Actual -> 100-10 -> East -> Total Expenses (460), ce qui donne une part en pourcentage d'environ 20,4 % pour la catégorie Marketing.
-
Répéte l'étape 2 pour chaque catégorie de charges, pour chaque combinaison produit-état.
-
Au cours de l'allocation, Essbase utilise les pourcentages calculés à l'étape 2 et à l'étape 3 pour déterminer la part de 750 à allouer à chaque enfant du total des dépenses du budget, pour chaque combinaison produit-état.
Par exemple, pour Marketing, Essbase utilise le chiffre de 20,4 % calculé à l'étape 2, prend 20,4 % de 750 (environ 153) et place la valeur allouée dans Budget -> 100-10 -> New York -> Marketing (voir les résultats qui suivent cette procédure).
-
Répéte l'étape 4 pour chaque catégorie de charges et pour chaque combinaison produit-état, en utilisant le pourcentage de parts de PY Actual calculé à l'étape 2 et à l'étape 3.
-
Consolide les catégories de charges pour générer les valeurs du total des charges.
Les résultats de la répartition budgétaire :
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