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í:
[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í:
[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?
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.
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.
A continuación, puede sumar eso para obtener la medida [Duración en segundos] utilizado en mi ejemplo.