Qlik Community

Third-Party Qlik Jobs

Area for people to learn more about current Qlik related job postings.

xxcarlosxx
New Contributor III

Obtener Campo Acumulativo en Grafico Barras

Buenos días,

Tengo un problema para realizar un campo calculado acumulativo en un gráfico de barras, ya que la formula para mi indicador es el siguiente:

     Formula: "Suma(Ventas)*Factor / N° Habitantes" => Donde Factor es 12/Mes

Ahora los meses se encuentran en un cuadro de lista, por decir si selecciono Marzo la formula sera: ((Ventas*12/3) / Habitantes), a nivel indicador todo es correcto, el problema surge cuando quiero plasmarlo en el gráfico, ya que sólo me muestra el acumulativo del primer mes y los otros meses lo hace de manera individual. Adjunto print donde me muestra el resultado por mes sin embargo el gráfico muestra de forma individual, cualquier ayuda se lo agradecería.

3 Replies
javier_florian
Contributor III

Re: Obtener Campo Acumulativo en Grafico Barras

Hola Carlos,

Esta es una propiedad de los gráficos y los puedes habilitar de la siguiente forma:

Not applicable

Re: Obtener Campo Acumulativo en Grafico Barras

Segun entiendo quieres que el valor de Sum(Ventas) este acumulado mensualmente es decir Sum(Ventas) debe incorporar las ventas de los meses Seleccionados pero sin embargo el mes debe ser el último seleccionado ??

Enero:  Sum(Ventas_Enero)  *(12/1) / Habitantes

Febrero: Sum(Ventas_Enero_Febrero) *(12/2) / Habitantes
Marzo: Sum(Ventas_Enero_Febrero_Marzo)*(12/3) / Habitantes

En tal caso deberas usar la siguiente Expresion
          (Sum(Ventas)+if(Not IsNull(Above(Ventas)),Above(Ventas)) *(12/ Num(Mes)) / Habitantes

Si deseas usar como més solo el último es decir

cuando selecciones enero Mes = 1 para todos los valores
cuando selecciones Febrero Mes = 2 para todos los valores

sustituye Num(Mes) por Num(FirstsortedValue(Mes,-Mes))

No marques la casilla de acumulacion ya que tienes el riesgo de acumular todas los campos
Con esta expresion acumulas las Ventas:
     (Sum(Ventas)+if(Not IsNull(Above(Ventas)),Above(Ventas))
Con esta expresion acumulas los Habitantes ( Si deseas acumular tambien los habitantes)
      (Sum(Habitantes)+if(Not IsNull(Above(Habitantes)),Above(Habitantes))

tienes que tener cuidado y hacer una prueba antes de usar esta expresión ya que deberás tener ordenadas las dimensiones Habitantes y Ventas de tal manera que te lo ordene correctamente ya que la función Above es una función interregistro que coge los datos tal cual si el objeto fuera una tabla y para acumular coge el valor físico superior en orden.  Deberás ordenar los elementos en orden de Mes ascendente

xxcarlosxx
New Contributor III

Re: Obtener Campo Acumulativo en Grafico Barras

Gracias a ambos por su respuesta, me fue de mucha utilidad.