Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowGet inspired! Check out the entries from the Power BI DataViz World Championships preliminary rounds and give kudos to your favorites. View the vizzies.
Necesito cumplir con un informe que calcule los SLA.
Obtuve mis datos de statuscake en "períodos", lo que significa que obtuve períodos en los que el servicio está en marcha y períodos en los que el servicio está caído.
ejemplo:
empezar | fin | estado |
31.05.2021 17:25 | 01.06.2021 00:00 | hacia arriba |
31.05.2021 17:24 | 31.05.2021 17:24 | abajo |
30.05.2021 12:25 | 30.05.2021 12:25 | hacia arriba |
30.05.2021 12:24 | 30.05.2021 12:24 | abajo |
25.05.2021 21:49 | 25.05.2021 21:49 | hacia arriba |
Ahora, logro extraer la diferencia entre las fechas con:
DATEDIFF([Start],[End],SECOND),
Esto me da segundos. Que podría usar para crear un informe "Suma de segundos por estado".
Pero sería bueno tener un "Días, Horas, Minutos, Segundos por Estado" en su lugar.
Ya investigué un poco sobre este tema, y encontré muchas maneras de calucate Tiempo de segundos en hh:mm:ss, que parece ser un formato compatible - hasta - tienes más de 24h marcos de tiempo.
Así que encontré maneras de formatear d:hh:mm:ss o d.hh:mm:ss - pero este formato no es conocido por PowerBi, como parece - y por lo tanto no puedo obtener una "SUMA por estado".
Cualquier ayuda es apreciada.
Solved! Go to Solution.
Hola @SysLostInBI
aunque podría "agrupar", no hará cálculos porque el tipo de duration(format: dd:hh:mm:ss) es string. por cierto, no hay ningún formato de duration(dd:hh:mm:ss) compatible con Power BI, al menos por ahora. así que te sugiero que hagas cálculos manualmente.
Puede crear una medida y agrupar los datos por status(Down, Up), luego puede usar function left(), MID(), RIGHT() para obtener cada parte en duration(format: dd:hh:mm:ss, 4 partes), luego usar function value() para convertir el tipo de string a int. Finalmente, calcule cada parte por separado y combine 4 partes en una sola.
Fyi:
https://docs.microsoft.com/en-us/dax/text-functions-dax
Un ejemplo rápido (no exactamente igual, pero la lógica es similar😃),
https://community.powerbi.com/t5/Desktop/Count-With-Multiple-Conditions-DAX/td-p/1858846
si usted tiene más preguntas, por favor hágamelo saber.
Saludos
Equipo de apoyo a la comunidad _ Tang
Si este post ayuda,por favor considere Aceptarlo como la solución✔️ para ayudar a los otros miembros a encontrarlo más rápidamente.
No @SysLostInBI
En función de su descripción, desea calcular los "días, horas, minutos, segundos por estado" en lugar de "suma de segundos por estado", pero en Power BI no hay ningún formato de este tipo. Así que le sugiero que cree la columna y mida a continuación para personalizar su formato "day:hh:mm:ss", por ejemplo.
secondsColumn = DATEDIFF('Table'[Start],'Table'[End],SECOND)
d:hh:mm:ss perstatus =
var _sumseconds_perstatus=CALCULATE(SUM('Table'[secondsCol]),ALLEXCEPT('Table','Table'[Status]))//calculate sum seconds per status
var _day=INT(_sumseconds_perstatus/(24*3600))
var _hour=INT((_sumseconds_perstatus-_day*(24*3600))/3600)
var _min=INT((_sumseconds_perstatus-_day*(24*3600)-_hour*3600)/60)
var _sec=INT((_sumseconds_perstatus-_day*(24*3600)-_hour*3600-_min*60))
return
_day&":"&_hour&":"&_min&":"&_sec
Consulte el archivo de ejemplo adjunto a continuación.
Saludos
Equipo de apoyo a la comunidad _ Tang
Si este post ayuda,por favor considere Aceptarlo como la solución✔️ para ayudar a los otros miembros a encontrarlo más rápidamente.
Hey muchas gracias @v-xiaotang
Ya lo logré. Lo siento si no estaba claro acerca de esto.
Mi problema es que me quedo con esto después. Lo que necesitaría es una opción para calcular estos valores después.
Por lo tanto, digamos que tengo:
Mi resultado debe ser:
Subir: 10 días
Abajo: 3 días y 1h
Supongo que tendría que crear otra tabla para esto - como la "duración" soporte de PowerBI es débil para este derecho? Quiero decir que la mejor opción sería si pudiera simplemente "agruparlo", y se calcula.
Hola @SysLostInBI
aunque podría "agrupar", no hará cálculos porque el tipo de duration(format: dd:hh:mm:ss) es string. por cierto, no hay ningún formato de duration(dd:hh:mm:ss) compatible con Power BI, al menos por ahora. así que te sugiero que hagas cálculos manualmente.
Puede crear una medida y agrupar los datos por status(Down, Up), luego puede usar function left(), MID(), RIGHT() para obtener cada parte en duration(format: dd:hh:mm:ss, 4 partes), luego usar function value() para convertir el tipo de string a int. Finalmente, calcule cada parte por separado y combine 4 partes en una sola.
Fyi:
https://docs.microsoft.com/en-us/dax/text-functions-dax
Un ejemplo rápido (no exactamente igual, pero la lógica es similar😃),
https://community.powerbi.com/t5/Desktop/Count-With-Multiple-Conditions-DAX/td-p/1858846
si usted tiene más preguntas, por favor hágamelo saber.
Saludos
Equipo de apoyo a la comunidad _ Tang
Si este post ayuda,por favor considere Aceptarlo como la solución✔️ para ayudar a los otros miembros a encontrarlo más rápidamente.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code FABINSIDER for a $400 discount!
Check out the February 2025 Power BI update to learn about new features.