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

The Power BI Data Visualization World Championships is back! It's time to submit your entry. Live now!

Reply
Termigez
Regular Visitor

AVERAGEX en intervalos de tiempo

Hola a todos, quiero crear una nueva columna calculada que iterará a través de mis filas y devolverá un valor promedio para los valores actuales y pasados 2 para cada nombre único teniendo en cuenta Tiempo

NombrehoraCantidadVALOR DEVUELTO ESPERADO
A

10:00

4(puede ser nulo o 4)
B10:005(puede ser nulo o 5)
A11:003(puede ser nulo o 3.5)
B11:001(puede ser nulo o 6)
A12:0018 (4+3+1) / 3 a 8/3
B12:00511(5+1+5) / 3 a 11/3
A13:00610 (3+1+6) / 3 a 10/3
B13:0039 (1+5+3) / 3 á 3
A14:00512 (1+6+5) / 3 á 4

¿Por qué necesito esto? Porque quiero crear un gráfico de líneas que usará Tiempo como eje X y para cada hora mostrará un valor promedio para esta hora y dos horas pasadas. Como se puede ver encima de la función para Nombre a y Hora a 14:00 devuelve la base media en Importe de 12:00, 13:00 y 14:00 donde Nombre a A. También es importante tener en cuenta que hay más de una fecha en mis datos, así que tenga en cuenta que el nombre a A, la hora a las 10:00 puede ocurrir varias veces, pero con una fecha diferente. Entonces, supongo que el desafío es crear e indexar que tendrá en cuenta tanto la fecha, la hora y el nombre y luego usar este índice para interatar sobre la cantidad?

3 REPLIES 3
Anonymous
Not applicable

@Termigez

Primero debe crear un índice para el [Tiempo], por lo que puede mirar hacia atrás para un rango, porque el tipo de tiempo no es compatible

Index = RANKX('Table',[Time],,ASC,Dense)

Result = CALCULATE(AVERAGE('Table'[Amount]),FILTER('Table',[Name]=EARLIER('Table'[Name])),FILTER('Table','Table'[Index]<=EARLIER('Table'[Index])&&'Table'[Index]>EARLIER('Table'[Index])-3))

Index and Result.JPG

Paul Zheng
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

amitchandak
Super User
Super User

@Termigez

Pruebe uno de los dos como columnas

Avg  = avergageX(filter(table,table[Name] =earlier(table[Name]) && table[time] <=earlier(table[time])),table[Amount])

Avg  = avergageX(filter(table,table[Name] =earlier(table[Name]) && table[time] <earlier(table[time])),table[Amount])
Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Desafortunadamente esas fórmulas no funcionan. Agradecería cualquier otra idea.

Helpful resources

Announcements
December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.