Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Atascado en gráfico

Hola a todos.

Estoy atascado en la elaboración de un grafico. El grafico es el siguiente:

Captura 1.PNG.png
Como podéis ver la dimensión son años, y la expresión que me esta dando guerra es la siguiente:

sum({<YEAR= {'<=$(=VMAXYEAR)>=$(=VMINYEAR)'},MTH=>}VALORES_CUM)
/
ABOVE(sum({<YEAR= {'<=$(=VMAXYEAR)>=$(=VMINYEAR)'},MTH=>} VALORES_CUM) )
-1

El problema radica en que el rango de años a mostrar se elige a traves de dos variables VMAXYEAR y VMINYEAR, el rango en este caso es desde el año 2000 al 2014, pero tras hacer una selección en un filtro vemos que los años que van del 2000 al 2005 no tiene dato. pero siguen apareciendo en el grafico.

alguna idea de como hacer que no aparezcan (ya tengo seleccionada la opción de no mostrar valores nulos).

Muchas gracias de antemano !!!

7 Replies
etendero
Partner - Creator
Partner - Creator

Hola Juan Antonio,

Yo te propongo para ese caso que no utilices la dimensión YEAR, si no una dimensión sintética con la siguiente expresión:

=ValueLoop($(VMINYEAR), $(VMAXYEAR))

De esta forma, la gráfica únicamente mostrará los años contenidos en el rango seleccionado.

Un saludo y espero haberte ayudado.

Not applicable
Author

No conocía la función de Valueloop !!!!    El problema es que al usarla en la dimensión, me ocurre lo siguiente:

Captura 2.PNG.png

etendero
Partner - Creator
Partner - Creator

Hola de nuevo,

Claro, no había caído. Ahora, la nueva dimensión sintética no te filtra el año, puesto que ya no lo estamos utilizando como dimensión, y te lo está totalizando. Tu expresión, tal y como está montada, necesita de ese filtro para funcionar correctamente, como no puede ser de otra manera.

Prueba a utilizar la siguiente expresión:

(

   sum({<MTH=>}VALORES_CUM)

   /

   ABOVE(sum({<MTH=>} VALORES_CUM

) - 1

Le faltaba un abre paréntesis en la expresión que has puesto, y he supuesto que es el primero.

Un saludo y espero que funcione.

Not applicable
Author

Algo asi estaba intentando, pero no funciona.  Me sale un mensaje de deshabilitadas todas las expresiones

etendero
Partner - Creator
Partner - Creator

Hola,

Pero ese mensaje de error aparece cuando realmente has deshabilitado manualmente todas las expresiones de tu gráfica, en la pestaña de Expresiones. Revisa esto primero.

Saludos.

Not applicable
Author


En este caso en lugar de modificar la expresión original la deshabilite, y escribi la nueva sentencia en otra expresión que no esta deshabilitada. Imagino que no calculara nada y por eso sale el mensaje.Captura 3.PNG.png

Por lo que veo el problema puede estar en el Above. ya que sin el me salen únicamente las barras con dato. El objetivo del grafico es mostrar en barras el acumulado de ventas anuales, y en texto en el eje, el crecimiento con respecto al año anterior. ¿alguna idea?.

Muchas gracias

Not applicable
Author

Ya lo he logrado solucionar. Lo he hecho a través del script de la siguiente manera:

1-  He calculado el año-1 y el mes -1de cada línea de datos

2-  hago una resident de la propia fact table donde renombro el mes como mes-1 y el año como año-1  de esta    manera le pego a cada mes el valor correspondiente del mismo mes del año anterior

3-  En el grafico opero con el valor del año anterior ya calculado, pudiendo eliminar el above de la expresión !!!

Muchas gracias por la ayuda !!!!