Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
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.
¡Muchas gracias de antemano!
Solved! Go to 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])
@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.