Ejemplos de fórmulas de controlador personalizadas

En los ejemplos de fórmulas de controlador personalizadas se dan por supuestos los siguientes valores:

  • Dimensiones de etapa 1: GL_ Department x GL_Account

  • Dimensiones de etapa 2: ACT_Department x ACT_Activity

Durante el proceso de generación de un script de cálculo en Oracle Hyperion Profitability and Cost Management, se inserta el script definido para un parámetro personalizado en cualquier origen que utilice dicho parámetro. El script generado por el sistema creará las declaraciones FIX que señalen a combinaciones de origen y destino, tal y como se definieron en la lógica de asignación adjunta al origen.

No es necesario que el script de parámetro personalizado proporcione dicha declaración, pero puede aprovecharla o modificarla para hacer referencia a datos de otras ubicaciones que, por lo general, se definen para las ubicaciones de medida Destino, Origen, Asignación o Global

Los usos más habituales de los controladores personalizados están basados en la capacidad de hacer referencia a datos de otras ubicaciones que no sean las cuatro más comunes. De este modo, el usuario podrá introducir medidas de controlador en los niveles superiores de la jerarquía o en un número menor de intersecciones.

La declaración FIX predeterminada que calcula la medida CalculatedDriverValue refleja el vínculo entre el origen y el destino. Con las etapas de ejemplo, se muestra a continuación la declaración FIX que crea el script generado por el sistema:

GL_Department.member x GL_Account.member x ACT_Department.member x ACT_Activity.member

donde los miembros de cada dimensión reflejan las intersecciones de origen y de destino para la asignación que se está realizando.

En los siguientes ejemplos se modifica la declaración FIX predeterminada para recuperar las medidas de controlador de otra ubicación. Recuerde que, si el mismo al que hace referencia la declaración FIX predeterminada es el adecuado para sus fines, no será necesario reemplazarlo.

Ejemplo 1: la referencia a una medida de controlador localizada en una de las dimensiones de destino provoca un cruce con NoMember en la otra (en este caso, ACT_Department).

"CalculatedDriverValue" = "DriverMeasure" ->"[ACT_Activity.NoMember] ->"[ GL_Department.NoMember] ->"[ GL_Account.NoMember];

Utilice esta fórmula cuando sólo hay un valor de controlador para todo el departamento. Por ejemplo, pies cuadrados, metros o personal.

Ejemplo 2: la referencia a una medida de controlador localizada en el padre de una de las dimensiones de destino provoca un cruce con NoMember en la otra:

"CalculatedDriverValue" = "DriverMeasure" ->"[ACT_Activity.NoMember]"->"(@PARENT(ACT_Department)" ->"[ GL_Department.NoMember] ->"[ GL_Account.NoMember];

También puede hacer referencia a la generación del antecesor desde la que desea recuperar el valor con la función @ANCSET. En este ejemplo, el controlador extrae el valor de DriverMeasure del antecesor de la generación 2 del miembro del destino Departament:

"CalculatedDriverValue" = "DriverMeasure" ->"[ACT_Activity.NoMember]"->"(@ANCEST(ACT_Department, 2)" ->"[ GL_Department.NoMember] ->"[ GL_Account.NoMember];

Otro de los usos más comunes es el de extraer el cálculo del valor del controlador de la naturaleza de la combinación origen/destino. Con esta opción, el controlador puede adaptarse a otras circunstancias más específicas, en función de las características de las intersecciones implicadas en la asignación.

Ejemplo 3: referencia a otra medida para el cálculo del controlador a partir del UDA de uno de los miembros de destino:

IF(@ISUDA(Activity,"UDA1"))

"CalculatedDriverValue" = {Measure1->Destination};

ELSE IF (@ISUDA(Activity,"UDA2"))

"CalculatedDriverValue" = {Measure2->Destination};

ELSE IF (@ISUDA(Activity,"UDA3"))

"CalculatedDriverValue" = {Measure3->Destination};

ENDIF;

Utilice esta fórmula como clave de la fórmula del parámetro de una característica del destino, por ejemplo, como un factor de formato del producto o clasificación del producto. Tenga en cuenta que la sintaxis en el ejemplo: ‘{Medida1->Destino}’ no coincide con la sintaxis de script de cálculo de Oracle Essbase. El uso de las llaves ({ }) permite a Profitability and Cost Management interpretar el "->Destino", para reemplazarlo por el destino real objetivo. Cuando el script se despliega en Essbase, Profitability inserta las referencias y la sintaxis de miembros correctas.