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:

  1. 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.

  2. Se il membro corrente nella dimensione Anno è Jan, Essbase sottrae Opening_Balance dal valore Jan -> Assets e inserisce il risultato in Jan -> Asset_MVNT.

  3. 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.