Alloca costi tra prodotti
Questo esempio di script di calcolo della memorizzazione a blocchi Essbase alloca i costi comuni a ciascun prodotto in ciascun mercato per ogni mese. Utilizza ARRAY, FIX e CALC DIM. Non aggrega i valori #Missing.
I costi comuni vengono allocati in base al valore di vendita di ciascun prodotto come percentuale delle vendite totali per tutti i prodotti.
Si supponga di aver aggiunto due membri alla dimensione Misure:
-
OH_Costi per costi comuni allocati
-
OH_TotalCost per i costi comuni totali
Script di esempio:
/* 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);
ENDFIXEssbase esegue i seguenti calcoli:
-
Crea un array unidimensionale denominato ALLOCQ per memorizzare temporaneamente il valore delle vendite come percentuale delle vendite totali per ogni combinazione di membri.
La dimensione di ALLOCQ si basa sul numero di membri nella dimensione Anno.
-
I valori #MISSING non vengono aggregati ai relativi padri (SET AGGMISSG è impostato su OFF). I valori dati memorizzati a livello padre non vengono sovrascritti.
Se SET AGGMISSG OFF è l'impostazione predefinita del sistema, omettere questa riga. Vedere Valori #MISSING.
-
Correzioni dei valori effettive.
-
Esegue il ciclo delle combinazioni di membri per Effettivo e calcola OH_Costs.
-
Prende il valore delle vendite per ogni prodotto in ciascun mercato per ogni mese e lo calcola come percentuale delle vendite totali per tutti i prodotti in ciascun mercato (Vendite -> Prodotto). Il risultato viene inserito in ALLOCQ.
-
Prende i costi comuni totali per tutti i prodotti (OH_TotalCost -> Product) e li moltiplica per il valore appena inserito in ALLOCQ. Il risultato viene inserito in OH_Costs.
Si noti che entrambe le equazioni sono racchiuse tra parentesi ( ) e associate al membro OH_Costs: OH_Costs (equazione1; equazione2;).
-
-
Calcola e consolida la dimensione Misure.