Orden de cálculo de miembro
El orden predeterminado en el que Essbase calcula los miembros del esquema es, en general: Cuentas, Tiempo, denso y disperso, teniendo en cuenta el orden de las dimensiones del esquema y si se aplican fórmulas.
Cuando se realiza un cálculo predeterminado (CALC ALL) en una base de datos, Essbase calcula las dimensiones en este orden:
-
Si existe una dimensión etiquetada como cuentas y una dimensión etiquetada como tiempo, y si se aplican fórmulas a los miembros de la dimensión de cuentas, Essbase calcula en este orden:
-
Dimensión etiquetada como cuentas
-
Dimensión etiquetada como hora
-
Otras dimensiones densas (en el orden en que se muestran en el esquema de la base de datos)
-
Otras dimensiones ligeras (en el orden en que se muestran en el esquema de la base de datos)
-
-
De lo contrario, Essbase calcula en este orden:
-
Dimensiones densas (en el orden en que se muestran en el esquema de la base de datos)
-
Dimensiones dispersas (en el orden en el que se muestran en el esquema)
-
Note:
Las dimensiones de atributo, que no se incluyen en la consolidación de la base de datos, no afectan al orden de cálculo. Consulte Trabajo con atributos de Essbase.
En la base de datos Sample Basic, las dimensiones se calculan en este orden: Measures, Year, Scenario, Product y Market.
Puede sustituir el orden por defecto mediante un script de cálculo. Consulte Desarrollo de scripts de cálculo para cubos de almacenamiento de bloques.
Efectos de cálculo de relaciones de miembros
El orden de cálculo dentro de cada dimensión de Essbase depende de las relaciones entre los miembros del esquema. La forma en que los miembros del resumen se acumulan (consolidan) es comparable a un cuentakilómetros.
Dentro de cada rama (jerarquía) de una dimensión, los valores de nivel 0 se calculan primero, seguidos de su valor principal de nivel 1. A continuación, se calculan los valores de nivel 0 de la siguiente rama, seguidos de su valor principal de nivel 1. El cálculo continúa de esta manera hasta que se calculan todos los niveles.
En la siguiente imagen se muestra la dimensión Year de la base de datos básica de ejemplo. El orden de cálculo de sus miembros se indica a la izquierda de cada miembro. En este ejemplo se asume que los miembros principales no están etiquetados como Cálculo dinámico.
Figura 19-3 Orden de cálculo para la dimensión Year de la muestra básica

Jan es el primer miembro de la primera rama. Jan no tiene ninguna fórmula, por lo que no se evalúa. Lo mismo se aplica a Feb y Mar, los otros dos miembros de la rama.
Essbase calcula el trimestre 1 consolidando enero, febrero y marzo. En este ejemplo, estos meses se agregan, como indica el operador de consolidación +, para proporcionar un valor para el trimestre 1.
A continuación, Essbase calcula las bifurcaciones Qtr2 a Qtr4 de la misma forma.
Por último, Essbase calcula el miembro Year consolidando los valores de Qtr1 a Qtr4. Como indican los operadores de consolidación +, estos trimestres se agregan para proporcionar un valor para Year.
Cómo se consolidan los miembros
Puede elegir cómo consolida Essbase los miembros en un cubo de almacenamiento de bloques aplicando un operador de cálculo (+, -, /, *, %, ~, ^) a los miembros del esquema de la base de datos.
Si un miembro de cuentas tiene una etiqueta de saldo de tiempo (primero, último o medio), Essbase la consolida según corresponda. Consulte Calcular primero, último y promedio de valores.
Si un miembro principal tiene un operador de solo etiqueta, Essbase no calcula el principal a partir de sus secundarios.
Si un miembro tiene un operador ~, Essbase no consolida el miembro hasta su principal.
Si un miembro tiene un operador ^, Essbase no consolida el miembro en ninguna dimensión.
Note:
Si utiliza cálculos dinámicos, Essbase puede utilizar un orden de cálculo diferente. Consulte Orden de cálculo para el cálculo dinámico.
Orden de dimensiones en el esquema de base de datos
Para garantizar los resultados de cálculo necesarios, tenga en cuenta el orden de cálculo de las dimensiones en el esquema de Essbase si utiliza operadores de cálculo para dividir (/), multiplicar (*), calcular porcentajes (%) para los miembros o si algunos miembros tienen fórmulas.
No es necesario considerar el orden de cálculo si sólo se utilizan operadores de cálculo para añadir (+) y restar (–) miembros en el esquema de la base de datos y no se utilizan fórmulas en el esquema.
Fórmulas en miembros en el esquema de base de datos
Si coloca fórmulas en miembros en el esquema de Essbase, tenga en cuenta el orden de cálculo de las dimensiones. Una fórmula asociada a un miembro en una dimensión puede sobrescribirse mediante un cálculo posterior en otra dimensión.
Por ejemplo, la base de datos Básica de ejemplo tiene una dimensión Medidas, etiquetada como cuentas, y una dimensión Año, etiquetada como tiempo.

Las medidas se calculan primero y segundo año. Si asocia una fórmula a Margen en la dimensión Medidas, Essbase calcula la fórmula cuando calcula la dimensión Medidas. A continuación, Essbase sobrescribe la fórmula al consolidar la dimensión Year. Consulte Orden de cálculo de celdas.
Uso de los operadores de cálculo *, / y %
Si utiliza operadores de cálculo para multiplicar ( * ), dividir ( / ) y calcular los porcentajes ( % ) de los miembros en el esquema de Essbase, tenga en cuenta el orden de cálculo de las dimensiones. Los valores calculados necesarios se pueden sobrescribir mediante un cálculo posterior en otra dimensión.
Por ejemplo, la base de datos Básica de ejemplo tiene una dimensión Medidas, etiquetada como cuentas, y una dimensión Año, etiquetada como tiempo. Las medidas se calculan primero y segundo año. Si multiplica miembros en la dimensión Medidas, los resultados calculados se pueden sobrescribir cuando Essbase consolida valores en la dimensión Año. Consulte Orden de cálculo de celda.
Cuando utilice un operador de multiplicación ( * ), división ( / ) o porcentaje ( % ) para consolidar miembros, ordene cuidadosamente a los miembros de la rama para obtener el resultado necesario.
La Figura 19-4 muestra los operadores de cálculo tal y como aparecen en un esquema. Supongamos que el usuario desea dividir el total de Niño 2 y Niño 3 por Niño 1. Sin embargo, si Child 1 es el primer miembro, Essbase empieza por Child 1, empezando por el valor #MISSING y dividiéndolo por Child 1. El resultado es #MISSING. Essbase agrega el secundario 2 y el secundario 3. Obviamente, este resultado no es el necesario.
Figura 19-4 Operadores de Cálculo en el Esquema de la Base de Datos

Para calcular el resultado correcto, haga del hijo 1 el último miembro de la rama.
Puede aplicar una fórmula a un miembro en el esquema de la base de datos para lograr el mismo resultado. Sin embargo, es mucho más eficaz utilizar estos operadores de cálculo en los miembros, como se muestra en la Figura 19-4.
Evitar referencias de cálculo hacia adelante
Para obtener los resultados de cálculo esperados, asegúrese de que el esquema no contiene referencias de cálculo a plazo. Las referencias de cálculo de reenvío se producen cuando el valor de un miembro de cálculo depende de un miembro que Essbase aún no ha calculado. En estos casos, puede que Essbase no genere los resultados de cálculo necesarios.
Por ejemplo, considere la dimensión Product que se muestra a continuación, que tiene tres referencias de cálculo futuro: dos miembros compartidos (P100–20 y P300–20) y un miembro no compartido (P500–20):
Figura 19-5 Dimensión de producto con referencias de cálculo hacia adelante

En el Editor de esquemas, al verificar el esquema, Essbase identifica los miembros compartidos con referencias de cálculo de reenvío. Al verificar el esquema, no se identifican los miembros no compartidos que tienen referencias de cálculo anticipado. Puede guardar y utilizar un esquema que contenga referencias de cálculo de reenvío.
Considere los cinco miembros bajo dieta. Los miembros P100-20, P300-20 y P500-20 tienen referencias de cálculo a plazo:
-
P100-20 (+) (Miembro compartido): Essbase calcula el miembro compartido P100-20 antes de calcular el miembro prototipo P100-20. Dado que el miembro prototipo P100-20 tiene elementos secundarios, Essbase debe calcular el miembro prototipo agregando sus elementos secundarios para poder calcular con precisión el miembro compartido P100-20.
-
P300-20 (+) (Miembro compartido): Essbase calcula el miembro compartido P300-20 antes de calcular el miembro prototipo P300-20. Dado que el miembro prototipo P300-20 tiene una fórmula, Essbase debe calcular el miembro prototipo antes de poder calcular con precisión el miembro compartido P300-20.
-
P500-20 (+) ("P200-20" + "P300-20"): la fórmula aplicada a P500-20 hace referencia a miembros que Essbase aún no ha calculado. Uno de estos miembros prototipo, P300-20, tiene su propia fórmula, y Essbase debe calcular P300-20 antes de poder calcular P500-20 con precisión. Los miembros P200-20 y P400-20 se calculan correctamente, ya que no tienen referencias de cálculo a plazo.
-
P200-20 (+) (Miembro compartido): P200-20 no es una referencia de cálculo futuro, aunque Essbase calcula el miembro compartido P200-20 antes de calcular el miembro prototipo P200-20. El miembro prototipo P200-20 no tiene dependencias de cálculo (ni hijos ni fórmula). Por lo tanto, Essbase no necesita calcular el miembro prototipo antes que el miembro compartido. Essbase simplemente toma el valor del miembro prototipo.
-
P400-20 (+) ("P200-10" * 2): P400-20 no es una referencia de cálculo a plazo, aunque la fórmula que se aplica a P400-20 hace referencia a un miembro que Essbase aún no ha calculado. El prototipo de miembro de la fórmula no tiene dependencias de cálculo. P200-10 es el único miembro en la fórmula, y P200-10 no tiene hijos o una fórmula. Essbase calcula con precisión P400-20.
Para obtener resultados de cálculo precisos para P100-20, P300-20 y P500-20, cambie el orden de los miembros en el esquema. Al colocar los miembros de dieta compartida después de los miembros normales, como se muestra a continuación, asegúrese de que Essbase calcula los miembros en el orden necesario.
Figura 19-6 Dimensión de producto cambiada sin referencias de cálculo hacia adelante

Ahora, Essbase calcula:
-
El miembro prototipo P100-20 antes de calcular el miembro compartido P100-20. Por lo tanto, P100-20 ya no tiene una referencia de cálculo a plazo.
-
El miembro prototipo P300-20 antes del miembro compartido P300-20. Por lo tanto, P300-20 ya no tiene una referencia de cálculo a plazo.
-
El miembro con una fórmula, P300-20, antes que el miembro P500-20. Por lo tanto, el P500-20 ya no tiene una referencia de cálculo a plazo.