Orden de cálculo de celda

El orden en el que Essbase calcula las celdas de cada bloque de datos depende de cómo haya configurado la base de datos.

Cada bloque de datos contiene todos los valores de miembros de dimensión densos para su combinación única de miembros de dimensión dispersos. Cada valor de datos está contenido en una celda del bloque de datos.

La configuración de la base de datos determina el orden de cálculo de los miembros de dimensión densa dentro de cada bloque, así como el orden de cálculo de los bloques que representan miembros de dimensión dispersos.

Observe los ejemplos siguientes:

Orden de cálculo de celdas: ejemplo 1

En este ejemplo, considere un segmento de datos en una dimensión densamente almacenada. El orden de las dimensiones define el orden de cálculo. Los valores #MISSING se deben consolidar y no hay fórmulas. Essbase puede calcular el segmento en una sola transferencia.

En este ejemplo, que es el caso más sencillo, estas condiciones son verdaderas:

  • Ninguna dimensión tiene etiquetas de tiempo o cuentas.

  • La configuración para consolidar los valores #MISSING está activada.

  • El mercado y el año son dimensiones densas.

    Essbase calcula las dimensiones densas en el orden en que se definen en el esquema de la base de datos. Supongamos que la dimensión Year se coloca en el esquema de la base de datos antes de la dimensión Market y se calcula primero.

La siguiente cuadrícula muestra un segmento (un subjuego de las celdas de un bloque de datos). En la cuadrícula, el orden de cálculo de las celdas de la división se representa con los números del 1 al 6.

Tabla 19-3 Ejemplo 1 de orden de cálculo: celdas de entrada y celdas calculadas

Mercado anual New York Massachusetts Este
Ene 112.345 68.754 3
Feb 135.788 75.643 4
Mar 112.234 93.456 5
Trim1 1 2 6

Los valores de datos se han cargado en las siguientes celdas de entrada:

  • Jan -> Nueva York

  • Febrero -> Nueva York

  • Mar -> Nueva York

  • Jan -> Massachusetts

  • Febrero -> Massachusetts

  • Mar -> Massachusetts

Essbase calcula las celdas en el siguiente orden.

  1. Qtr1 -> Nueva York

  2. Qtr1 -> Massachusetts

  3. Jan -> Este

  4. Febrero -> Este

  5. Mar -> Este

  6. Trimestre 1 -> Este

Qtr1 -> Este tiene varias rutas de consolidación; se puede consolidar en el mercado o en el año. Cuando se consolida en Market, es una consolidación de Qtr1 -> Nueva York y Qtr1 -> Massachusetts. Cuando se consolida en Year, es una consolidación de Jan -> East, Feb -> East y Mar -> East.

Essbase sabe que Qtr1 -> East tiene varias rutas de consolidación. Por lo tanto, calcula Qtr1 -> East solo una vez consolidando los valores para Qtr1 y utiliza la ruta de consolidación de la última dimensión calculada (en este ejemplo, la dimensión Market), como se muestra a continuación.

Tabla 19-4 Ejemplo 1 de orden de cálculo: resultados

Mercado anual New York Massachusetts Este
Ene 112.345 68.754 181.099
Feb 135.788 75.643 211.431
Mar 112.234 93.456 205.690
Trim1 360.367 237.853 598.220

Según el orden de cálculo, si coloca una fórmula de miembro en Qtr1, Essbase la ignora al calcular Qtr1 -> Este. Si coloca una fórmula de miembro en East, la fórmula se calcula cuando Essbase consolida Qtr1 -> East en Market.

Si es necesario, puede utilizar un script de cálculo para calcular las dimensiones en el orden que elija.

Orden de cálculo de celdas: ejemplo 2

En este ejemplo, considere un segmento de datos en una dimensión densa almacenada. La configuración de la base de datos determina que el orden de las dimensiones define el orden de cálculo. Se debe calcular un bloque dos veces.

En este ejemplo, estas condiciones son verdaderas:

  • Ninguna dimensión tiene etiquetas de tiempo o cuentas.

  • La configuración para consolidar los valores #MISSING está desactivada (valor predeterminado).

  • El mercado y el año son dimensiones densas.

    Essbase calcula las dimensiones densas en el orden en que se definen en el esquema de la base de datos. Supongamos que la dimensión Year se coloca en el esquema de la base de datos antes de la dimensión Market y se calcula primero.

La siguiente cuadrícula muestra un segmento (un subjuego de las celdas de un bloque de datos). En la cuadrícula, el orden de cálculo de las celdas de la división se representa con los números del 1 al 7.

Tabla 19-5 Ejemplo 2 de orden de cálculo: celdas de entrada y celdas calculadas

Mercado anual New York Massachusetts Este
Ene 112.345 68.754 4
Feb 135.788 75.643 5
Mar 112.234 93.456 6
Trim1 1 2 3/7

Los valores de datos se han cargado en las siguientes celdas de entrada:

  • Jan -> Nueva York

  • Febrero -> Nueva York

  • Mar -> Nueva York

  • Jan -> Massachusetts

  • Febrero -> Massachusetts

  • Mar -> Massachusetts

Essbase calcula las celdas Qtr1 para las celdas Nueva York, Massachusetts y Este y Este para enero, febrero y marzo.

  1. Qtr1 -> Nueva York

  2. Qtr1 -> Massachusetts

  3. Trimestre 1 -> Este

  4. Jan -> Este

  5. Febrero -> Este

  6. Mar -> Este

  7. Trimestre 1 -> Este

Qtr1 -> East se calcula en las rutas de consolidación Year y Market. En primer lugar, Qtr1 -> Este se calcula como una consolidación de Qtr1 -> Nueva York y Qtr1 -> Massachusetts. Segundo, Qtr1 -> Este se calcula como una consolidación de Jan -> Este, Feb -> Este, y Mar -> Este.

Los resultados son idénticos a los resultados, por ejemplo 1. Sin embargo, Qtr1 -> Este se ha calculado dos veces. Este hecho es significativo cuando necesita cargar datos en los niveles principales.

Según el orden de cálculo, si coloca una fórmula de miembro en Qtr1, su resultado se sobrescribe cuando Essbase consolida Qtr1 -> Este en el mercado. Si coloca una fórmula de miembro en East, el resultado se mantiene, porque Market se calcula en último lugar.

Tabla 19-6 Ejemplo 2 de orden de cálculo: resultados

Mercado anual New York Massachusetts Este
Ene 112.345 68.754 181.099
Feb 135.788 75.643 211.431
Mar 112.234 93.456 205.690
Trim1 360.367 237.853 598.220

Orden de cálculo de celdas: ejemplo 3

En este ejemplo, considere una porción de datos en una dimensión densamente almacenada. La configuración de la base de datos determina que el orden de las dimensiones define el orden de cálculo. Hay dos rutas de consolidación mediante las cuales se calcularán los bloques.

Los datos de entrada no de nivel 0 se deben calcular a lo largo de los miembros de la región de la dimensión Mercado. Faltan datos para los mercados infantiles. Aunque los valores #MISSING no están consolidados y no hay fórmulas, Essbase realiza dos pasadas.

En este ejemplo, estas condiciones son verdaderas:

  • Ninguna dimensión tiene etiquetas de tiempo o cuentas.

  • La configuración para consolidar los valores #MISSING está desactivada (valor predeterminado).

  • Los valores de datos se han cargado en los niveles principales.

  • El mercado y el año son dimensiones densas.

    Essbase calcula las dimensiones densas en el orden en que se definen en el esquema de la base de datos. Supongamos que la dimensión Year se coloca en el esquema de la base de datos antes de la dimensión Market y se calcula primero.

La siguiente cuadrícula muestra un segmento (subjuego de celdas en un bloque de datos) que necesita cálculo.

Tabla 19-7 Ejemplo 3 de orden de cálculo: celdas de entrada y valores #MISSING

Mercado anual New York Massachusetts Este
Ene #FALTA #FALTA 181.099
Feb #FALTA #FALTA 211.431
Mar #FALTA #FALTA 205.690
Trim1 #FALTA #FALTA  

Las celdas se calculan en el mismo orden que en Orden de cálculo de celda: ejemplo 2. Qtr1 -> East se calcula en las rutas de consolidación Year y Market.

Debido a que la configuración para consolidar los valores #MISSING está desactivada, Essbase no consolida los valores #MISSING. Por lo tanto, los datos que se cargan en los niveles principales no se sobrescriben con los valores #MISSING debajo de ellos.

Sin embargo, si alguno de los valores de datos secundarios no es #MISSING, estos valores se consolidan y sobrescriben los valores principales. Por ejemplo, si Jan -> Nueva York contiene 50000.00, este valor sobrescribe los valores cargados en los niveles principales.

Essbase debe calcular la celda Qtr1 -> East dos veces para asegurarse de que se calcula un valor para la celda. Si Qtr1 -> East se calcula solo según la última ruta de consolidación, el resultado es #MISSING, que no es el resultado necesario.

Los resultados muestran que Essbase primero calcula correctamente la celda Qtr1 -> Este consolidando Jan -> Este, Feb -> Este y Mar -> Este y, a continuación, calcula la ruta de consolidación del mercado. Sin embargo, no consolida los valores #MISSING en Qtr1 -> Nueva York y Qtr1 -> Massachusetts; por lo tanto, el valor en Qtr1 -> Este no se sobrescribe.

Tabla 19-8 Ejemplo 3 de orden de cálculo: resultados

Mercado anual New York Massachusetts Este
Ene #FALTA #FALTA 181.099
Feb #FALTA #FALTA 211.431
Mar #FALTA #FALTA 205.690
Trim1 #FALTA #FALTA 598.220

Orden de cálculo de celdas: ejemplo 4

En este ejemplo, considere una porción de datos en una dimensión almacenada. La configuración de la base de datos determina en qué orden se calcularán los bloques.

Algunos datos de entrada no de nivel 0 se deben calcular a lo largo de los miembros de trimestre de la dimensión Tiempo. Faltan los datos de los meses secundarios. La forma en que se configura este cubo, la dimensión Cuentas se calcula primero y los valores #MISSING no se consolidan. No hay fórmulas en la jerarquía de cuentas de esta división.

En este ejemplo, estas condiciones son verdaderas:

  • La dimensión Year se etiqueta como Time.

  • La dimensión Measures está etiquetada como Accounts.

    Essbase calcula una dimensión etiquetada como Cuentas en primer lugar, seguida de una dimensión etiquetada como Tiempo. Por lo tanto, en este ejemplo, Measures se calcula antes de Year.

  • La configuración para consolidar los valores #MISSING está desactivada (valor predeterminado).

  • Los valores de Marketing, Nómina y Gastos Varios se han cargado en trimestres (nivel 1).

La siguiente imagen muestra la rama Profit de la dimensión Measures en la base de datos Sample Basic. En este ejemplo se asume que Total Expenses está almacenado (no es un miembro de Dynamic Calc).

Figura 19-9 Rama de beneficios de la dimensión Medidas


Rama de beneficios de la dimensión Measures.

Puesto que no hay fórmulas y #MISSING no se consolida, los valores de nivel superior no se sobrescriben. Los valores de datos con dos rutas de consolidación (las medidas no de nivel 0) se calculan dos veces.

La siguiente cuadrícula muestra un segmento (un subjuego de las celdas de un bloque de datos). En la cuadrícula, el orden de cálculo de las celdas de la división se representa con los números del 1 al 17.

Tabla 19-9 Ejemplo 4 de orden de cálculo: celdas de entrada, valores #MISSING y celdas calculadas

Medidas/Año Ene Feb Mar Trim1
Sales 31.538 32.069 32.213 13
COGS 14.160 14307 14.410 14
Margen 1 4 7 10/15
Marketing #FALTA #FALTA #FALTA 15.839
Nómina #FALTA #FALTA #FALTA 12.168
Varios #FALTA #FALTA #FALTA 233
Total de gastos 2 5 8 11/16
Beneficio 3 6 9 12/17

Las siguientes celdas tienen varias rutas de consolidación:

  • Margen -> Trimestre 1

  • Total de gastos -> Trimestre 1

  • Ganancia -> Trimestre 1

Debido a que la configuración para consolidar los valores #MISSING está desactivada, Essbase no consolida los valores #MISSING. Los datos cargados en los niveles principales no se sobrescriben con los valores #MISSING y Essbase calcula las celdas con varias rutas de consolidación dos veces.

Según el orden de cálculo, si colocó una fórmula en Margen, su resultado se sobrescribiría mediante la consolidación en el trimestre 1.

Los resultados se muestran a continuación:

Tabla 19-10 Ejemplo 4 de orden de cálculo: resultados

Medidas/Año Ene Feb Mar Trim1
Sales 31.538 32.069 32.213 95.820
COGS 14.160 14307 14.410 42.877
Margen 17.378 17.762 17.803 52.943
Marketing #FALTA #FALTA #FALTA 15.839
Nómina #FALTA #FALTA #FALTA 12.168
Varios #FALTA #FALTA #FALTA 233
Total de gastos       28.240
Beneficio 17.378 17.762 17.803 12/17

Orden de cálculo de celdas para fórmulas en una dimensión densa

Al colocar una fórmula en un miembro de dimensión densa, considere cuidadosamente el orden de cálculo de la celda. Como se muestra en los ejemplos anteriores, la dimensión calculada por última vez sobrescribe los cálculos de celdas anteriores para celdas con varias rutas de consolidación.

El orden de cálculo de celdas dentro de un bloque de datos no se ve afectado por las fórmulas de los miembros. Cuando Essbase encuentra una fórmula en un bloque de datos, bloquea cualquier otro bloque de datos necesario, calcula la fórmula y continúa con el cálculo del bloque de datos.

Si es necesario, puede utilizar un script de cálculo para cambiar el orden en el que se calculan las dimensiones. Consulte Desarrollo de scripts de cálculo para cubos de almacenamiento de bloques y Desarrollo de fórmulas para cubos de almacenamiento de bloques.