Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
josemaria
Creator II
Creator II

Generar un campo en un calendario desde una fecha a otra fecha

Buenos dias a tod@s,

tengo una duda a ver si me podeis ayudar.

Quiero crear un campo nuevo en un calendario del script que seria campaña, y las campañas empiezan el dia 1 ene y terminan el dia 31 de agosto.

Sabeis como lo puedo poner dentro de mi calendario?

 

SET vDateMin = Num(date('01/01/2010','DD/MM/YYYY'));
SET vDateMax = Num(date('31/12/2025','DD/MM/YYYY'));

TempCalendar1:
LOAD $(vDateMin) + RowNo() - 1 AS numFecha,
Date($(vDateMin) + RowNo() - 1) AS Fecha

AUTOGENERATE 1 WHILE $(vDateMin)+IterNo()-1<= $(vDateMax);

QVD_Master_Calendar:
LOAD
numFecha,
Fecha,
year(Fecha) as Year,
month(Fecha) as Month,
'S ' & week(Fecha) as Week,
week(Fecha) as NumSemana,
day(Fecha) as Day,
quartername(Fecha) as QuarterName,
year(Fecha) & '-' & month(Fecha) as Año_Mes,
month(Fecha) & '-' & day(Fecha) as Mes_Dia,
WeekDay(Fecha) as Nombre_Dia,
WeekName(Fecha) as Periodo,
'Q' & CEIL(month(Fecha) / 3) as Quarter
RESIDENT TempCalendar1;

DROP TABLE TempCalendar1;

 

2 Solutions

Accepted Solutions
rubenmarin

Hola, en el post incial ponía que "las campañas empiezan el dia 1 ene y terminan el dia 31 de agosto."

De todas formas sería algo similar

If(Month(Fecha)<=8, (Year(Fecha)-1) &'-'& Year(Fecha), Year(Fecha) & '-' & (Year(Fecha)+1)) as Campaña

View solution in original post

6 Replies
rubenmarin

Hola, podrías añadir un campo con un if pra comprobar el mes:

If(Month(Fecha)<=8, Year(Fecha)) as Campaña

Al seleccionar la campaña 2021 te filtrará todas las fechas del 01/01 al 31/08

josemaria
Creator II
Creator II
Author

Hola Ruben,

Gracias por responder pero no me serviria, las campañas empiezan en Septiembre y acaban en Agosto.

por ejemplo la campaña en la que estamos empieza en 01/09/2021 y acaba en 31/08/2022 

Campaña

Sep_21-Ago_22  desde 01/09/2021 hasta 31/08/2022

Sep_20-Ago_21 desde 01/09/2020 hasta 31/08/2021

y de esta manera 

 

Gracias

Saludos

 

rubenmarin

Hola, en el post incial ponía que "las campañas empiezan el dia 1 ene y terminan el dia 31 de agosto."

De todas formas sería algo similar

If(Month(Fecha)<=8, (Year(Fecha)-1) &'-'& Year(Fecha), Year(Fecha) & '-' & (Year(Fecha)+1)) as Campaña

josemaria
Creator II
Creator II
Author

Gracias Rubén y perdona por el error tipográfico quería poner 1 de septiembre.

el if me funciona perfectamente.

Estuve buscando una función que dentro del script que pudiera poner fecha inicio y fecha fin  para determinar las campañas pero no encontré nada. Sabes si existe algo parecido?

Muchas gracias por la ayuda

Saludos

josemaria
Creator II
Creator II
Author

QFabian,

Muchas gracias me va perfecto, de esta manera la campaña la puedo empezar y finalizar el día que necesite.

Me ha sido de gran ayuda.

un saludo