Calcola movimenti cespiti mensili
È possibile utilizzare la funzione @PRIOR per calcolare i valori in base al valore di un mese precedente.
Ad esempio, si supponga che un database contenga valori di dati degli asset memorizzati su base mensile. È possibile calcolare la differenza tra i valori delle attività dei mesi successivi (lo spostamento delle attività) sottraendo il valore del mese precedente dal valore del mese corrente.
Si supponga che questi tre membri gestiscano i valori degli asset per il database:
-
Cespiti per i valori dei cespiti mensili
-
Asset_MVNT per i valori di spostamento cespite
-
Opening_Balance per il valore del cespite all'inizio dell'anno
Per Jan, il valore Asset_MVNT viene calcolato sottraendo il valore Opening_Balance dal valore Jan.
Aggiungere questa formula al membro Asset_MVNT:
IF(@ISMBR(Jan)) Asset_MVNT = Assets - Opening_Balance;
ELSE Asset_MVNT = Assets - @PRIOR(Assets);
ENDIF;La tabella riportata di seguito mostra i risultati quando Essbase calcola la differenza tra i valori degli asset nei mesi successivi.
Tabella 18-3 Risultati: script di calcolo di esempio per il calcolo dei movimenti mensili dei cespiti
| Asset -> Ora | Saldo_apertura | Gen | Feb | Mar |
|---|---|---|---|---|
|
Asset |
1.200 |
1.400 |
1.300 |
1.800 |
|
Asset_MVNT |
200 |
-100 |
500 |
Durante i mesi Essbase esegue i seguenti calcoli:
-
L'istruzione IF e la funzione @ISMBR controllano se il membro corrente nella dimensione Anno è Jan. Questo controllo è necessario perché il valore Asset_MVNT per Jan non può essere calcolato sottraendo il valore del mese precedente.
-
Se il membro corrente nella dimensione Anno è Jan, Essbase sottrae Opening_Balance dal valore Jan -> Assets e inserisce il risultato in Jan -> Asset_MVNT.
-
Se il membro corrente nella dimensione Anno non è Jan, la funzione @PRIOR ottiene il valore per gli asset del mese precedente. Essbase sottrae gli asset del mese precedente dagli asset del mese corrente. Inserisce il risultato nel valore Asset_MVNT del mese corrente.