Calcular movimientos mensuales de activos
Puede usar la función @PRIOR para calcular valores basados en el valor de un mes anterior.
Por ejemplo, supongamos que una base de datos contiene valores de datos de activos que se almacenan mes a mes. Se puede calcular la diferencia entre los valores de activos de los meses sucesivos (el movimiento de activos) restando el valor del mes anterior del valor del mes actual.
Supongamos que estos tres miembros gestionan los valores de activos de la base de datos:
-
Activos para los valores de activos mensuales
-
Asset_MVNT para los valores de movimiento de activos
-
Opening_Balance para el valor del activo al principio del año
Para Jan, el valor de Asset_MVNT se calcula restando el valor Opening_Balance del valor Jan.
Debe agregar esta fórmula en el miembro Asset_MVNT:
IF(@ISMBR(Jan)) Asset_MVNT = Assets - Opening_Balance;
ELSE Asset_MVNT = Assets - @PRIOR(Assets);
ENDIF;En la siguiente tabla se muestran los resultados cuando Essbase calcula la diferencia entre los valores de los activos en meses sucesivos:
Tabla 18-3 Resultados: Ejemplo de script de cálculo para calcular los movimientos mensuales de activos
| Activos -> Tiempo | Apertura_Saldo | Ene | Feb | Mar |
|---|---|---|---|---|
|
Activos |
1200 |
1400 |
1.300 |
1800 |
|
Asset_MVNT |
200 |
-100 |
500 |
Essbase realiza ciclos a lo largo de los meses, realizando los siguientes cálculos:
-
La sentencia IF y la función @ISMBR comprueban si el miembro actual de la dimensión Year es Jan. Esta comprobación es necesaria porque el valor de Asset_MVNT para Jan no se puede calcular restando el valor del mes anterior.
-
Si el miembro actual de la dimensión Year es Jan, Essbase resta el valor Opening_Balance del valor Jan -> Assets y coloca el resultado en Jan -> Asset_MVNT.
-
Si el miembro actual de la dimensión Year no es Jan, la función @PRIOR obtiene el valor de los activos del mes anterior. Essbase resta los activos del mes anterior de los activos del mes actual. Coloca el resultado en el valor Asset_MVNT del mes actual.