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: 
asier
Partner - Contributor III
Partner - Contributor III

Acumulación completa en una tabla pivotante

Hola, en una tabla simple si a un importe le marco la propiedad "Acumulación completa" me va acumulando por cada registro. Pero en una tabla pivotante donde tengo el año pivotado esta opción me sale desactivada y quiero me haga una "Acumulación completa", como lo hago?

Muchas Gracias

Asier

1 Solution

Accepted Solutions
Miguel_Angel_Baeyens

Hola Asier,

En ambos casos necesitas utilizar el cualificador TOTAL tanto en la función Above() como en la función RowNo()

RangeSum(Above(TOTAL [Importe], 0, RowNo(TOTAL)))

Espero que te sirva.

Miguel

View solution in original post

10 Replies
Miguel_Angel_Baeyens

Hola Asier,

Deberías utilizar una expresión del tipo

RangeSum(Above(Sum(Amount), 0, RowNo()))

Según la aplicación que adjunto.

Espero que te sirva.

Miguel

asier
Partner - Contributor III
Partner - Contributor III
Author

Hola Miguel Angel, gracias por la respuesta pero tengo el siguiente problema:

Si pongo la instrucción que me indicas en una tabla simple o en una tabla pivotante el cual tiene dos dimensiones, siendo la primera el nombre del cliente y la segunda el año y el cual es la dimensión que he pivotado el resultado en la acumulación es correcto.  Pero si tengo tres dimensiones, el primero es el codigo del cliente, el segundo el nombre del cliente y el tercero es el año que es el que pivoto entonces la expresión que me indicas me devuelve lo mismo que la expresión 'Sum(Amount). Que es lo que me falla?

Gracias por la ayuda.

Miguel_Angel_Baeyens

Hola Asier,

Antes de publicar ninguna aplicación, preferiría que pasases alguna información de ejemplo que aunque no sea real muestre lo que quieres. Seguramente la funcion Above() no sea suficiente, o incluso no sea la correcta, hay otras tres funciones inter-registro que hacen referencia a las filas y columnas de una tabla pivotante: Below(), After() y Before() además de Top() y Bottom()  y First() y Last(). Como ves, las opciones son muchísimas y depende por completo de como tengas la tabla pivotada.

Es más, lo que para una determinada configuración de pivotado puede funcionar, no lo hará, seguramente, si pivotas de otra forma, lo cual habrá que tener en cuenta conforme lo que los usuarios vayan a utilizar.

Miguel

asier
Partner - Contributor III
Partner - Contributor III
Author

Hola Miguel Angel, te adjunto una imagen donde se ve que hay tres dimensiones, codigo, nombre y el año que esta pivotado. En el campo "Importe" tengo puesta la expresión "sum(importe)" y en la de acumulado

"RangeSum(Above(Sum(importe),0,RowNo()))".

Te adjunto la imagen

qlik.bmp

asier
Partner - Contributor III
Partner - Contributor III
Author

He cambiado la tabla de pivotante a simple y si en el importe le pongo acumulación completa me funciona bien pero siempre y cuando solo tenga una dimensión. Si la tabla simple tiene dos dimensiones la acumulación no me funciona. Como lo puedo solucionar?

Asier

Miguel_Angel_Baeyens

Hola Asier,

Necesitaría conocer los datos de primera mano (aunque sean cifrados o falsos). Echa un vistazo a la aplicación que te adjunto, una tabla pivotante con datos de ejemplo, verás como la columna Amount muestra la cantidad por mes, y la tabla Acum muestra la suma de todos los datos por ID. ¿De qué forma querrías acumular? ¿Todos los meses del año?

Espero que te sirva.

Miguel

asier
Partner - Contributor III
Partner - Contributor III
Author

Hola Miguel Angel, te mando un documento Qlik con dos tablas. La primera es pivotante y quiero que acumule dentro de cada año. Por ejemplo año 2012:

                                          2012

                              Importe          Acumulado

                                   265                    265

                                   109                    374

                                     68                    442

                                   346                    788

En la tabla simple tambien necesito acumular.

Adjunto:

https://docs.google.com/open?id=0B0tarjwRMfYYNWE3OWExMjktMWRlZS00MWNjLTlhZDktNzc5NWQ5ZGZhNzc4

Miguel_Angel_Baeyens

Hola Asier,

En ambos casos necesitas utilizar el cualificador TOTAL tanto en la función Above() como en la función RowNo()

RangeSum(Above(TOTAL [Importe], 0, RowNo(TOTAL)))

Espero que te sirva.

Miguel

asier
Partner - Contributor III
Partner - Contributor III
Author

Muchas gracias Miguel Angel por la paciencia y la dedicación.