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

Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now

Reply
Syndicate_Admin
Administrator
Administrator

Convertir el tiempo en segundos a dd:hh:mm:ss

Necesito convertir un campo de tiempo de segundos al formato dd:hh:mm:ss. Aún no he encontrado una fórmula que acierte los días y horas tanto para sumas mayores (las que duran más de 1 día) como para las menores (las que están por debajo).

Con fórmula

Tiempo total de conversación =

VAR TotalSegundos = SUMX('Agente Data',[Hora de Conversación])
VAR Días = INT(TotalSegundos/86400)
VAR Días Posteriores restantes = TotalSegundos - (días * 86400)
VAR Horarios = INT(Días Posteriores restantes/3600)
Var SecretariosDespuésHoras restantes = Días Posteriores restantes - (Horarios*3600)
VAR Mins = INT(SecretariosDespuésHoras restantes/60)
VAR Seco = MOD(SecretariosDespuésHoras restantes, 60)

REGRESO días & ":"& DERECHA("0"&Horarios,2) & ":" & DERECHA("0"& Mins, 2) & ":" & DERECHA("0"& Seco,2)
Entiendo
Banshee_0-1770734946019.png

Debería ser 49:27:13.

Sin embargo, el grupo de suma mayor es correcto:

Banshee_1-1770735152041.png

He probado varias variantes y aún así me salen los cálculos incorrectos por menos de un día. ¿Qué me estoy perdiendo?
1 REPLY 1
Juan-Power-bi
Kudo Kingpin
Kudo Kingpin

¡Hola! El problema está en la parte de los días — cuando el total es menor de un día, Días vale 0 y el cálculo funciona bien, pero el formato del resultado pone "0:" delante en lugar de omitirlo, lo que puede confundir. Para el caso de 49:27:13 lo que quieres en realidad es mostrar las horas totales (no días + horas), así que la lógica depende de qué formato exactamente necesitas.


Si quieres dd:hh:mm:ss siempre (incluyendo días), prueba esta versión limpia:


daxTiempo Total Conversación =
VAR TotalSegundos = SUMX('Agente Data', [Hora de Conversación])
VAR Dias = INT(TotalSegundos / 86400)
VAR Resto1 = TotalSegundos - Dias * 86400
VAR Horas = INT(Resto1 / 3600)
VAR Resto2 = Resto1 - Horas * 3600
VAR Mins = INT(Resto2 / 60)
VAR Segs = MOD(Resto2, 60)
RETURN
Dias & ":" &
RIGHT("0" & Horas, 2) & ":" &
RIGHT("0" & Mins, 2) & ":" &
RIGHT("0" & Segs, 2)


Esto daría 2:01:27:13 para 178033 segundos (2 días, 1 hora, 27 min, 13 seg).
Pero si lo que quieres es 49:27:13 (horas totales sin separar días), la fórmula cambia a:

 

daxTiempo Total Conversación =
VAR TotalSegundos = SUMX('Agente Data', [Hora de Conversación])
VAR HorasTotales = INT(TotalSegundos / 3600)
VAR Resto = TotalSegundos - HorasTotales * 3600
VAR Mins = INT(Resto / 60)
VAR Segs = MOD(Resto, 60)
RETURN
HorasTotales & ":" &
RIGHT("0" & Mins, 2) & ":" &
RIGHT("0" & Segs, 2)

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

February Power BI Update Carousel

Power BI Monthly Update - February 2026

Check out the February 2026 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.