Forum Discussion
Problema con AVERAGEIFs
Hola a todos,
Tengo un problema que me llevó unas horas resolver y no 😞 pude
Tengo la siguiente estructura de datos:
| País | Año | Mes | Producto | Receptor | Volumen | Razón |
| Estados Unidos | 2014 | 1 | Soja | China | 5354185 | Real |
| Estados Unidos | 2015 | 1 | Soja | China | 5260912 | Real |
| Estados Unidos | 2016 | 1 | Soja | China | 3261607 | Real |
| Estados Unidos | 2017 | 1 | Soja | China | 3483983 | Real |
| Estados Unidos | 2018 | 1 | Soja | China | 2690972 | Real |
| Estados Unidos | 2019 | 1 | Soja | China | 132999 | Real |
| Estados Unidos | 2020 | 1 | Soja | China | 2323474 | Real |
| Estados Unidos | 2021 | 1 | Soja | China | 5122018 | Real |
| Estados Unidos | 2022 | 1 | Soja | China | 3308130 | Real |
| Estados Unidos | 2023 | 1 | Soja | China | 6224062 | Real |
observe que hay varios años y también varios meses (en este ejemplo puse solo el mes 1), en powerbi ya usé las condiciones "AVERAGEIFS", AVERAGEX con GROUPBY y CALCULATE con FILTER para hacer el promedio correcto para cada mes agrupando los últimos cinco años, por ejemplo, el promedio del mes 1 de los años 2018 a 2022, Pero nada funciona, hace un promedio que definitivamente los valores son incorrectos.
¿Alguien puede ayudarme, por favor? :'(
3 Replies
- Syndicate_Admin
Administrator
Arriba, ayuda
- Syndicate_Admin
Administrator
@fjordy ,
Puedes probar medidas como
AVERAGEX(Valores(Fecha[Mes Año]) , calcular(Suma(Tabla[Volumen])))
Supongo que está utilizando una tabla de fechas con mes y año
o
AVERAGEX(Resumir(Tabla,Tabla[Año], Tabla[Mes], "_1" , calcular(Suma(Tabla[Volumen]))), [_1])
- Syndicate_Admin
Administrator
Muchas gracias, como no era un formato de fecha tuve que usar otra fórmula, lo logré de la siguiente manera:
Promedio 5 años =
VAR CurrentYear = MAX('Amzr Evolution UF'[Año])-1
VAR LastYear = CurrentYear - 4
VAR TotalVolume = SUMX(
FILTRO(
CALCULATETABLE(
«Exp Consolidated»,
'Consolidated Exp'[Año] >= LastYear && 'Consolidated Exp'[Año] <= CurrentYear && 'Consolidated Exp'[Volumen] <> 0
),
'Consolidated Exp'[Month] = MAX('Consolidated Exp'[Month])
),
'Consolidated Exp' [Volumen]
)
VAR QtyYears = 5
RETURN DIVIDE(TotalVolume,QtyYears)