Qué valores se deben calcular dinámicamente
El cálculo dinámico de algunos valores de datos disminuye el tiempo de cálculo por lotes y el uso del disco, pero puede aumentar el tiempo de recuperación. Utilice las directrices que se describen en los siguientes temas al decidir qué miembros de Essbase desea calcular de forma dinámica.
Puede etiquetar cualquier miembro como Cálculo dinámico, excepto para los miembros de nivel 0 que no tengan una fórmula, miembros de solo etiqueta y miembros compartidos.
Los miembros que elija calcular dinámicamente dependen de la estructura de la base de datos y del equilibrio entre (1) la necesidad de reducir el tiempo de cálculo y el uso del disco y (2) la necesidad de recuperar datos rápidamente para los usuarios.
En la base de datos básica de ejemplo, la dimensión Year es Dynamic Calc.
Figura 21-1 Ejemplo de esquema básico que muestra miembros de cálculo dinámico

En Smart View, los usuarios pueden mostrar señales visuales para distinguir los valores calculados dinámicamente.
Al desarrollar consultas que incluyan valores calculados dinámicamente, considere utilizar la opción Navegar sin datos de Smart View para que Essbase no calcule y almacene valores dinámicamente mientras se crean las consultas de prueba.
Miembros densos y cálculo dinámico
Los buenos candidatos para los miembros de Cálculo dinámico de Essbase en una dimensión densa incluyen los miembros de nivel superior y los miembros de nivel 0 con fórmulas simples.
Considere realizar los siguientes cambios en los miembros de dimensiones densas:
-
Etiquete los miembros de nivel superior de dimensiones densas como Cálculo dinámico.
-
Intente etiquetar miembros de nivel 0 de dimensiones densas con fórmulas simples como Cálculo dinámico y evalúe el aumento del tiempo de recuperación.
Las fórmulas simples no necesitan Essbase para realizar un cálculo costoso. Las fórmulas que contienen funciones financieras u operadores multidimensionales (->) son fórmulas complejas.
Miembros dispersos y cálculo dinámico
Los buenos candidatos para los miembros de Cálculo dinámico de Essbase en una dimensión dispersa incluyen miembros de nivel superior sin muchos secundarios y miembros con fórmulas.
Considere realizar los siguientes cambios en los miembros de dimensiones dispersas:
-
Etiquete algunos miembros de nivel superior de dimensiones dispersas que tengan seis o menos secundarios como Cálculo dinámico.
-
Etiquete los miembros de dimensión dispersa con fórmulas complejas como Cálculo dinámico.
Una fórmula compleja requiere Essbase para realizar un cálculo costoso. Por ejemplo, cualquier fórmula que contenga una función financiera es una fórmula compleja. Consulte Fórmulas de miembros de Essbase complejas.
-
Etiquete los miembros de nivel superior en una dimensión que se reestructure con frecuencia como Cálculo dinámico.
-
No etiquete los miembros de dimensión dispersa de nivel superior que tengan 20 o más descendientes como Cálculo dinámico.
Relaciones Padre-Hijo y Cálculo Dinámico
Padres con un hijo
Si un miembro padre tiene uno hijo y etiqueta al hijo como Cálculo dinámico, también debe etiquetar al padre como Cálculo dinámico.
Sin embargo, si un miembro padre tiene un miembro hijo y el padre es un miembro de Cálculo dinámico, no tiene que etiquetar al hijo como Cálculo dinámico.
Dependencias de cálculo dinámico en cálculo por lotes
Si el cálculo de un miembro depende del cálculo de los miembros secundarios de Cálculo dinámico, Essbase debe calcular primero los miembros secundarios durante el cálculo de la base de datos por lotes para calcular el principal. Por lo tanto, el tiempo de cálculo regular no se reduce. Este requisito se aplica a los miembros de dimensiones dispersas y densas.
Por ejemplo, en la siguiente figura, Qtr1 es un miembro Dynamic Calc (Cálculo dinámico). Sus hijos, Jan, Feb y Mar, no son dinámicos. Su padre, Year, no es dinámico. Cuando Essbase calcula Year durante un cálculo por lotes, debe consolidar los valores de sus secundarios, incluido Qtr1. Por lo tanto, debe tardar más tiempo en calcular el trimestre 1, aunque el trimestre 1 es Cálculo dinámico.
Figura 21-2 Dimensión de año con Qtr1 como miembro de cálculo dinámico

Scripts de cálculo y cálculo dinámico
No puede realizar un cálculo de script de cálculo de un miembro de Cálculo dinámico. Si utiliza un script de cálculo para calcular un miembro de forma explícita, no lo etiquete como Cálculo dinámico.
Cuando Essbase calcula una sentencia CALC ALL o CALC DIM en un script de cálculo, omite el cálculo de los miembros de Cálculo dinámico.
Del mismo modo, si una función de conjunto de miembros (por ejemplo, @CHILDREN o @SIBLINGS) se utiliza para especificar la lista de miembros que se van a calcular, Essbase omite el cálculo de cualquier miembro de Cálculo dinámico en la lista resultante.
Si especifica un miembro Cálculo dinámico explícitamente en un script de cálculo, el script de cálculo falla.
Por ejemplo, la siguiente secuencia de comandos de cálculo solo es válida si Qtr1 no es un miembro Dynamic Calc (Cálculo dinámico):
FIX (East, Colas)
Qtr1;
ENDFIXFórmulas y miembros calculados dinámicamente
Puede utilizar miembros de Cálculo dinámico en fórmulas de esquema de Essbase, pero no como destinos de fórmula en scripts de cálculo.
Puede incluir un miembro calculado dinámicamente en una fórmula al aplicar la fórmula al esquema. Por ejemplo, si Qtr1 es un miembro de Dynamic Calc, puede colocar la siguiente fórmula en Qtr1 en el esquema de la base de datos:
Qtr1 = Jan + Feb;No puede hacer que un miembro calculado dinámicamente sea el destino de un cálculo de fórmula en un script de cálculo. Essbase no reserva memoria para un valor calculado dinámicamente y no puede asignarle un valor. Por ejemplo, si Qtr1 es un miembro de Cálculo dinámico, Essbase muestra un error de sintaxis si incluye la siguiente fórmula en un script de cálculo:
Qtr1 = Jan + Feb;Si Qtr1 es un miembro Dynamic Calc (Cálculo dinámico) y Year (Año) no, puede utilizar la siguiente fórmula en un script de cálculo:
Year = Qtr1 + Qtr2;Esta fórmula es válida porque Essbase no asigna un valor al miembro calculado dinámicamente.
Note:
Cuando hace referencia a un miembro calculado dinámicamente, ya sea en una fórmula de esquema o en un script de cálculo, Essbase interrumpe el cálculo normal para realizar el cálculo dinámico, lo que afecta al rendimiento.
Scripts y miembros calculados dinámicamente
Para evitar el exceso de cálculo cuando hay fórmulas de miembro de Cálculo dinámico dependientes del tiempo de ejecución, puede agregar SET FRMLRTDYNAMIC OFF al script de cálculo de Essbase.
La fase de preprocesamiento de una secuencia de comandos de cálculo no puede determinar si un esquema contiene miembros densos de Cálculo dinámico. Si un script contiene fórmulas dependientes del tiempo de ejecución, Essbase debe calcular todos los miembros densos de Cálculo dinámico cuando se ejecute el script. El uso del comando de cálculo SET FRMLRTDYNAMIC OFF mejora el rendimiento al detener el cálculo de estos miembros de Dynamic Calc.