Skip to main content
Announcements
See why Qlik is a Leader in the 2024 Gartner® Magic Quadrant™ for Analytics & BI Platforms. Download Now
cancel
Showing results for 
Search instead for 
Did you mean: 
monicarias
Contributor III
Contributor III

Porcentaje Acumulado Rangos Qlik Sense

Hola, estoy aplicando esta fórmula en Qlik Sense para obtener la suma acumulada de unos rangos:

=RangeSum(Above(Total Count({<criterion_ID={2}>}  cantidad),0,RowNo()))

Ahora requiero modificarla para que me muestre la información en porcentaje de participación acumulada, ¿Cómo lo hago?


Gracias.

1 Solution

Accepted Solutions
rubenmarin

Hola Mónica, podría ser:

=RangeSum(Above(Total Count({<criterion_ID={2}>}  cantidad),0,RowNo())) // Acumulado por fila

/Count(TOTAL {<criterion_ID={2}>}  cantidad) // Total de todas las filas

View solution in original post

7 Replies
isorinrusu
Partner - Creator III
Partner - Creator III

Hola Mónica,

Me desconcierta el "Total" que tienes en la fórmula, ¿seguro que te da lo que quieres?

Respecto a lo que preguntas, probablemente sea algo parecido a:

Rangesum(

RangeSum(Above(Count({<criterion_ID={2}>}  cantidad),0,RowNo())) /

RangeSum(Above(Total Count({<criterion_ID={2}>}  cantidad),0,RowNo()))

,0,RowNo())

Saludos,

Sorin.

monicarias
Contributor III
Contributor III
Author

Gracias por responder, apliqué tu fórmula y me muestra el en la columna de porcentaje acumulado el 100% en cada valor, yo requiero algo así, por ejemplo:

Cantidad      Acumulado          %Acumulado

1                      1                              9%                 

5                      6                            55%

2                      8                            73%

3                     11                          100%

rubenmarin

Hola Mónica, podría ser:

=RangeSum(Above(Total Count({<criterion_ID={2}>}  cantidad),0,RowNo())) // Acumulado por fila

/Count(TOTAL {<criterion_ID={2}>}  cantidad) // Total de todas las filas

monicarias
Contributor III
Contributor III
Author

Hola,  el cuadro está creado así:

  • Rango:  subfield(Class((puntaje)-1,50),'<',-1)
  • Trx: =Count({<criterion_ID={2}>} cantidad)
  • Acumulado = =RangeSum(Above(Count({<criterion_ID={2}>} cantidad),0,RowNo()))
  • %Acum =

1.     RangeSum(Above(Count({<criterion_ID={2}>} session_serial),0,RowNo()))

         /

        RangeSum(Above(total Count({<criterion_ID={2}>} session_serial),0,RowNo()))

Esta fórmula genera en cada fila el valor de 100%

Captura.PNG

2.   =RangeSum(Above(Total Count({<criterion_ID={2}>}  cantidad),0,RowNo())) // Acumulado por fila

        /Count(TOTAL {<criterion_ID={2}>}  cantidad) // Total de todas las filas

Esta otra genera valores incorrectos, por ejemplo, tomemos el rango 750, si dividimos 6.185.622 sobre 19.077.855 el resultado es 32.42% y el cuadro muestra es 33.23%, al final debería dar 100%, no 102.50%

Captura2.PNG

rubenmarin

Hola Mónica, si el total te sale más de un 100% es porque el divisor está contando más que el acumulado ¿ambas partes de la división están usando el campo Cantidad? ¿Y el set analysis es solo {<criterion_ID={2}>} ?

Podrías crear una columna para comprobar el valor de Count(TOTAL {<criterion_ID={2}>}  cantidad), y ajustarla hasta que devuelva los 19.077.855.

Adjunto ejemplo con los primeros datos.

monicarias
Contributor III
Contributor III
Author

Hola Rubén,

Sí, mira la fórmula o ¿Qué estaré haciendo mal?

=RangeSum(Above(total Count({<criterion_ID={2}>} session_serial),0,RowNo())) /Count(total {<criterion_ID={2}>} session_serial)

monicarias
Contributor III
Contributor III
Author

Rubén, deja así, luego de darle tanta vuelta, me di cuenta que había deshabilitado el cuadro de "Incluir valores null" jajajaja, ¡Qué oso!, con tu fórmula quedó perfecto, muchas gracias!