Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
carlosalbert
Contributor II

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

carlosalbert_0-1643642855214.png

Un saludo

1 Solution

Accepted Solutions
rubenmarin

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.

View solution in original post

4 Replies
rubenmarin

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))

carlosalbert
Contributor II
Author

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.

 

carlosalbert_0-1643699455308.png

Un saludo

rubenmarin

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.

carlosalbert
Contributor II
Author

Muchas gracias Ruben,

Ahora funciona como yo quiero. 

Un saludo