Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik and ServiceNow Partner to Bring Trusted Enterprise Context into AI-Powered Workflows. Learn More!
cancel
Showing results for 
Search instead for 
Did you mean: 
Grupo_MAFA
Contributor II
Contributor II

FECHA SIN FORMATO

Estoy construyendo una tabla de hechos, los datos los obtengo de archivos xlsm

Tengo configurada así la fecha:
SET DateFormat='DD/MM/YYYY';

La primera carga contiene datos quincenales y utilicé esto para llegar a la fecha:

LET vAÑO = Num( KeepChar( SubField('$(vFILE)', '_', 4), '0123456789' ) );
LET vQUINCENA = Num(Mid(SubField('$(vFILE)', '_', 8),2,2) );
LET vMES = Ceil($(vQUINCENA)/2);
If(Mod($(vQUINCENA),2)=1, 15, Day(MonthEnd(MakeDate($(vAÑO),$(vMES),1))) )) AS FECHA

La segunda carga contiene datos semanales y utilicé esto para llegar a la fecha:

LET vAÑO = Num( KeepChar( SubField('$(vFILE)', '_', 4), '0123456789' ) );
LET vSEMANA = Num(Right(Left(Subfield('$(vFILE)', '_', 8),5),2) );
Date(WeekStart(MakeDate($(vAÑO),1,4) ) + ( $(vSEMANA) - 1 ) * 7 + ( DIA - 1 )) AS FECHA

Al visualizar los datos, me aparece con formato numérico "45607"

Necesito ayuda para tener el formato correcto

Labels (1)
  • Fecha

1 Solution

Accepted Solutions
amonjaras_c40
Luminary
Luminary

Hola! Sl hacer cualquier operación aritmética o usar NUM, tu fecha va a tomar formato numérico automáticamente; de hecho, la salida de MAKEDATE es por dentro un número también.

Lo que te falta es encerrar toda tu expresión en DATE() para darle a ese número el formato de fecha que quieres:

Date(Date(WeekStart(MakeDate($(vAÑO),1,4) ) + ( $(vSEMANA) - 1 ) * 7 + ( DIA - 1 )) ,'DD/MM/YYYY')

Espero que esto te sirva.

View solution in original post

1 Reply
amonjaras_c40
Luminary
Luminary

Hola! Sl hacer cualquier operación aritmética o usar NUM, tu fecha va a tomar formato numérico automáticamente; de hecho, la salida de MAKEDATE es por dentro un número también.

Lo que te falta es encerrar toda tu expresión en DATE() para darle a ese número el formato de fecha que quieres:

Date(Date(WeekStart(MakeDate($(vAÑO),1,4) ) + ( $(vSEMANA) - 1 ) * 7 + ( DIA - 1 )) ,'DD/MM/YYYY')

Espero que esto te sirva.