Qlik Community

QlikView Documents

Documents for QlikView related information.

Calendario Maestro para obtener todos los días transcurridos

Not applicable

Calendario Maestro para obtener todos los días transcurridos

Algunas veces es necesario mostrar valores cero en series de tiempo, para mostrar, por ejemplo los días sin venta. Al cargar los datos en Qlikview obtenemos lo siguiente:

Factable_1.jpg

Cuando en realidad necesitamos un gráfico con todos los días transcurridos:

Factable__3.jpg

Para esto creamos una segunda tabla que llamaremos CalendarioMaestro que contenga todas las fechas calendarios desde la fecha mínima hasta la máxima, es decir con las fechas del 1,2,3,4,5,6,7,8,9 y 10 de enero.

Para crear esta tabla usamos un Scrip con los siguientes pasos:

Paso 1: Cargar FactTable

Paso 2: Crear una tabla con dos campos que contenga únicamente la fecha mínima y máxima del campo Fecha de la FactTable

Paso 3: Crear dos variables con las fechas máximas y mínimas

Paso 4: Crear la tabla CalendarioMaestro que contenga todas las fechas

Paso 5: Borrar la tabla utilizada para asignar las variables con fechas máximas y mínimas

Paso 6: Borrar las variables vMin y vMax utilizada para indicar inicio y fin del CalendarioMaestro.

//  Paso 1:
FactTable:
LOAD * INLINE [
Fecha, Venta
01/01/2013,93
02/01/2013,62,
08/01/2013,39,
09/01/2013,94
10/01/2013,63]
;
//  Paso 2:
TablaMinMax:
LOAD
min(Fecha)      as FechaMin,
max(Fecha)      as FechaMax
Resident FactTable;
//  Paso3:
LET vMin=num(Peek('FechaMin',0,'TablaMinMax'));
LET vMax=num(Peek('FechaMax',0,'TablaMinMax'));
//  Paso 4:
CalendarioMaestro:
LOAD
Date(IterNo()+$(vMin)-1)   as Fecha
AutoGenerate 1 While IterNo()+$(vMin)-1<=$(vMax);
//  Paso 5:
DROP Table TablaMinMax;  

//  Paso 6:

LET vMin=;
LET vMax=;


El visor de tablas quedaría así:

Factable__2.jpg

Luego se agrega un gráfico de líneas con la dimensión Fecha y  expresión Sum(Venta).

Después ir a Propiedades del gráfico, pestaña Presentación y se desmarca la opción Suprimir Valores Cero.

NOTAS:

Para crear otro campo en CalendarioMaestro, como Mes y Trimestre,  agregar otras líneas en el paso 4, definiendo la varieble como:

Month(IterNo()+$(vMin)-1) as Mes

Ceil(Month(IterNo()+$(vMin)-1)/3) as Trimestre

En Qlikview no existe método para borrar variables, puede usarse LET vMax=; o LET vMax=Null();

Referencias

http://www.youtube.com/watch?v=ScdIQvWzVFs

http://www.youtube.com/watch?v=j4qLjDJ6US4

Labels (1)
Comments
eridevahora
New Contributor II

Gracias!!

Version history
Revision #:
1 of 1
Last update:
‎07-09-2013 12:36 PM
Updated by: