Site Info Site Info

Master Calendar Code In Qlikview

Master Calendar Code In Qlikview

El Código de Calendario Maestro en QlikView es una técnica fundamental. Permite gestionar fechas de manera eficiente. Proporciona una estructura centralizada para la manipulación de datos temporales.

Creación de la Tabla Calendario

Primero, define un rango de fechas. Usa las funciones Min() y Max(). Estas funciones identifican las fechas más temprana y tardía en tus datos. Este rango actuará como base para tu calendario.

Luego, genera todas las fechas dentro del rango. Utiliza la función Date() junto con AutoGenerate. AutoGenerate crea una serie de fechas consecutivas. Esto poblará tu tabla calendario con todos los días necesarios.

El código básico podría lucir así:


TempCalendar:
Load
  Min(DateField) as MinDate,
  Max(DateField) as MaxDate
Resident YourDataTable;

Let varMinDate = Peek('MinDate', 0, 'TempCalendar');
Let varMaxDate = Peek('MaxDate', 0, 'TempCalendar');

Drop Table TempCalendar;

Calendar:
Load
  Date($(varMinDate) + IterNo() - 1) AS Date,
  Year(Date($(varMinDate) + IterNo() - 1)) AS Year,
  Month(Date($(varMinDate) + IterNo() - 1)) AS Month,
  Day(Date($(varMinDate) + IterNo() - 1)) AS Day
AutoGenerate 1 While $(varMinDate) + IterNo() - 1 <= $(varMaxDate);

Adición de Campos Adicionales

Puedes expandir tu tabla calendario. Incluye campos como el nombre del mes (MonthName()). También, el número de semana (Week()) y el día de la semana (WeekDay()). Estos campos facilitan el análisis y la segmentación de datos.

QlikView Master Calendar - Creating with Example in Just 5 Steps
QlikView Master Calendar - Creating with Example in Just 5 Steps

Además, considera incluir indicadores booleanos. Por ejemplo, un campo que indique si la fecha es un día festivo. O si es fin de semana. Esto añade mayor granularidad a tus análisis.

Un ejemplo de cómo añadir el nombre del mes y día de la semana:


Calendar:
Load
  Date($(varMinDate) + IterNo() - 1) AS Date,
  Year(Date($(varMinDate) + IterNo() - 1)) AS Year,
  Month(Date($(varMinDate) + IterNo() - 1)) AS Month,
  MonthName(Date($(varMinDate) + IterNo() - 1)) AS MonthName,
  Day(Date($(varMinDate) + IterNo() - 1)) AS Day,
  WeekDay(Date($(varMinDate) + IterNo() - 1)) AS WeekDay
AutoGenerate 1 While $(varMinDate) + IterNo() - 1 <= $(varMaxDate);

Vinculación con los Datos

Una vez creada la tabla calendario, vincúlala con tus tablas de datos. Utiliza el campo de fecha como clave de unión. Esto se logra mediante una declaración Join o Link Table. Asegura la consistencia de los formatos de fecha.

Creating A Master Calendar - Qlik Community - 341286
Creating A Master Calendar - Qlik Community - 341286

Es crucial que el campo de fecha en tus datos y en la tabla calendario coincidan. Usa la función Date() para asegurar la uniformidad. Esto evita errores de vinculación y asegura el correcto funcionamiento de los análisis.

Un ejemplo de cómo vincular la tabla calendario con una tabla de datos (llamada 'SalesData') usando un campo de fecha (llamado 'OrderDate'):

QlikView Tutorial | Creating Master Calendar in QlikView - YouTube
QlikView Tutorial | Creating Master Calendar in QlikView - YouTube

Left Join (SalesData)
Load Date as OrderDate, * Resident Calendar;

Beneficios del Código de Calendario Maestro

El Código de Calendario Maestro ofrece numerosos beneficios. Centraliza la lógica de fechas. Facilita la creación de informes y análisis consistentes. Permite realizar comparaciones entre diferentes periodos de tiempo.

Además, mejora el rendimiento de las aplicaciones QlikView. Evita la repetición de cálculos de fechas en múltiples partes del código. Simplifica el mantenimiento y la actualización de las aplicaciones.

Finalmente, estandariza la forma en que se manejan las fechas. Reduce la probabilidad de errores. Aumenta la confiabilidad de los datos.

Gallery

Understanding the Master Calendar - Qlik Sense and QlikView - YouTube
QlikView Master Calendar - Creating with Example in Just 5 Steps
Master Calendar Creation in Qlikview # Part 35 - YouTube
Qlik Sense Tutorial | Qlik Sense Master Calendar | Resident Table
QlikView Tutorial | Creating Master Calendar in QlikView | Data & Tools
Better Calendar Scripts | Qlikview Cookbook
Qlikview Curso Completo - Aula 9 - Master Calendar e Filtros Superiores