Uso de Trace en QlikView

Trace es un comando muy sencillo y muy poco usado pero a la vez muy útil en un script QlikView. Este sirve para mostrar mensajes en la ventana de progreso de la ejecución del script y en los logs. La sintaxis es muy simple, puede usarse de esta forma:
Trace 'Cargando las tablas origen';

o a modo de función:
Trace('Cargando las tablas origen');

La principal ventaja del comando Trace es que nos permite escribir marcadores personalizados o comentarios en los logs de la aplicación. Esto puede ayudar a la depuración cuando se trata de localizar donde se produce un error de escritura o si se desea implementar un manejo de errores personalizados, como por ejemplo que acción tomar cuando falla la conexión a una base de datos. El manejo de errores es un tema bastante extenso el cual trataremos de cubrir dentro de poco.

En el siguiente ejemplo, voy a mostrar como usar la función Trace para ver cuales son los tiempos de recarga de las pestañas y cual es la que demora más.


En la imagen anterior, la fila resaltada #1 muestra que tardó 2 segundos en finalizar la recarga de la pestaña "Servicios".

La fila #2 muestra que tomó 42 segundos en completar la recarga de la pestaña "Ventas".

Para reproducir este ejemplo, siga los siguientes pasos:

1. En la primera pestaña, usualmente llamada "Main", agregar la creación de esta variable para registrar el inicio de la recarga.
Let vInicio = Num(Now());

2. En las siguientes pestañas, agregar al final de cada una el código que se muestra a continuación reemplazando <TabName> con el nombre de la pestaña actual del script.
Let vDuracion = Timestamp(Num(Now()) - $(vInicio), 'hh:mm:ss');

Trace ;
Trace ***** Tiempo de recarga: $(vDuracion) ***** Tab finalizado: <TabName> *****;
Trace ;

Let vInicio = Num(Now());
Ahora una breve explicación de lo que hicimos, en primer lugar estamos definiendo la variable "vDuracion" y restanto de la hora actual el valor registrado en la variable "vInicio" en la ficha anterior donde almacenamos el comienzo de la ejecución.

Luego estamos agregando una declaración Trace con la variable "vDuracion" y el nombre de su pestaña.

Esto ha sido útil para hacer seguimiento a archivos de transformación de gran tamaño, y ha ayudado a mantener y optimizar la transformación mediante la observación de cuánto tiempo se tarda en cargar las pestañas. También es bueno para ver lo que está sucediendo en el script durante las recargas.

Comentarios