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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

Obtener la diferencia de fecha y hora en la duración como tiempo - o por qué necesito dd.hh.mm.ss

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:

empezarfinestado
31.05.2021 17:2501.06.2021 00:00hacia arriba
31.05.2021 17:2431.05.2021 17:24abajo
30.05.2021 12:2530.05.2021 12:25hacia arriba
30.05.2021 12:2430.05.2021 12:24abajo
25.05.2021 21:4925.05.2021 21:49hacia 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.

1 ACCEPTED 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.

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

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

v-xiaotang_2-1623122334860.png

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:

SysLostInBI_0-1623851990937.png


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.

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

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

PBI_Carousel_NL_June

Fabric Community Update - June 2024

Get the latest Fabric updates from Build 2024, key Skills Challenge voucher deadlines, top blogs, forum posts, and product ideas.

Top Solution Authors