Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buen Día Compañeros
Con el fina de apoyar a los aspirantes a usar Qlikview hago esta publicación rápida para dejar un pequeño ejemplo de como realizar un calendario partiendo de un campo tipo Fecha que tengamos en alguna de nuestras tablas.
Primero que nada tendremos que definir nuestro rango de fechas Inicial y Final para esto tomaremos nuestro campo tipo fecha de alguna tabla que ya tengamos previamente cargada en este caso mi tabla sera TablaDummy y el campo fecha sera FechaDummy.
Crearemos tres variables las cuales corresponderán al primer día del campo FechaDummy , al ultimo día del campo FechaDummy y una variable designada para la fecha actual.
LET varMinDate = NUM(Peek('FechaDummy ',0,'TablaDummy')); //Fecha Inical
LET varMaxDate = NUM(Peek('FechaDummy ',-1,'TablaDummy')); //FechaFinal
LET varToday = Num(today()); //Fecha Actual
LET : Permite evaluar funciones de lado derecho al signo de "=".
SET : Asigna el numero o texto que tenga de lado derecho al signo "=".
Una vez creadas la variables pasaremos a darles uso en una tabla temporal que nos dará pie a la creación de los diferentes componentes básicos para un calendario.
DateField:
LOAD
$(varMinDate) + RowNo()-1 AS Num,
date($(varMinDate) + rowno() -1) AS TempDate,
rowno()
AUTOGENERATE
$(varMaxDate) - $(varMinDate) +1;
Con esta sentencia anterior nosotros obtenemos el Inicio y Fin de nuestro campo FechaDummy. Ahora con esta información podemos empezar a crear las diferentes variantes básicas que usaremos en nuestros documentos QVW.
Crearemos una nueva tabla con el nombre de CalendarioMaestro.
CalendarioMaestro:
LOAD
TempDate AS FechaDummy ,
Week(TempDate) AS Week,
Day(TempDate) AS Day,
Year(TempDate) AS Year,
Month(TempDate) AS Month,
WeekDay(TempDate) AS WeekDay,
'Q' & Ceil(Month(TempDate)/3) AS Quarter,
date(monthstart(TempDate),'MMM-YYYY') AS WeekYeark
Resident DateField
Order By TempDate ASC;
DROP TABLE DateField;
En la sentencia anterior nota que se borro la tabla temporal esto con el fin de no tener información de mas en nuestro modelo de datos.
Nota:El campo de TempDate en el CalendarioMaestro debe tener el mismo nombre que el campo FechaDummy para poder hacer join con tu tabla.
Espero esta pequeña reseña sea de ayuda, cualquier duda comentario y/o corrección o mejora no dudes en hacérmelo saber.
-Ramz
Hola buenas tardes.
Y como sería el master calendario para 2 tablas.
Por ejemplo fecha_vencimiento clientes y fecha vencimiento proveedores?.
Saludos
Ahí tendrías 2 opciones:
- Crear un calendario para cada campo fecha, no muy práctico.
- Usar el Canonical Calendar.
Personalmente he usado el Canonical y sin problemas