Skip to main content

App Development

Discussion board where members can learn more about Qlik Sense App Development and Usage.

Announcements
QlikWorld 2023, a live, in-person thrill ride. Save $300 before February 6: REGISTER NOW!
cancel
Showing results for 
Search instead for 
Did you mean: 
mariog
Contributor
Contributor

Mostrar todos los meses del año seleccionado hasta el mes seleccionado.

Buenos días.

Me surge un problema con una medida. Necesito seleccionar un año y mes, y en este gráfico mostrar todos los meses del año seleccionado hasta el mes seleccionado.

Sé que mediante set analysis se puede conseguir obviar las selecciones en el campo mes, pero no consigo que en este caso la expresión de conjunto me afecte y creo que es por la medida que he creado. La medida original es la siguiente: 

(Count(distinct {<[Tipo]={'CAL'}, concatenado = {"=[Fecha Cierre]<=Fecha_previstacierre"}>} concatenado)+
Count(distinct {<[Tipo]={'CAL'}, concatenado = {"=[Fecha Cierre]>Fecha_previstacierre"}>} concatenado)+
Count(distinct {<[Tipo]={'CAL'}, concatenado = {"=isnull([Fecha Cierre])"}>} concatenado))/
(Count(distinct {<concatenado = {"=[Fecha Cierre]<=Fecha_previstacierre"}>} concatenado)+
Count(distinct {<concatenado = {"=[Fecha Cierre]>Fecha_previstacierre"}>} concatenado)+
Count(distinct {<concatenado = {"=isnull([Fecha Cierre])"}>} concatenado))

He añadido el campo mes que quiero que no afecte para que me muestre todos los meses, pero no da resultado. La medida modificada quedaría así: 

(Count(distinct {<Mes_Solicitud=, [Tipo]={'CAL'}, concatenado = {"=[Fecha Cierre]<=Fecha_previstacierre"}>} concatenado)+
Count(distinct {<Mes_Solicitud=, [Tipo]={'CAL'}, concatenado = {"=[Fecha Cierre]>Fecha_previstacierre"}>} concatenado)+
Count(distinct {<Mes_Solicitud=, [Tipo]={'CAL'}, concatenado = {"=isnull([Fecha Cierre])"}>} concatenado))/
(Count(distinct {<Mes_Solicitud=, concatenado = {"=[Fecha Cierre]<=Fecha_previstacierre"}>} concatenado)+
Count(distinct {<Mes_Solicitud=, concatenado = {"=[Fecha Cierre]>Fecha_previstacierre"}>} concatenado)+
Count(distinct {<Mes_Solicitud=, concatenado = {"=isnull([Fecha Cierre])"}>} concatenado))

El campo "concatenado" no debería ser problema, pues es la unión de campos independientes a la fecha.

No sé si se os ocurre alguna solución.

Muchas gracias.

1 Solution

Accepted Solutions
jmartineze
Partner - Creator
Partner - Creator

Hola,

como dices con set analysis se podría conseguir, pero tendrías que "limpiar" todos los campos del calendario.

Otra opción es utilizar la técnica de "table as of calendar". Básicamente es tener dos calendarios. Se tiene el calendario normal (calendario1) y otro (calendario2) con todas las combinaciones de fechas (haces un join entre las dos fechas para hacer el producto cartesiano)  donde la fechacalendario1>=fechacalendario2.

Entonces dada una fecha para el calendario1 tienes todas las anteriores para el calendario2.

La dimensión de fecha del segundo calendario es la utilizarías en tu gráfico. Esta técnica además permite hacer acumulados de manera muy sencilla.

 

Un saludo.

View solution in original post

1 Reply
jmartineze
Partner - Creator
Partner - Creator

Hola,

como dices con set analysis se podría conseguir, pero tendrías que "limpiar" todos los campos del calendario.

Otra opción es utilizar la técnica de "table as of calendar". Básicamente es tener dos calendarios. Se tiene el calendario normal (calendario1) y otro (calendario2) con todas las combinaciones de fechas (haces un join entre las dos fechas para hacer el producto cartesiano)  donde la fechacalendario1>=fechacalendario2.

Entonces dada una fecha para el calendario1 tienes todas las anteriores para el calendario2.

La dimensión de fecha del segundo calendario es la utilizarías en tu gráfico. Esta técnica además permite hacer acumulados de manera muy sencilla.

 

Un saludo.