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

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

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
November Power BI Update Carousel

Power BI Monthly Update - November 2025

Check out the November 2025 Power BI update to learn about new features.

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

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.

Top Kudoed Authors