Orden de cálculo y resolución de orden en cubos ASO

El orden de cálculo de los cubos de almacenamiento agregado (ASO) de Essbase difiere del de los cubos de almacenamiento de bloques. Las jerarquías almacenadas y las dimensiones de atributos se consolidan y, a continuación, las jerarquías dinámicas se evalúan en función de un orden de resolución definido.

Para cubos de almacenamiento agregado, Essbase calcula los datos en el siguiente orden:

  1. Agrega miembros de jerarquías almacenadas y dimensiones de atributos. El orden en el que se agregan los miembros y las dimensiones se optimiza internamente y cambia según la naturaleza del esquema del cubo y las agregaciones existentes. Debido a que la agregación es aditiva, el orden en el que Essbase agrega las dimensiones y los miembros no afecta a los resultados.

    Puesto que el orden de agregación interno de un cubo de almacenamiento agregado no es predecible, los errores de redondeo inherentes tampoco son predecibles. Estos errores de redondeo son el comportamiento esperado en el cálculo informático y son extremadamente pequeños en relación con los valores de datos en cuestión.

  2. Calcula fórmulas y miembros de dimensión de jerarquía dinámica. El orden en el que se evalúan los miembros y las fórmulas se define mediante la propiedad de orden de resolución, que puede definir para cada miembro o dimensión. El orden de cálculo puede afectar a los resultados del cálculo.

Resolver propiedad de orden

El concepto de orden de resolución se aplica a la ejecución de consultas. Cuando se evalúa una celda en una consulta multidimensional, el orden en que se deben solucionar los cálculos puede ser ambiguo. Para eliminar la ambigüedad, puede utilizar la propiedad de orden de resolución para especificar la prioridad de cálculo necesaria.

Note:

Se recomienda especificar el orden de resolución definiendo la propiedad de orden de resolución en el nivel de miembro o dimensión. Los miembros sin fórmulas que no tengan un orden en resolución especificado heredan el orden en que se resuelve su dimensión. Los miembros con fórmulas que no tienen un orden de resolución especificado tienen un orden de resolución de cero.

Para cambiar el orden de la resolución, utilice el Editor de esquemas en la interfaz web deEssbase o use Smart View. Para especificar el orden de resolución de un miembro calculado, puede utilizar el parámetro solve_order en la con sección de una consulta MDX.

El valor de la propiedad de orden de resolución determina la prioridad con la que Essbase calcula las fórmulas. Las fórmulas en los miembros que tienen un orden que tienen un orden que resuelve especificado se calculan en orden desde el pedido de solución más bajo al más alto. Se puede especificar un orden de resolución entre 0 y 127. El valor por defecto es 0.

Puede especificar el orden de resolución en el nivel de miembro o en el nivel de dimensión. Essbase utiliza la siguiente información para definir la prioridad de cálculo:

  1. Orden de resolución de miembro

  2. Orden de resolución de dimensión (los miembros sin fórmulas para los que no especifique un orden de resolución de miembro heredan el orden de resolución de su dimensión. Los miembros con fórmulas para las que no especifique un orden de resolución de miembros tienen un orden de resolución de cero).

    Si varios miembros tienen el mismo orden de resolución, los miembros se evalúan en el orden inverso en el que sus dimensiones se producen en el esquema. El miembro que se produzca más adelante en el esquema tiene prioridad.

    El orden de cálculo de la situación de empate es diferente para los miembros calculados definidos en una consulta MDX para cubos de almacenamiento de bloques.

    Note:

    Cuando una fórmula de miembro depende del valor de otro miembro, el miembro con la fórmula debe tener una orden de resolución más alta que el miembro del que depende. Por ejemplo, en el esquema ASOSamp.Basic, la media de unidades/transacción depende del valor de unidades y de transacciones. La media de unidades/transacción debe tener una orden de resolución mayor que las unidades y las transacciones.

Ejemplo de uso de la propiedad Solve Order

El siguiente ejemplo se basa en el cubo ASOSamp.Basic. Para eliminar la ambigüedad en los resultados de la consulta, en el ejemplo se utiliza la propiedad de orden de resolución para especificar la prioridad de cálculo necesaria.

La consulta de hoja de cálculo que se muestra a continuación recupera datos para el número de unidades vendidas y el número de transacciones para enero del año actual y para enero del año anterior. El miembro Variance muestra la diferencia entre el año actual y el año anterior. El miembro de media de unidades/transacción muestra un ratio del número de unidades vendidas por transacción.

Figura 37-5 Resultados de la consulta de hoja de cálculo del cubo ASOSamp.Basic que muestran la variación entre dos ratios (C12)


En esta imagen se muestran los resultados de una consulta de hoja de cálculo, como se describe en el texto anterior a la imagen.

En la siguiente imagen se muestra el esquema del cubo para estos miembros y las fórmulas aplicadas a los miembros Variación y Media de unidades/transacción.

Figura 37-6 Cubo básico de ASOSamp.Basic que muestra las medidas, años y dimensiones de tiempo


Esta imagen muestra un esquema, como se describe en el texto que precede a la imagen.

Al calcular la varianza de la media de unidades por transacción (celda C12 en el ejemplo de la hoja de cálculo), el resultado podría ser la varianza entre los dos ratios, o el resultado podría ser la relación de las dos varianzas. El resultado depende de si Essbase da prioridad a la fórmula de varianza o a la fórmula de unidades medias/transacción.

El valor de la propiedad de orden de resolución, que se adjunta a los miembros del esquema, determina la prioridad con la que Essbase evalúa las fórmulas. Cuanto mayor sea el valor del orden de resolución, más adelante en el orden en que se calcula el miembro. Por ejemplo, una fórmula con un orden de solución de 1 se resuelve antes de que un miembro con un orden de solución de 2.

En el ejemplo, si el miembro Varianza tiene un orden de resolución inferior al miembro Unidades medias/Transacción, la fórmula del miembro Varianza tiene prioridad y el resultado es la varianza entre dos ratios. Este es el caso en el cubo ASOSamp.Basic, porque el orden de resolución del miembro Variance es 10 y el orden de resolución del miembro Average Units/Transaction es 20. La fórmula en Varianza tiene prioridad, porque el miembro Varianza tiene el orden de resolución más bajo. El resultado de la celda C12 de la consulta en el ejemplo de la hoja de cálculo es la varianza entre las dos ratios, como se muestra en la siguiente tabla:

Tabla 37-4 Uso de la propiedad Solve Order para especificar la variación entre dos ratios

Miembros Orden de resolución Fórmula Resultado de intersección de variación y media de unidades/transacción (celda C12)

Varianza

10

Año actual - Año anterior

Unidades/transacción medias del año actual - unidades/transacción medias del año anterior

0,94894382 (célula C6) - 0,954252111 (célula C9) = -0,005308291 (célula C12)

Media de unidades/transacción

20

Unidades/transacciones

Como alternativa, si cambia el cubo ASOSamp.Basic y asigna al miembro Average Units/Transaction un orden de resolución inferior al miembro Variance, la fórmula del miembro Average Units/Transaction tiene prioridad y el resultado es el ratio de dos variaciones, como se muestra en el siguiente ejemplo de tabla y hoja de cálculo:

Tabla 37-5 Uso de la propiedad Solve Order para especificar la relación de dos variaciones

Miembros Orden de resolución Fórmula Resultado de intersección de variación y media de unidades/transacción (celda C12)

Varianza

20

Año actual - Año anterior

Variación (año actual respecto al año anterior) de unidades/variación de transacciones

10585 (célula C10) / 11340 (célula C11) = 0,933421517 (célula C12)

Media de unidades/transacción

10

Unidades/transacciones

Figura 37-7 Resultados de la consulta de hoja de cálculo de ASOSamp.Basic Cube que muestra la relación de dos variaciones (C12)


En esta imagen se muestran los resultados de una consulta de hoja de cálculo, como se describe en el texto anterior a la imagen.