Skip to main content
Announcements
Save $600 on Qlik Connect registration! Sign up by Dec. 6 to get an extra $100 off with code CYBERSAVE: REGISTER
cancel
Showing results for 
Search instead for 
Did you mean: 
CGJA
Creator II
Creator II

Año en Meses (for each next)

buenas tardes a todos.

 

me gustaria saber como puedo hacer generar los meses de un año, les explico

Añossss.PNG

tengo esta tabla la cual solo me da el año pero quisiera saber como puedo sacar los meses de dicho ejemplo

el 2020 debe de ser a 6 meses jul, agos, sep, oct, nov, dic

el 2021 debe de ser a 12 meses de enero a dic

el 2022 debe de ser 12 meses de enero a dic

y el 2023 debe de ser a 6 meses ene, feb, mar, abr, may, jun

 

Mi scrip es el siguiente:

 

LOAD Región,

Datos,
date (MakeDate (Right ( Datos, 4), $ (vMes))) como Fecha,


DESDE
[C: \ Users \ DOC02 \ Desktop \ Qvd \ Max_Min_Bco_20_22.qvd]
(qvd);

espero me puedan apoyar

 

saludos !!!

 

 

2 Replies
QFabian
Specialist III
Specialist III

Hola @CGJA , por favor prueba este codigo

 

Fecha:
LOAD * INLINE [
Fecha, Meses
1/1/2020, 6
01/01/2021,12
01/01/2022,12
01/01/2023,6
];

Let vFilas = NoOfRows('Fecha')-1;
For vFecha = 0 to $(vFilas)
Let vMeses = peek('Meses', $(vFecha),'Fecha');
For vMes = 1 to $(vMeses)
Fechas:
Load
year(peek('Fecha', $(vFecha),'Fecha')) as Año,
month(makedate(year(peek('Fecha', $(vFecha),'Fecha')), $(vMes) )) as Mes,
monthname(makedate(year(peek('Fecha', $(vFecha),'Fecha')), $(vMes) )) as Periodo
Autogenerate (1);
Next

Next

QFabian
rubenmarin

Hola @CGJA, otra opción, genera meses desde julio del año más bajo hasta junio del año más alto que encuentre en el campo Datos:

LOAD 
	 Date(IdFecha)					as Fecha 
;
LOAD 
	 AddMonths(MinFecha, IterNo()-1) 			as IdFecha
While AddMonths(MinFecha, IterNo()-1) <= MaxFecha
;
LOAD 
	 MakeDate(Min(Right(FieldValue('Datos', RecNo()),4)),7) 	as MinFecha,
	 MakeDate(Max(Right(FieldValue('Datos', RecNo()),4)),6) 	as MaxFecha
AutoGenerate FieldValueCount('Datos');