Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
josemaria
Creator II
Creator II

Duda en Acumulado en tabla pivotante

Hola a todos,

Tengo una duda a ver si me podéis ayudar.

En una tabla pivotante tengo los siguientes campos:

Sección,Marca,Pase,Modelo,Variante,Articulo.

Lo que necesito es que me acumule el porcentaje de todos los artículos de una misma Marca.

La formula que utilizo es esta:

RangeSum(Above(Sum(T.INICIAL)/Sum(TOTAL <Sección> T.INICIAL),0,RowNo()))

y funciona hasta el Pase pero cuando expando la tabla al punto de Modelo,Variante,Articulo, solo me hace el acumulado del articulo al nivel de variante cuando cambia la variante me empieza otra vez desde el principio a acumular.


Alguien sabe como lo puedo solucionar?


Gracias


Saludos cordiales

23 Replies
josemaria
Creator II
Creator II
Author

Hola Edgar,

Muchas gracias por tu aportación, pero la Expresión que me comentas hace lo mismo que la columna del Acumulado.

Solo me acumula por modelo,cuando cambia el modelo empieza otra vez desde el principio, y lo que necesito que me vaya acumulando los modelos por la marca, hasta que no cambie de marca que no empiece de nuevo.

No se si me explicado muy bien, en el excel que adjunto anteriormente se ve el ejemplo muy claro de lo que necesito.

Gracias

Saludos

sorrakis01
Specialist
Specialist

Hola Jose María,

El otro dia hice pruebas en tu caso mediante Dimensionality(). Añade esto código en la expresion modelo y mira si te funciona: (No lo pude valdiar)

=If(dimensionality()=1,RangeSum(Above(Sum(T.INICIAL)/Sum(TOTAL T.INICIAL),0,RowNo())),

If(dimensionality()=2,RangeSum(Above(Sum(T.INICIAL)/Sum(TOTAL <Sección> T.INICIAL),0,RowNo())),

If(dimensionality()=3,RangeSum(Above(Sum(T.INICIAL)/Sum(TOTAL <Sección,Marca> T.INICIAL),0,RowNo())),

If(dimensionality()=4,RangeSum(Above(Sum(TOTAL <Sección,Marca,Pase>T.INICIAL)/Sum(TOTAL <Sección,Marca> T.INICIAL),0,RowNo())),

If(dimensionality()=5,RangeSum(Above(Sum(T.INICIAL)/Sum(TOTAL <Sección,Marca,Pase,Modelo> T.INICIAL),0,RowNo())),)))))

Saludos,

josemaria
Creator II
Creator II
Author

Hola Jordi,

Muchas gracias por las pruebas,pero el resultado es - en todas las filas no se como lo puedo solucionar.

Nunca utilizado lo de dimensionality(), la expresión me da ok pero no me muestra nada.

Muchas gracias por la respuesta.....

Saludos

sorrakis01
Specialist
Specialist

Hola,

Te tienen que salir datos hasta la dimensión Artículo.

Revisa los campos..... que esten bien escritos.

Saludos,

josemaria
Creator II
Creator II
Author

Hola Jordi,

Esta todos bien escritos y no me aparecen datos....

Saludos

sorrakis01
Specialist
Specialist

Hola,

Te adjunto la prueba que hice.

Saludos,

josemaria
Creator II
Creator II
Author

Hola Jordi,

No es exactamente lo que quiero hacer ,lo que necesito es que me vaya acumulando hasta el ultimo articulo de la marca. y ahora solo me acumula hasta el ultimo articulo del modelo, cuando cambia modelo empieza acumular de nuevo.

Muchas gracias

Saludos

sorrakis01
Specialist
Specialist

Hola JL,

Entre Pase y Modelo se hace un lío, porque si cambias el orden lo hace bien pero luego pasa lo mismo.


Si puedo le doy una vuelta, pero quizás venga dado por el modelo de datos.

Saludos,

josemaria
Creator II
Creator II
Author

Muchas gracias Jordi,

Te lo agradezco, es que no encuentro la solución a este tema.

Un saludo

sorrakis01
Specialist
Specialist

Hola JL,

No he conseguido el fin. Apartir de la 3a dimensión siempre tiene en cuenta la dimensión acumulada anterior....

No sé si alguien puede aportarte un poco de luz a este tema...

Si consigo algo nuevo te aviso

Saludos,