Skip to main content
Announcements
Jan 15, Trends 2025! Get expert guidance to thrive post-AI with After AI: REGISTER NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
JavierBlanco
Contributor III
Contributor III

Filtros independientes entre sí

Hola a todos:

¿Hay alguna manera de conseguir que un panel de filtrado no afecte a otro?

Tengo alguna hojas en las que se muestran datos mensuales, y en las que necesito tener un filtro mensual permanentemente activado por petición del cliente; sin embargo, en otras se muestran históricos anuales, y el filtro que necesito es anual. Lo que querría conseguir es que, aunque el filtro mensual esté activo, el filtro anual no responda al mensual:

Captura.PNG

 

Por ejemplo, al seleccionar el mes de diciembre de 2019, el año 2020 queda inutilizado.

He probado con análisis de conjuntos pero no funciona si no se realizan operaciones de agregación, y también he intentado modificar el modelo de datos para crear dimensiones anuales adicionales a la que ya provee el origen de datos pero siguen reaccionado a los filtros mensuales.

Un saludo y gracias por adelantado.

 

1 Solution

Accepted Solutions
joseph_morales
Creator III
Creator III

Hola @JavierBlanco ,

Sobre la otra alternativa lo desarrollaría de la siguiente manera:

Mantener los estados alterno que tienes Anual y Mensual, el filtro de ID_ANIO que tenias con el estado alterno "Anual", quitarle el estado alterno.

En el script suponiendo que tus campos están en una sola tabla como 

Tabla:
Load
ID_MES,
ID_ANIO,
METRICA1,
METRICA2
From [Lib://attachedfiles/archivo.qvd](qvd);

Crear una tabla con el campo ID_ANIO:

Tabla_Anio:
Load DISTINCT
ID_ANIO  as ID_ANIO_2
resident Tabla;

Este campo ponerlo como filtro para los gráficos que se utilizará el estado Anual. Colocarle al panel de filtrado con el ID_ANIO_2 el estado alterno Anual.

 Crear una variable en la definición poner lo siguiente:

=Concat({Anual}ID_ANIO_2,',')

En esta variable pongo  dentro {Anual} para que se calcule con el estado alterno "Anual". Con el concat se obtiene la concatenación de los años, si no seleccionas nada en ID_ANIO_2 lo que obtendras será 2019,2020 si seleccionas 2019, la variable tendra el valor 2019.

Variable.PNG

En los gráficos con el estado alterno "Anual" en la fórmula 

Sum({[Anual]<ID_MES=,[ID_ANIO]={$(vAño)}>} METRICA)

Lo que hace es ignorar la selección sobre el campo ID_MES, y le pasas el valor de la variable vAño al campo ID_ANIO para el estado alterno "Anual" 

Me comentas si tienes algún problema

Best Regards,
Joseph Morales

View solution in original post

9 Replies
joseph_morales
Creator III
Creator III

Hola @JavierBlanco ,

Puedes usar estados alternos para lograr lo que buscas, en el panel de Elementos maestros -> Estados Alternos, creas un estados alterno, y este estado lo asignas a los objetos de una de las hojas, de esta manera puedes lograr el efecto de tener las 2 Hojas de manera independiente.

Estados Alternos1.PNG

Estados Alternos2.PNG

Best Regards,
Joseph Morales
JavierBlanco
Contributor III
Contributor III
Author

Gracias por tu respuesta, Joseph.

He estado haciendo pruebas siguiendo el tutorial que figura en la ayuda oficial de Qlik Sense y todo parece funcionar bien; he creado dos estados diferentes, Mensual y Anual, los he agregado a sus correspondientes filtros y he configurado la misma medida dos veces en el gráfico de barras para que responda de manera diferencial a los filtros:Captura2.PNG

El problema viene cuando configuro el mes para que siempre aparezca seleccionado:

Captura.PNG

Momento en el que el filtro anual pasa a comportarse de manera extraña, se bloquea el año 2019 y aparecen pestañas adicionales:

Captura3.png

¿Me podrías orientar al respecto? Gracias por adelantado.

joseph_morales
Creator III
Creator III

Hola @JavierBlanco ,

Cuando aplicas "Siempre un valor seleccionado", siempre vas a tener un valor seleccionado independientemente del estado alterno que tengas.  Por eso cuando le marcaste al ID_MES,  el panel de filtrado que tiene el estado "Mensual" se marca por ejemplo en 202001; si colocas un panel de filtrado con ID_MES pero configurandolo con el estado alterno "Anual" este también tendrá seleccionado un valor seleccionado por defecto el mismo 202001, esto hace que tu no puedas seleccionar 2019 en el filtro ID_ANIO, solo podrás seleccionar 2019 si cambias la selección en el panel de filtrado ID_MES con estado alterno "Anual".

Una alternativa,  que te doy es que en vez de tener un valor seleccionado sobre el campo ID_MES,  que los gráficos donde quieras mostrar la información de "Mensual" tengan la opción con una función de calculo GetSelectedCount(ID_MES)=1, con esto hasta que el usuario no seleccione un valor en el filtro del Mes no realizará el calculo y el gráfico mostrará un mensaje que puedes configurar indicadno que Seleccione una valor del campo MES.

Modulos adicionales.PNG

Otra alternativa es que crees una tabla con RESIDENT que contenga el campo de los AÑOS utilizar set analysis para ignorar la selección del campo ID_MES, y pasar el valor del nuevo campo de AÑO por una variable. 

 

Best Regards,
Joseph Morales
JavierBlanco
Contributor III
Contributor III
Author

Hola, Joseph, gracias de nuevo por tu respuesta.

La verdad es que estoy acostumbrado a trabajar con otra aplicación BI -una minoritaria, desarrollada aquí en España- y este tipo de cuestiones son muy sencillas de resolver; me extraña que en un top 3 como Qlik haya que dar tantas vueltas.

Ayer antes de plantear la pregunta ya había estado intentando modificar el script de datos para incluir un ID_ANIO_2 que fuese independiente de ID_MES, pero todo lo que intenté resultó infructuoso, porque el nuevo campo acababa reaccionando a ID_MES (intenté incluso crearlo a partir del nombre de los archivos CSV que sirven de origen, ya que incluyen cada uno su fecha mensual, pero tampoco).

¿Podrías desarrollar un poco más tu sugerencia? ¿Tendría que crear el campo desde cero -un array- y adjudicarle yo valores?

joseph_morales
Creator III
Creator III

Hola @JavierBlanco ,

Sobre la otra alternativa lo desarrollaría de la siguiente manera:

Mantener los estados alterno que tienes Anual y Mensual, el filtro de ID_ANIO que tenias con el estado alterno "Anual", quitarle el estado alterno.

En el script suponiendo que tus campos están en una sola tabla como 

Tabla:
Load
ID_MES,
ID_ANIO,
METRICA1,
METRICA2
From [Lib://attachedfiles/archivo.qvd](qvd);

Crear una tabla con el campo ID_ANIO:

Tabla_Anio:
Load DISTINCT
ID_ANIO  as ID_ANIO_2
resident Tabla;

Este campo ponerlo como filtro para los gráficos que se utilizará el estado Anual. Colocarle al panel de filtrado con el ID_ANIO_2 el estado alterno Anual.

 Crear una variable en la definición poner lo siguiente:

=Concat({Anual}ID_ANIO_2,',')

En esta variable pongo  dentro {Anual} para que se calcule con el estado alterno "Anual". Con el concat se obtiene la concatenación de los años, si no seleccionas nada en ID_ANIO_2 lo que obtendras será 2019,2020 si seleccionas 2019, la variable tendra el valor 2019.

Variable.PNG

En los gráficos con el estado alterno "Anual" en la fórmula 

Sum({[Anual]<ID_MES=,[ID_ANIO]={$(vAño)}>} METRICA)

Lo que hace es ignorar la selección sobre el campo ID_MES, y le pasas el valor de la variable vAño al campo ID_ANIO para el estado alterno "Anual" 

Me comentas si tienes algún problema

Best Regards,
Joseph Morales
JavierBlanco
Contributor III
Contributor III
Author

Gracias, Joseph, mi modelo de datos es algo más complejo, he hablado de él en otro hilo:

Sin título.png

 

Siendo:

Hash256(ID_SFID, ID_MES) as %key1

Hash256(ID_SFID, FCH_ACTO_COMERCIAL) as %key2

Pero intento adaptar lo que me has comentado a mis circunstancias y ya te digo si me quedo atascado. Muchas gracias de nuevo.

JavierBlanco
Contributor III
Contributor III
Author

Al final fue todo bastante sencillo gracias a las indicaciones de @joseph_morales y ni siquiera he tenido que hacer uso de los estados alternos.

Incluso estoy pensando en eliminar la restricción de tener un mes fijado obligatoriamente, porque lo que le interesa a mi cliente es que el que aparezca siempre por defecto sea el último disponible, y no veo manera de conseguirlo; creo que se queda fijado el último que hayas seleccionado... ¿hay alguna manera sencilla de conseguirlo?

JavierBlanco
Contributor III
Contributor III
Author

Encontré una solución a mi última duda en este mensaje, por si hay alguien interesado.

JJGil
Contributor II
Contributor II

Buenos dias,

Sobre los estados alternos. Estoy buscando eso o algo parecido para qlikview 12.

Necesito que en un informe no se cambien los filtros y que sean independientes.

Saludos