isidnis
Hola,
No puedo encontrar una solución para una pregunta probablemente muy simple. Tengo una tabla con una medida absoluta de un contador de servicios públicos con la marca de tiempo cuando se midió, por ejemplo
La clave es que el valor medido siempre aumenta. Lo que me gustaría hacer es buscar información sobre el consumo, por ejemplo, cuánto se ha consumido este mes, cuál es la diferencia entre meses, consumo promedio por día, etc. Las marcas de tiempo son bastante aleatorias y es posible que falten algunas.
Alba
Hola @isidnis
Probablemente lo más fácil sea crear una columna calculada adicional con solo el día (es decir, descartando la hora):
DayColumn = INT(Table1[Timestamp])
y haga que el nuevo tipo de columna sea date. Luego, cree una tabla de fechas estándar y podrá configurar muchas de las cosas que está describiendo fácilmente. Por ejemplo, consumo medio por día:
1. Establecer Table1[DayColumn] en las filas de una matriz visual
2. Crea una medida y colócala en la matriz:
AverageMeasure = AVERAGE(Table1[Measure])
isidnis
En respuesta a Alba
Muchas gracias por tu respuesta, mi problema es que la medida es un valor absoluto de un contador. Entonces, el consumo promedio por día sería (Valor al final del día 1 – Valor al comienzo del día 1) + (Valor al final del día 2 – Valor al comienzo del día 2) … … / (Número de días con datos)
Alba
En respuesta a isidnis
Nos ayudaría y nos ahorraría tiempo si describiera en detalle lo que necesita desde el principio, como lo ha hecho ahora. A continuación, puede crear una medida y colocarla en una imagen de tarjeta (aún usando la nueva columna calculada descrita anteriormente):
Measure2 = AVERAGEX ( DISTINCT ( Table1[DayColumn] ), VAR ValBeginDay_ = CALCULATE ( MIN ( Table1[Measure] ) ) VAR ValEndDay_ = CALCULATE ( MAX ( Table1[Measure] ) ) RETURN ValEndDay_ - ValBeginDay_ )
isidnis
En respuesta a Alba
Perdón por la falta de información, soy bastante nuevo en toda esta área 🙂
Intentaré ser más específico. La tabla que tengo tiene en realidad 3 columnas deviceid: que identifica el contador de la utilidad, la marca de tiempo de la medida y la medida absoluta del contador que es un número que aumenta cada vez que un usuario consume electricidad.
Lo que quiero lograr (tu última fórmula no funcionó) es algo como:
Estaba pensando en tener una columna con valores diferenciales de cada día,
DAY CONDUMPTION = MAX(Table[Measure])-(CALCULATE(MAX(Table[Measure]),PREVIOUSDAY(Table[DayColumn]))
Pero tampoco funciona.
Perdón de nuevo por el malentendido
Anónimo
En respuesta a isidnis
Debe crear una tabla de hechos que se mantendrá cada día para cada ID de dispositivo y debe * interpolar * linealmente el consumo de cada día. Entonces podrás calcular FÁCILMENTE el consumo de alguna período de tiempo.
Si no lo hace de la manera que le digo, tendrá que luchar con DAX para que sea más complejo y lento de lo que debería ser. En otras palabras, la granularidad de su hecho debe ser El dia, no días con lagunas.
Puede crear la tabla de hechos con Power Query (M). No debería ser difícil. Recuerde: la clave para un modelo simple y correcto es INTERPOLACIÓN LINEAR.
Mejor
D.
isidnis
En respuesta a Anónimo
Gracias por tu ayuda. Probablemente fuera de mi conjunto de habilidades para hacer interpolación lineal en consultas de energía. Pude obtener una tabla con solo una medida por día, pero no estoy seguro de cómo obtener una columna que tenga el valor incremental en la consulta de energía. Lo he podido hacer con una medida.
Anónimo
En respuesta a isidnis
La forma de hacerlo en PQ es esta. Digamos que tiene un día a con una lectura de A y un día b con una lectura de B (A [a0a1)[a2a3))Soyouhavetonowcreatena=a0a1a(n-1)=b-1daysandallocatetotheminalinearfashiontheconsumptionofB-AEachdaywillhaveaconsumptionof(B-A)/nandthisisthelinearinterpolationIwastalkingaboutNowthisproceduremustbecarriedoutforeachandeverypairofconsecutivedays
Mejor
D.