Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buenos días quisiera calcular una dimension.
Mi caso es el siguiente: tengo muchas garantías en un periodo, estas garantías a su vez tienen muchas operaciones, lo que quiero es mostrar la Operacion mayor(que es numerico) de una Garantia, y que las demás dimensiones sea la relación de esa operación mayor.
Lo que me importa es la operación mayor de la garantía y así realizar los demás cálculos solo con esa operacion.
Pense en hacerlo asi pero no me funciona
Aggr(if(ID_OPERACION = max(total ID_OPERACION ), ID_OPERACION ),NUMERO_GARANTIA )
Si me pueden ayudar se los agradezco de antemano.
Saludos,
Carlos
Buenas tardes, Carlos
No sé si he entendido bien el problema, digamos que dada la siguiente tabla (centrándonos en los campos que son relevantes para lo que queremos calcular):
Querríamos un resultado tal que asi:
De manera que las dimensiones muestren el periodo, las garantías de las operaciones con el máximo valor, dichas operaciones y su expresión (en mi caso la suma de un campo).
¿Has probado a agregar el máximo del campo operación por el resto de valores de la tabla?, sencillamente escribiendo =aggr(Max(Operacion), Garantia) debería agrupar el máximo de operación para todas las garantías. Como tienes varios periodos y también tendrías que agrupar por ese periodos, el aggr quedaria tal que =aggr(Max(Operacion), Garantia, Periodo).
El aggr() te va a mostrar la agregación que hayas definido, sin embargo la expresión va a seguir calculando el resultado de la evaluación de todos los registros, por lo tanto será necesario que la expresión se calcule para el máximo valor del campo operación tal que (suponiendo que la expresión fuese sum(campo)):
Sum({<Operacion={$(=Max(Operacion))}>}Campo)
Creo que con eso podrías obtener la tabla que buscas. Te mando un ejemplo de todo esto.
En cualquier caso, tanto el aggr como el Max son operaciones que consumen bastantes recursos, desde el punto de vista del diseño del documento, su mantenimiento y su escalabilidad, sería más cómodo calcular estas operaciones en el script en lugar de en la capa de diseño.
Buenas tardes, Carlos
No sé si he entendido bien el problema, digamos que dada la siguiente tabla (centrándonos en los campos que son relevantes para lo que queremos calcular):
Querríamos un resultado tal que asi:
De manera que las dimensiones muestren el periodo, las garantías de las operaciones con el máximo valor, dichas operaciones y su expresión (en mi caso la suma de un campo).
¿Has probado a agregar el máximo del campo operación por el resto de valores de la tabla?, sencillamente escribiendo =aggr(Max(Operacion), Garantia) debería agrupar el máximo de operación para todas las garantías. Como tienes varios periodos y también tendrías que agrupar por ese periodos, el aggr quedaria tal que =aggr(Max(Operacion), Garantia, Periodo).
El aggr() te va a mostrar la agregación que hayas definido, sin embargo la expresión va a seguir calculando el resultado de la evaluación de todos los registros, por lo tanto será necesario que la expresión se calcule para el máximo valor del campo operación tal que (suponiendo que la expresión fuese sum(campo)):
Sum({<Operacion={$(=Max(Operacion))}>}Campo)
Creo que con eso podrías obtener la tabla que buscas. Te mando un ejemplo de todo esto.
En cualquier caso, tanto el aggr como el Max son operaciones que consumen bastantes recursos, desde el punto de vista del diseño del documento, su mantenimiento y su escalabilidad, sería más cómodo calcular estas operaciones en el script en lugar de en la capa de diseño.
Muchas gracias Luis.