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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Cálculo de la diferencia acumulativa entre dos marcas de tiempo para los datos agrupados

Hola a todos,

este es un ejemplo de la tabla que tengo en mi informe. Tengo datos de energía para diferentes medidores inteligentes instalados en máquinas de producción que recogen el consumo de energía por turnos tres veces al día (14:00, 23:00, 05:00). Los valores de consumo dados son acumulativos para el final de cada turno y se pueden ver en la columna "Consumo acumulativo". Quiero tener los valores de consumo para un cambio dado y un encuentro inteligente para el que necesito la diferencia entre el cambio actual y el cambio antes. Así que la columna "Consumo" serían los valores de destino que quiero calcular en Power BI. Soy nuevo en Power Bi y DAX y honestamente no tengo idea de cómo lograr esto. Miré algún puesto, pero ninguno aborda el mismo problema que el mío, ya que no estoy viendo diferencias entre días, sino entre turnos.

energy_consumption.jpg

¡Muchas gracias de antemano!

1 ACCEPTED SOLUTION

@Trisulara , Parece que me perdí antes en un lugar

nueva columna =
var _max = maxx(filter(Table, [smart Meter] = earlier([smart Meter]) && [datetime] <earlier([Datetime])),[Datetime])
devolución
[Consumo acumulativo] - maxx(filter(Table, [smart Meter] = earlier([smart Meter]) && [datetime] =_max),[Consumo acumulativo])

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

@Trisulara , Pruebe una nueva columna como

nueva columna =
var _max = maxx(filter(Table, [smart Meter] = earlier([smart Meter]) && [datetime] <[Datetime]),[Datetime])
devolución
[Consumo acumulativo] - maxx(filter(Table, [smart Meter] = earlier([smart Meter]) && [datetime] =_max),[Consumo acumulativo])

Gracias por la respuesta rápida, pero esto no parece funcionar, ya que devuelve exactamente los mismos valores que en la columna "Consumo acumulativo" 🤔

@Trisulara , Parece que me perdí antes en un lugar

nueva columna =
var _max = maxx(filter(Table, [smart Meter] = earlier([smart Meter]) && [datetime] <earlier([Datetime])),[Datetime])
devolución
[Consumo acumulativo] - maxx(filter(Table, [smart Meter] = earlier([smart Meter]) && [datetime] =_max),[Consumo acumulativo])

Impresionante, esto parece funcionar perfectamente!
Dos preguntas adicionales.

1. Mirando la estructura de su fórmula y algunos ejemplos de mis datos, ¿soy correcto al asumir que los datos no necesitan ser ordenados por grupo y marca de tiempo como en la captura de pantalla anterior? Porque en realidad, este no es el caso

2. ¿Hay alguna manera de integrar que el valor de diferencia acumulativa para la primera marca de tiempo se establece en cero? Puesto que estoy filtrando datos >= 2020 al importar datos desde la base de datos de origen, a menudo el primer valor ya es un valor acumulativo y no cero. La fórmula devuelve ese valor acumulado que es demasiado alto entonces.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.