Asignar valores dentro de una dimensión

Este ejemplo de script de cálculo de Essbase utiliza la función @ALLOCATE para asignar los gastos totales presupuestados en las categorías de gastos para dos productos. Los gastos totales presupuestados se asignan en función de los valores reales del año anterior.

Supongamos que ha realizado los siguientes cambios en Sample Basic, como se muestra en el esquema que se muestra a continuación:

  • Se ha agregado un hijo, Arrendamiento, en Gastos totales en la dimensión Medidas

  • Se ha agregado un secundario, PY Actual, a la dimensión Scenario

Figura 24-3 Medidas modificadas y dimensiones de escenario


Ejemplo de sección de esquema básico, con medidas modificadas y dimensiones Scenario.

Supongamos que los valores de datos de 1000 y 2000 se cargan en Presupuesto -> Gastos totales para Colas y Cerveza raíz, respectivamente. Estos valores se deben asignar a cada categoría de gasto, distribuyendo equitativamente los valores en función de los secundarios no faltantes de Total de gastos de PY Real. Los valores asignados se deben redondear al dólar más cercano.

Script de ejemplo:

/* Allocate budgeted total expenses based on prior year */

FIX("Total Expenses")
   Budget = @ALLOCATE(Budget->"Total Expenses",
   @CHILDREN("Total Expenses"),"PY Actual",,
   spread,SKIPMISSING,roundAmt,0,errorsToHigh)
ENDFIX

Los resultados del script de cálculo:

                             Budget   PY Actual
Colas       Marketing        334 *    150
            Payroll          #MI      #MI
            Lease            333      200
            Misc             333      100
            Total Expenses   1000     450
Root Beer   Marketing        500      300
            Payroll          500      200
            Lease            500      200
            Misc             500      400
            Total Expenses   2000     1100

* Los errores de redondeo se agregan a este valor.

Essbase recorre la base de datos realizando los siguientes cálculos:

  1. Correcciones en los secundarios de Total Expenses.

    El uso de una sentencia FIX con @ALLOCATE puede mejorar el rendimiento del cálculo.

  2. Para Presupuesto -> Colas -> Marketing, divide 1 por el recuento de valores que no faltan para cada categoría de gasto en PY Real -> Colas para cada mes.

    En este caso, 1 se divide entre 3, porque hay 3 valores de gastos que no faltan para Budget -> Colas.

  3. Toma el valor del paso 2 (.333), lo multiplica por el valor de Presupuesto -> Colas -> Gastos totales (1000) y redondea al dólar más cercano (333). El resultado se coloca en Presupuesto -> Colas -> Marketing.

  4. Repite los pasos 2 y 3 para cada categoría de gasto para Presupuesto -> Colas y, a continuación, para Presupuesto -> Cerveza raíz.

  5. Como se especifica en el script de cálculo, redondea los valores asignados al dólar entero más cercano.

    Essbase realiza una segunda transferencia por el bloque para que la suma de los valores redondeados sea igual al valor de asignación (por ejemplo, 1000 para Presupuesto -> Colas -> Gastos totales). En este ejemplo, hay un error de redondeo de 1 para Presupuesto -> Colas -> Gastos totales, porque las categorías de gastos suman hasta 999, no 1000, que es el valor de asignación. Debido a que todos los valores asignados son idénticos (333), el error de redondeo de 1 se agrega al primer valor del rango de asignación, Presupuesto -> Colas -> Marketing (por lo tanto, un valor de 334).