Horario de más de 24h (como excel 37:30:55)

Un usuario Pregunto ✅

rico_coutinho

Hola a todos

Necesito calcular la SUMA de horas y mostrarla como formato de Excel 37:30:55, sin embargo, cuando realiza la suma cuando sobre el paso 24, comienza a devolver la cuenta a cero. ejemplo si la suma de las horas es 26horas y 15 min vuelve incorrectamente como 2:15:00 idealmente debería mostrarse como 26:15:00.

Si cambio el tipo de datos a duración, se muestra como 1.02:15:00. ¿Hay alguna manera de devolverlo como es posible en formato Excel como 26:15:00?

jdbuchanan71

En respuesta a rico_coutinho

@Rich_coutinho

¿Cómo se ven los datos de duración en la tabla? Si tienes los valores en segundos puedes usar algo como esto.

Call Duration:=
VAR _Seconds = [Call Duration Seconds]
VAR _Minutes = INT ( DIVIDE ( _Seconds, 60 ) )
VAR _RemainingSeconds = MOD ( _Seconds, 60 )
VAR _Hours = INT ( DIVIDE ( _Minutes, 60 ) )
VAR _RemainingMinutes = MOD ( _Minutes, 60 )
RETURN
    IF (
        NOT ISBLANK ( [Call Duration Seconds] ),
            FORMAT ( _Hours, "00" ) & ":" &
            FORMAT ( _RemainingMinutes, "00" ) & ":" &
            FORMAT ( _RemainingSeconds, "00" )
    )

Cuando el tiempo dura más de 24 horas, la medida se ve así:

2020-07-03_9-07-43.png

[Segundero de duración de la llamada] utilizado en el primer var es solo la suma de la columna de segundos de la tabla call_log.

amichandak

@Rich_coutinho, consulte si estos pueden ayudar

https://social.technet.microsoft.com/wiki/contents/articles/33644.powerbi-aggregating-durationtime-i…

https://radacad.com/calcular-duracion-en-dias-horas-minutos-y-segundos-dinamicamente-en-potencia-bi-usi…

https://community.powerbi.com/t5/Quick-Measures-Gallery/Chelsie-Eiden-s-Duration/mp/793639#M389

BA_Pete

Hola @Rich_coutinho ,

¿Ha probado la función de formato?

myHours =
FORMAT(
  SUM(table[hours]),
  "hh:mm"
)

No estoy seguro de que esto funcione para usted, pero vale la pena una oportunidad.

rico_coutinho

En respuesta a BA_Pete

@BA_Pete Es retorno correcto si está por debajo de 24, más de 24 tiene que reiniciar desde cero.

jdbuchanan71

En respuesta a rico_coutinho

@Rich_coutinho

¿Cómo se ven los datos de duración en la tabla? Si tienes los valores en segundos puedes usar algo como esto.

Call Duration:=
VAR _Seconds = [Call Duration Seconds]
VAR _Minutes = INT ( DIVIDE ( _Seconds, 60 ) )
VAR _RemainingSeconds = MOD ( _Seconds, 60 )
VAR _Hours = INT ( DIVIDE ( _Minutes, 60 ) )
VAR _RemainingMinutes = MOD ( _Minutes, 60 )
RETURN
    IF (
        NOT ISBLANK ( [Call Duration Seconds] ),
            FORMAT ( _Hours, "00" ) & ":" &
            FORMAT ( _RemainingMinutes, "00" ) & ":" &
            FORMAT ( _RemainingSeconds, "00" )
    )

Cuando el tiempo dura más de 24 horas, la medida se ve así:

2020-07-03_9-07-43.png

[Segundero de duración de la llamada] utilizado en el primer var es solo la suma de la columna de segundos de la tabla call_log.

Vguedes95

En respuesta a jdbuchanan71

¿Sabes por qué las líneas amarillas a continuación están dando el valor equivocado?

Capturar3.PNG¿Sabes por qué las líneas amarillas a continuación están dando el valor equivocado?

rico_coutinho

En respuesta a jdbuchanan71

@jdbuchanan71 perfectos.

Mis horas estaban en decimal, así que lo convirtió a segundos (multiplicando por 3600) y luego lo usé en la fórmula.

Muchas gracias por su ayuda. 🙂 salvaste

jdbuchanan71

En respuesta a jdbuchanan71

Si su duración es más similar a hh:mm:ss puede obtener la duración en segundos agregando una columna calculada que es la duración / (1/86400). 86400 es el número de segundos en un día, por lo que tomar 36:10:15 devuelve 130215 como lo haría en Excel.

jdbuchanan71_0-1593793411918.png

A continuación, puede sumar eso para obtener la medida [Duración en segundos] utilizado en mi ejemplo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *