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.
¡Hola!
Tengo un conjunto de datos (a través de Direct Query) de una Base de datos SQL de Azure que almacena los valores acumulados de un dispositivo. El ejemplo es el siguiente:
Valor (litros) | Timestamp |
276 | 2022-05-29 19:08:03.000 |
276 | 2022-05-29 18:53:03.000 |
275 | 2022-05-29 18:48:01.000 |
274 | 2022-05-29 18:33:01.000 |
274 | 2022-05-29 18:18:01.000 |
274 | 2022-05-29 18:03:01.000 |
274 | 2022-05-29 17:48:01.000 |
274 | 2022-05-29 17:43:00.000 |
.... | .... |
260 | 2022-05-28 23:43:00.000 |
Si utilizo los valores anteriores en un gráfico de columnas, tengo una representación acumulada. Necesito tener el valor por día. Aparentemente tengo que restar el último valor del día anterior (fuente roja) del valor "actual" (en fuente verde).
Para ser más específicos, el proyecto tiene que ver con la producción de agua a partir de una máquina de gestión de residuos, por lo que necesito monitorear el volumen diario del agua producida y ponerlo en la tabla.
Hágame saber si necesita más datos para ayudarme,
Gracias de antemano
Siendo más bien un novato, no puedo entender el significado de "columna de ayudante". ¿Dónde debo poner las líneas de código sugeridas?
Hola @teokarts
Para este caso de uso, crearía varias columnas auxiliares (esto se puede hacer con solo una o dos, pero es mejor ver el proceso).
Date =
INT('Table'[Timestamp])
//get the first date component of the timestamp, to be formatted as a date
Value of Max Time =
VAR _dailymaxtime =
CALCULATE ( MAX ( 'Table'[Timestamp] ), ALLEXCEPT ( 'Table', 'Table'[Date] ) ) //get the max timestamp of each date
RETURN
IF ( 'Table'[Timestamp] = _dailymaxtime, 'Table'[Value (litres)] )
//returns the volume only if timestamp is max for the day
Daily Volume =
IF (
NOT ( ISBLANK ( 'Table'[Value of Max Time] ) ),
'Table'[Value of Max Time]
- CALCULATE (
SUM ( 'Table'[Value of Max Time] ),
FILTER ( 'Table', 'Table'[Date] < EARLIER ( 'Table'[Date] ) )
)
)
Este es el resultado:
Aquí está el pbix de muestra: https://drive.google.com/file/d/1zMnfkqjg-p0Z7VK0Bttl4gYLFsWpYakB/view?usp=sharing
Creo que la solución que me propones es la que necesito pero -es mi error- que todos los datos se deriven a través de DirectQuery desde una Base de Datos Sql de Azure.
Así que tengo el siguiente mensaje:
"La función 'CALCULATE' no está permitida como parte de las expresiones DAX de columna calculadas en los modelos de DirectQuery".
¿Hay algún otro enfoque?
Gracias de nuevo....
¿Es necesario utilizar Direct Query en lugar de realizar una importación?
Desafortunadamente, es necesario. El informe es generado por una Base de datos SQL de Azure que se rellena con datos "activos" de dispositivos conectados al centro de IoT de Azure.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |