
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Calculo con Aggr
Muy buenas tardes a todos,
Estoy intentando hacer un calculo y necesito hacerlo de manera agregada para que cuando la informacion se explote por las diferentes dimensiones el calculo sea identico.
Esta es la expresion :
SUM(Aggr(
If([_Kg_Venta_FAC_Actual]<=0 or [_Kg_Venta_FAC_Anterior]<=0,1,2)
,Supercadena,Familia,CodArticulo))
Pero no se porque cuando los Kilos venta 2020 son cero, me pone un 0 en lugar de un 1
Mil gracias
Un saludo
Accepted Solutions

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hola, el aggr() lo va a hacer por las dimensiones que tenga disponibles según las selecciones, y para el año 2021 no tendrá las combinaciones que salen a cero.
Puedes probar cambiando a:
sum({<Año={'$(vAñoAnterior)','$(vAñoActual)'}>}Aggr(If(Rangesum(...
o a: sum({<Año>}Aggr(If(Rangesum(...
Puede que tengas que añadir al set analysis para ignorar otros campos que descarten las combinaciones (fecha, mes, periodo...)
Saludos.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hola Carlos, puede que no tenga dato, más que preguntar por el valor de 1 campo prueba haciendo al suma de los valores:
SUM(Aggr(
If(Sum([_Kg_Venta_FAC_Actual])<=0 or Sum([_Kg_Venta_FAC_Anterior])<=0,1,2)
,Supercadena,Familia,CodArticulo))

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Muchas gracias Ruben por contestar.
En realidad lo que esta en corchetes es una medida maestra y calculan los kg venta 2021 y 2020. Lo que necesito es que las lineas marcadas en amarillo tengan un 1 es decir si los kilos en 2021 o 2020 han sido 0 que me lo marque como 1.
La expesion:
sum(Aggr(
If(
Rangesum(
sum({<Año={$(vAñoAnterior)},Supercadena-={'MUESTRAS SIN CARGO'},Familia-={'Muestras'},[Tipo Articulo]={'PT'}>}[Albaran.KG]) ,
sum({<Año={$(vAñoAnterior)},Supercadena-={'MUESTRAS SIN CARGO'},Familia-={'Muestras'},[Tipo Articulo]={'PT'}>}[Devolucion.KG]))<=0
or
Rangesum(
sum({<Año={$(vAñoActual)},Supercadena-={'MUESTRAS SIN CARGO'},Familia-={'Muestras'},[Tipo Articulo]={'PT'}>}[Albaran.KG]) ,
sum({<Año={$(vAñoActual)},Supercadena-={'MUESTRAS SIN CARGO'},Familia-={'Muestras'},[Tipo Articulo]={'PT'}>}[Devolucion.KG]))<=0 ,
1,2)
,Supercadena,Familia,CodArticulo))
No entiendo bien porque las dos primeras lineas las evalua con un correctamente 2 (kg 2021 >0 y Kg 2020>0) sin embargo las 2 siguientes que cumplen una de las 2 condiciones del "or" (kg 2021<=0) no lo evalua con un 1.
Un saludo

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hola, el aggr() lo va a hacer por las dimensiones que tenga disponibles según las selecciones, y para el año 2021 no tendrá las combinaciones que salen a cero.
Puedes probar cambiando a:
sum({<Año={'$(vAñoAnterior)','$(vAñoActual)'}>}Aggr(If(Rangesum(...
o a: sum({<Año>}Aggr(If(Rangesum(...
Puede que tengas que añadir al set analysis para ignorar otros campos que descarten las combinaciones (fecha, mes, periodo...)
Saludos.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Muchas gracias Ruben,
Ahora funciona como yo quiero.
Un saludo
