Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Calendario Maestro

Buenos días

Estoy haciendo un calendario Maestro y me surgen varias dudas.

1. La primera de ellas es sobre como mostrar el calendario como tal, es decir, solo un calendario que se pueden seleccionar las fechas y que no aparezca el desplegables con las flechas.

2. La segunda es sobre la relación entre en campo de Fecha y el del calendario Maestro. La manera q he encontrado es nombrar el campo de la misma forma, pero me gustaría conservar las fechas con compras y saber hacerlo de otra forma para cuando tenga varios registros con fechas; creo que se podría hacer con un ApplyMapping pero no tengo muy claro como.

3. He leído que hay gente que carga el Calendario Maestro con un Include, ¿Como lo haceis para asignar las variables? ¿O las variables se asignarían fuera del include, directamente en el Script?

4. La ultima duda, ¿Como podría hacer un calendario o una relacion con el Calendario Maestro para asociar los días laborales? Es que me planteo hacer una gráfica de ventas x ejemplo que me muestre todos los días trabajados en un mes aunque no hayan compras.

Adjunto mi aplicación para que veáis como lo estoy haciendo.

Muchas gracias.

Saludos,

María

1 Solution

Accepted Solutions
JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Te he respondido por separado, si necesitas más información respecto a alguna de las preguntas podemos intervenir de forma mucho más concreta en cada tema.

Saludos,

Joaquín

View solution in original post

16 Replies
JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Buenos días María:

Por partes

1) Añadir objeto calendario/deslizador, en la pestaña General selccionas tipo de entrada CALENDARO

Si lo que quieres es mostrar directamente el calendario, no hay ninguna opción sobre las propiedades del objeto.

Los selectores de calendario maestro se basan en varios objetos de tipo cuadro de lista uno para el año, otro para el mes y otro para el trimestre, opcionalmente puedes añadir uno para el día.

Cuando quiere seleccionar un período, desde el 15/03/2015 al 27/04/2015 por ejemplo has de usar dos selectores tipo calendario uno para la fecha desde y otro para la fecha hasta

Joaquín

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

2)

Tu calendario debe tener un campo que se llama fecha, ese nombre debe existir en tu tabla de hechos con el mismo nombre.

Si tienes varias tablas de hechos en una qvw acabarás creando una referencia circular, la forma de evitarlo es creando una link table con la fecha del calendario maestro y cada una de las fechas de las tablas de hechos ... ojo tienes que usar distincit para no multiplicar los registros de la link table

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

3)

Este tiene que ser tu include del calendario

Let varMinDate= Num(Peek('minDate',0,'Temp'));

Let varMaxDate=Num(Peek('maxDate',0,'Temp'));

Drop Table Temp;

TempCalendar:

Load

  $(varMinDate)+Iterno()-1 as Num,

  Date($(varMinDate)+Iterno()-1) as TempDate

  AutoGenerate 1 while $(varMinDate)+IterNo()-1 <=$(varMaxDate);

MasterCalendar:

Load

TempDate as Fecha

,week(TempDate) as week

,Year(TempDate) as Year

,Month(TempDate) as Month

,Day(TempDate) as Day

,YeartoDate(TempDate)*-1 as CurTTDFlag

,YearToDate(TempDate,-1)*-1 as LastYTDFlag

,InYear(TempDate, Monthstart($(varMaxDate)),-1) as RC12

,date(monthstart(TempDate),'MMM-YYYY') as MonthYear

,ApplyMap('QuarterMap', month(TempDate), Null()) as Quarter

,Week(TempDate) & '-' & Year(TempDate) as WeekYear

,WeekDay(TempDate) as WeekDay

Resident TempCalendar

Order By TempDate ASC;

Drop Table TempCalendar;

En el qvw principal

PASO 1: Las instrucciones que te permiten obtener Peek('minDate' ...)

PASO 2: $(Include=..\compartidos\includes\Tu Include.qvs);

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

4)

Usa la función weekday(fecha) en la creación del calendario, retorna un valor de 0 a 6 (0=Domingo ....)

Otro tipo de festivos tendrás que usar una tabla de mapeos.

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Te he respondido por separado, si necesitas más información respecto a alguna de las preguntas podemos intervenir de forma mucho más concreta en cada tema.

Saludos,

Joaquín

Anonymous
Not applicable
Author

Hola Joaquín,

No se si has abierto la Aplicación que adjuntaba.

Cuando dices

"Los selectores de calendario maestro se basan en varios objetos de tipo cuadro de lista uno para el año, otro para el mes y otro para el trimestre, opcionalmente puedes añadir uno para el día."

No se si es que se puede hacer de una forma distinta a la que estoy utilizando, xq a mi ahora me aparecen todas las fechas disponibles.

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Hola María:

Si que he abierto tu app. Tienes esos campos y desplegada una imagen del selector de fecha con un calendario.

Ya vas bien con lo que estás haciendo, las formas más habituales es con una presentación parecida a ésta:

Calendario 1.JPGCalendario 2.JPG

Con un poco más de esfuerzo ya lo tienes. Eso sí, cuando despliegas el campo Fecha ves todos sus valores !!!!

En la comunidad podrás encontrar otros objetos tipo de calendario, pero funcionan solo bajo el cliente AJAX; yo no los he usado.

Saludos,

Joaquín

Anonymous
Not applicable
Author

Gracias,

Lo unico que no se como hacer de los ejemplos que me muestras en las fotos es el de usar dos calendarios... Desde/Hasta.

¿Me podrías orientar?

Anonymous
Not applicable
Author

Gracias,

Lo acabo de probar y es lo que buscaba