Skip to main content
Announcements
Qlik Introduces a New Era of Visualization! READ ALL ABOUT IT
cancel
Showing results for 
Search instead for 
Did you mean: 
asier
Partner - Contributor III
Partner - Contributor III

Problemas con opción de acumular con porcentajes

Hola buenas, en un gráfico de evolución de los de tipo barras donde la dimensión son los meses y la expresión una división de dos campos donde el resultado es un porcentaje, si le pincho la opción de acumular me va sumando los porcentajes hasta llegar a un porcentaje enorme en el último mes.

Lo que yo quiero es que me acumule los valores de los campos a dividir para que en cada mes me de un el porcentaje correspondiente. Que tengo que hacer?

Muchas gracias a todos

Asier

4 Replies
Miguel_Angel_Baeyens

Hola Asier,

Imagino que lo que estarás haciendo es clickar en la "Acumulación completa" del gráfico, con lo que te irá sumando todos los porcentajes, 1 + 2 + 3 + 4 + 5 etc....

Podrías utilizar la funcion RangeSum() junto con Above() o Before() y la expresión que acumulas dentro, algo por el estilo de

RangeSum(Above(Sum(Ventas) / Count(Albaranes), 0, RowNo()))


de forma que en cada mes te calcule el porcentaje de ese mes (y los anteriores).

Puede que la función correcta no sea Above() sino Before() u otras, para saberlo, en las propiedades del gráfico de barras, conviértelo a una tabla simple y mira si los datos van en líneas o columnas.

Espero que te sirva.

christian77
Partner - Specialist
Partner - Specialist

Hola Asier:

Prueba estas:

Acumula valores de una columna

RangeSum(Above(Total $(Ventas),0,rowno(Total)))

Acumula valores de una fila en orden inverso

RangeSum(last($(Ventas),1,(noofcolumns()-columnno()+1)))



asier
Partner - Contributor III
Partner - Contributor III
Author

Muchas Gracias a los dos. La verdad que estoy aprendiendo mucho en este foro gracias a gente como vosotros.

Al final lo he solucionada de esta manera:

RangeSum(Above(Sum(Ventas Teoricas), 0, RowNo())) / RangeSum(Above(Sum(Ventas Reales), 0, RowNo()))
No conocía la función RangeSum() y no lo encuentro en la ayuda para ver todas sus posibilidades.
Saludos y muchas gracias
Asier


christian77
Partner - Specialist
Partner - Specialist

Hola otra vez:

Ten en cuenta que cuando tengas más de una dimensión tendrás que usar rowno(total), ya que el número de fila se inicializa cada cambio de valor en la 1ª dimensión. También tendrás que diferenciar los totales de los no totales con la función dimensionality() si quieres que cuadren los datos al expandir y contraer columnas.

Suerte.