This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreLevel up your Power BI skills this month - build one visual each week and tell better stories with data! Get started
Hola a todos,
Tengo un conjunto de datos en el que tengo un valor para cada código de consumidor que se duplica para cada ID que tengo en mi base de datos. Quiero devolver el valor único de Cantidad para cada código y cada mes con una medida, para poder sumar esa y obtener el valor total por código durante las fechas seleccionadas por el usuario. Para los siguientes datos, lo que espero es una medida de que cuando el usuario seleccione una fecha en la segmentación (es decir, 20/10/2024), los valores devueltos deben ser:
Código 287 una cantidad igual a (8000+19000) = 27000
Código 465 una cantidad igual a (12801.18+43373.8) =56174.98
Por lo tanto, los resultados deben ser anteriores a la fecha que el usuario seleccione y deben ser el valor promedio de la columna AMOUNT.
El código que estoy usando ahora es algo similar a esto, pero no funciona como se esperaba:
YearToDateAverage =
CALCULAR(
PeriodoMedias del VAR =
ADDCOLUMNS(
FILTRO(
VALORES(DATOS[FECHA]),
DATOS[FECHA] <= MAX(DATOS[FECHA])
),
"PeriodAvg",
CALCULAR(
PROMEDIOX(
FILTRO(
DATOS
NOT(ISBLANK(DATA[CANTIDAD]))
),
DATOS[CANTIDAD]
),
FILTRO(
TODOS(DATOS),
DATOS[CÓDIGO] = VALORSELECCIONADO(DATOS[CÓDIGO] &&
DATOS[FECHA] = ANTERIOR(DATOS[FECHA]) &&
AÑO(DATOS[FECHA]) = AÑO(MÁX.(DATOS[FECHA]))
)
)
)
VAR PeriodCount = COUNTROWS(PeriodAverages)
VAR OverallAverage = AVERAGEX(PeriodAverages, [PeriodAvg])
RETORNO Promedio general,
REMOVEFILTERS( --used para eliminar filtros de las segmentaciones
DATOS[FECHA],
DATOS[AÑO],
DATOS[DATE_MONTH]
)
)
Fecha | IDENTIFICACIÓN | IMPORTE | CÓDIGO |
05/09/2024 07:00 | 15446213 | 8000 | 287 |
06/09/2024 07:00 | 2425691 | 8000 | 287 |
06/09/2024 07:00 | 15923576 | 8000 | 287 |
06/09/2024 07:00 | 12443095 | 12801.18 | 465 |
06/09/2024 07:00 | 744922.5 | 12801.18 | 465 |
06/09/2024 07:00 | 9731083 | 12801.18 | 465 |
08/09/2024 07:00 | 3051668 | 12801.18 | 465 |
10/09/2024 07:00 | 2411277 | 12801.18 | 465 |
10/09/2024 07:00 | 8674816 | 12801.18 | 465 |
11/09/2024 07:00 | 2546245 | 8000 | 287 |
13/09/2024 07:00 | 10229042 | 12801.18 | 465 |
13/09/2024 07:00 | 15755668 | 12801.18 | 465 |
13/09/2024 07:00 | 2017874 | 12801.18 | 465 |
13/09/2024 07:00 | 3126478 | 12801.18 | 465 |
13/09/2024 07:00 | 7406693 | 12801.18 | 465 |
13/09/2024 07:00 | 8057878 | 12801.18 | 465 |
13/09/2024 07:00 | 10893955 | 12801.18 | 465 |
13/09/2024 07:00 | 4356376 | 12801.18 | 465 |
13/09/2024 07:00 | 724419 | 12801.18 | 465 |
13/09/2024 07:00 | 1375314 | 12801.18 | 465 |
13/09/2024 07:00 | 14852419 | 12801.18 | 465 |
13/09/2024 07:00 | 12256065 | 12801.18 | 465 |
13/09/2024 07:00 | 11124722 | 12801.18 | 465 |
18/09/2024 07:00 | 4904784 | 12801.18 | 465 |
19/09/2024 07:00 | 2101887 | 12801.18 | 465 |
19/09/2024 07:00 | 562446.2 | 12801.18 | 465 |
20/09/2024 07:00 | 10803079 | 12801.18 | 465 |
20/09/2024 07:00 | 8847007 | 12801.18 | 465 |
21/09/2024 07:00 | 983438.3 | 12801.18 | 465 |
24/09/2024 07:00 | 12598677 | 12801.18 | 465 |
24/09/2024 07:00 | 9603358 | 12801.18 | 465 |
24/09/2024 07:00 | 4641095 | 12801.18 | 465 |
25/09/2024 07:00 | 4010836 | 12801.18 | 465 |
26/09/2024 07:00 | 13825778 | 12801.18 | 465 |
26/09/2024 07:00 | 9984293 | 12801.18 | 465 |
26/09/2024 07:00 | 8226882 | 12801.18 | 465 |
26/09/2024 07:00 | 9005921 | 12801.18 | 465 |
01/10/2024 07:00 | 5589874 | 43373.8 | 465 |
01/10/2024 07:00 | 12890181 | 43373.8 | 465 |
01/10/2024 07:00 | 9040618 | 43373.8 | 465 |
01/10/2024 07:00 | 15628785 | 43373.8 | 465 |
01/10/2024 07:00 | 672593 | 19000 | 287 |
01/10/2024 07:00 | 9060820 | 19000 | 287 |
02/10/2024 07:00 | 13169360 | 19000 | 287 |
04/10/2024 07:00 | 10903322 | 43373.8 | 465 |
17/10/2024 07:00 | 2318524 | 43373.8 | 465 |
17/10/2024 07:00 | 13430471 | 43373.8 | 465 |
18/10/2024 07:00 | 3331089 | 43373.8 | 465 |
22/10/2024 07:00 | 5876561 | 43373.8 | 465 |
22/10/2024 07:00 | 6470726 | 43373.8 | 465 |
22/10/2024 07:00 | 7406241 | 43373.8 | 465 |
22/10/2024 07:00 | 946373.9 | 43373.8 | 465 |
23/10/2024 07:00 | 10169340 | 43373.8 | 465 |
27/10/2024 07:00 | 4730362 | 43373.8 | 465 |
29/10/2024 07:00 | 10436420 | 43373.8 | 465 |
31/10/2024 07:00 | 1555396 | 43373.8 | 465 |
31/10/2024 07:00 | 8163260 | 43373.8 | 465 |
31/10/2024 07:00 | 314187.3 | 43373.8 | 465 |
03/11/2024 07:00 | 15470032 | 20000 | 287 |
04/11/2024 08:00 | 12730697 | 48128.07 | 465 |
08/11/2024 08:00 | 5914064 | 48128.07 | 465 |
¡Gracias a los dos! Utilicé el enfoque para obtener el promedio primero y simplemente sumar los valores, ¡y funciona!
Hola @julsr ,
Intenta modificar tu medida a algo como esto:
YearToDateAverage =
CALCULATE(
SUMX(
SUMMARIZE(
FILTER(
DATA,
DATA[DATE] <= MAX(DATA[DATE])
),
DATA[CODE],
"UniqueAmount", AVERAGEX(
FILTER(
DATA,
DATA[CODE] = EARLIER(DATA[CODE]) &&
DATA[DATE] <= MAX(DATA[DATE])
),
DATA[AMOUNT]
)
),
[UniqueAmount]
),
REMOVEFILTERS(
DATA[DATE],
DATA[YEAR],
DATA[DATE_MONTH]
)
)
No olvide reemplazar los nombres de tablas y columnas por los suyos propios.
Gracias
Tal vez pueda intentar crear una nueva columna para obtener el promedio primero
Check out the April 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.