Supervisión y Rastreo de Cálculos

Supervise y realice un seguimiento de los cálculos de Essbase para obtener información detallada sobre el procesamiento de fórmulas de miembros. CALCTRACE y SET TRACE le ayudan a rastrear los cálculos que se ejecutan desde Smart View o en cálculos almacenados. Para registrar estadísticas de rendimiento para pruebas, puede utilizar SET MSG y SET NOTICE.

Para activar el rastreo de cálculo, utilice la propiedad de configuración CALCTRACE y, a continuación, utilice Smart View para iniciar el rastreo sensible al contexto, o bien utilice el comando SET TRACE en una secuencia de comandos de cálculo para seleccionar las intersecciones de datos que desea rastrear. Consulte Cálculos de rastreo para obtener más información.

Para mostrar información en el registro de la aplicación sobre cómo Essbase calcula el cubo, puede utilizar SET MSG y SET NOTICE en un script de cálculo. Consulte SET Commands for Calc Testing and Statistics.

Rastreo de cálculos

Utilice el rastreo de cálculo de Essbase para analizar el procesamiento de fórmulas de miembro, lo cual le ayudará a depurar y refinar los scripts de cálculo de almacenamiento de bloques. Active CALCTRACE para el rastreo de cálculo contextual de Smart View, o utilice el comando SET TRACE para seleccionar las intersecciones de datos que se rastrearán.

El rastreo de cálculo permite acceder a información registrada sobre un cálculo, una vez ejecutado correctamente el script de cálculo en un cubo.

El rastreo de un cálculo no cambia nada sobre el comportamiento del cálculo. Si el cálculo se inicia en Smart View y el servidor conectado tiene el rastreo de cálculo activado por un administrador, Smart View muestra un cuadro de diálogo emergente que contiene detalles, después de ejecutar el cálculo. La información de rastreo de cálculo se puede pegar desde el cuadro de diálogo emergente en un editor de texto. O bien, puede encontrar la misma información en calc_trace.txt, ubicado en el directorio de archivos de base de datos en Essbase.

La información de rastreo de cálculo puede ayudar a depurar la ejecución del script de cálculo, en caso de que los resultados del cálculo no sean los esperados.

El rastreo de cálculo no está soportado en aplicaciones con la gestión de escenarios activada.

Para activar un rastreo de cálculo, el administrador deberá activar primero el parámetro de configuración de aplicación CALCTRACE. Una vez activado el rastreo de cálculos en su aplicación, hay dos formas de aprovechar las ventajas que ofrece:

  • En Smart View, puede utilizar el rastreo sensible al contexto en un solo valor de celda.
    1. En Smart View, conecte una hoja de consultas a la aplicación en la que ha activado el rastreo de cálculos.
    2. Resalte una celda de datos cuyo valor calculado desee rastrear.
    3. En el panel Datos del separador Essbase, haga clic en el botón Calcular y seleccione un script de cálculo para ejecutarlo. Verá el punto de vista de la celda de datos resaltada en las peticiones de datos de tiempo de ejecución del rastreo de miembros.
    4. Haga clic en Iniciar para ejecutar el script de cálculo.

      Se calculará el ámbito completo del cálculo tal como se incluye en el script, pero solo se rastreará el contexto de las celdas de datos resaltadas durante el cálculo.

    5. Al finalizar el script de cálculo, examine el cuadro de diálogo Resultado del cálculo, que muestra los resultados anteriores y posteriores al cálculo de la celda de datos resaltada.

      Si la celda de datos resaltada no se ha modificado durante el cálculo, aparecerá un mensaje que indica que la celda no se ha modificado.

  • En los scripts de cálculo, puede utilizar el comando SET TRACE de cálculo para seleccionar intersecciones de datos para rastrearlas. SET TRACE permite rastrear varias celdas de datos. Además, puede rastrear secciones de los scripts de cálculo combinando SET TRACE mbrList (para activar la trazabilidad de cálculo en una lista del miembro) y SET TRACE OFF (para desactivarlo hasta que se encuentra un nuevo botón SET TRACE en el script). Para utilizar el comando SET TRACE, debe ejecutar el script de cálculo fuera de Smart View, mediante Cube Designer, el comando calc de la CLI, un trabajo Run Calculation en la interfaz web de Essbase o la sentencia MaxL (ejecute Calculation).

El siguiente script de cálculo se ejecuta en Básico de ejemplo. El script incluye un comando SET TRACE, que solicita información detallada que registrar para la intersección de datos (celda) que representa la ventas de enero presupuestadas, en el mercado de California, para el número 100-10 de SKU del producto.

SET TRACEID "id042"
SET TRACE ("100-10", "California", "Jan", "Sales", "Budget");
FIX("California", "Budget")
   "Sales" (
      "100-10" = @MEMBER(@CONCATENATE(@NAME(@PARENT("Product")), "-20")) / 10;
   );
ENDFIX;

Note:

También se recomienda el comando SET TRACEID para evitar que el archivo de rastreo de cálculo se sobrescriba.

Básico de ejemplo tiene dos dimensiones ligeras: Producto y Mercado. La fórmula de miembro está en Ventas (un miembro de Medidas), que es una dimensión densa. La lista de miembros de la sentencia FIX solo contiene un miembro ligero, California, que pertenece a la dimensión Mercado.

El número de bloques existentes en el ámbito FIX determina el número de veces que se calcula la celda rastreada. En este ejemplo, el cálculo recorre todas las combinaciones de miembros ligeros existentes de California. Cada una de estas combinaciones representa un bloque.

Una vez terminado el cálculo, se registra y se muestra la siguiente información del rastreo en calc_trace_id042.txt:

Tracing cell: [100-10][California][Jan][Sales][Budget]  (Cell update count: 1)
Previous value: 840.00
Dependent values: 
	[100-20][California][Jan][Sales][Budget] = 140.00
New value: [100-10][California][Jan][Sales][Budget] = 14.00

Computed in lines: [91 - 93] using:
"Sales"(
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10;
)

Tracing cell: [100-10][California][Jan][Sales][Budget]  (Cell update count: 2)
Block from FIX scope: [100-30][California]
Actual block used in calculation: [100-10][California]
Previous value: 14.00
Dependent values: 
	[100-20][California][Jan][Sales][Budget] = 140.00
New value: [100-10][California][Jan][Sales][Budget] = 14.00
Computed in lines: [91 - 93] using:
"Sales"(
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10;
)

Tracing cell: [100-10][California][Jan][Sales][Budget]  (Cell update count: 3)
Block from FIX scope: [200-10][California]
Actual block used in calculation: [100-10][California]
Previous value: 14.00
Dependent values: 
	[200-20][California][Jan][Sales][Budget] = 520.00
New value: [100-10][California][Jan][Sales][Budget] = 52.00
Computed in lines: [91 - 93] using:
"Sales"(
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10;
)

[...calc iterations 4-7 are omitted from example...]

Tracing cell: [100-10][California][Jan][Sales][Budget]  (Cell update count: 8)
Block from FIX scope: [400-30][California]
Actual block used in calculation: [100-10][California]
Previous value: 9.00
Dependent values: 
	[400-20][California][Jan][Sales][Budget] = 90.00
New value: [100-10][California][Jan][Sales][Budget] = 9.00
Computed in lines: [91 - 93] using:
"Sales"(
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10;
)

El log de rastreo de cálculo proporciona las siguientes estadísticas sobre cómo ha funcionado el cálculo, en la celda que se ha rastreado:

  • Se ha calculado la celda rastreada varias veces y se ha sobrescrito el valor de la misma cada vez con el valor nuevo (el recuento de actualizaciones de celdas notificadas se detiene en 8).

  • El valor de la celda, antes del cálculo, era 840,00.

  • Para cada incidencia de cálculo, se muestran valores dependientes y nuevos. Los valores dependientes provienen de la fórmula de miembro de la sentencia FIX.

  • El valor final de la celda rastreada, después de la finalización de todo el cálculo, es 9, pero representa el valor del producto "400-20"->California dividido entre 10.

  • Las líneas 91-93 del script de cálculo, que contienen una fórmula de miembro en Ventas, son responsables de los valores actualizados.

Para cada uno de los bloques recorridos, Ventas se calcula mediante la fórmula:

"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10

La fórmula contiene un miembro ligero en el lado izquierdo, lo que puede hacer que el bloque de cálculo real sea diferente del bloque FIX inicial. Por ejemplo, cuando el cálculo recorre "California"->"100-20", en realidad los cálculos se realizan en "California"->"100-10".

Las entradas de los logs de rastreo denominados Block from FIX scope y Actual block used in calculation solo se imprimen si hay una discrepancia entre el bloque de la sentencia FIX y el bloque que se representa en la fórmula de miembro. Estas entradas de log pueden proporcionar indicaciones sobre por qué hay cálculos duplicados, lo que permite depurar los scripts de cálculo.

Comandos SET para pruebas y estadísticas de cálculo

Puede utilizar los comandos SET en los scripts de cálculo de almacenamiento de bloques de Essbase para recopilar información de cálculo, configuración y estadísticas que pueden ser útiles para probar y supervisar el rendimiento del cálculo. Los comandos son SET MSG SUMMARY, SET MSG DETAIL y SET NOTICE.

SET MSG SUMARY y SET MSG DETAIL

Puede utilizar los comandos de cálculo SET MSG SUMMARY y SET MSG DETAIL en una secuencia de comandos de cálculo para hacer lo siguiente:

  • Mostrar la configuración de cálculo, por ejemplo, si los mensajes de aviso de finalización están activados

  • Proporcionar estadísticas sobre el número de bloques de datos creados, leídos y escritos

  • Proporcionar estadísticas sobre el número de celdas de datos calculadas

SET MSG DETAIL también proporciona un mensaje de información cada vez que Essbase calcula un bloque de datos. SET MSG DETAIL es útil para revisar el orden de cálculo de los bloques de datos y para probar los nuevos cálculos inteligentes.

Atención:

Puesto que SET MSG DETAIL provoca una sobrecarga de proceso elevada, utilícela sólo durante los cálculos de prueba.

SET MSG SUMMARY provoca una sobrecarga de procesamiento de aproximadamente 1% a 5%, dependiendo del tamaño del cubo y, por lo tanto, es adecuada para todos los cálculos.

ESTABLECER AVISO

Puede utilizar el comando de cálculo SET NOTICE en un script de cálculo para mostrar los avisos de finalización del cálculo que le indican qué porcentaje del cubo se ha calculado. Puede utilizar el comando SET MSG SUMMARY con el comando SET NOTICE para mostrar el progreso del cálculo entre los avisos de finalización. Los avisos de finalización no reducen significativamente el rendimiento del cálculo, excepto cuando se utilizan con un cubo muy pequeño.