Cómo convertir segundos a hh: mm: ss

Un usuario Pregunto ✅

JClishe

Estoy extrayendo datos que están formateados como segundos y estoy tratando de convertirlos a hh: mm: ss pero no puedo entenderlo. Busqué aquí y encontré varios otros hilos con preguntas similares, pero incluso después de leer las sugerencias, todavía no puedo hacerlo bien.

Creé una nueva columna que toma la columna original y la divide por 3600, y le di formato a esa nueva columna como decimal. Eso funciona, pero no es el formato que quiero. Cuando intento formatear la nueva columna que creé, o la columna original, usando cualquiera de los formatos de hora, la visualización nunca es correcta.

¿Alguien puede explicar cómo hacer esto en términos muy simples? No tengo mucha experiencia con PBI Desktop, lo que probablemente sea obvio. 🙂

MarcelBeug

En respuesta a JClishe

En el Editor de consultas,

abre tu consulta,

vaya a la pestaña «Agregar columna»

elija «Columna personalizada»

ingrese el nombre de la columna y la fórmula

elige OK

ajuste el código agregando «, escriba la hora».

Agregar una columna personalizada en el Editor de consultas.png

Anónimo

Hola,

He preparado un artículo detallado para convertir Segundos al formato hh: mm: ss en power bi.

https://www.powerbitalks.com/2019/12/convert-seconds-to-hhmmss-format.html

Tiene información completa con solución paso a paso.

Saludos,

Kaushlendra Mishra

www.powerbitalks.com

Anónimo

La forma más sencilla de hacer esto será asegurarse de que la columna esté formateada en el tipo de datos de «Hora». Puede cambiar el tipo de datos desde la cinta en la pestaña de modelado. El proceso para hacer esto es seleccionar la columna en su tabla de datos (lo más fácil desde la Vista de datos) y cambiar el tipo de datos a «Hora». Una vez que el tipo de datos se cambia a hora, puede cambiar el formato a «hh: mm: ss» en el menú desplegable directamente debajo.

Los problemas comunes que tendrá aquí es lograr que Power BI asigne adecuadamente su valor al nivel correcto de detalle (es decir, clasificarlo como segundos en lugar de minutos u horas). Ya ha reconocido el deseo de dividir entre 3600, por lo que es probable que esté en el camino correcto. No estoy seguro de por qué está usando 3600, pero asumiré que se relaciona con el formato en el que se encuentran actualmente sus datos de tiempo.

Para aclarar cómo puede garantizar la mejor transición. DateTime se almacena como un número decimal, el componente numérico entero del valor constituye la fecha. El número decimal es el componente de tiempo, donde 0 es medianoche y 1 la otra medianoche, por lo que 0.5 es mediodía. 1 segundo, como un número entero, se puede convertir a 1 segundo en DateTime dividiéndolo por 24 (horas en el día), dividiendo nuevamente por 60 (minutos en hora) y luego nuevamente por 60 (segundos en minutos). Para simplificar, tome sus segundos como un número entero y divídalos por 86,400 (24 x 60 x 60)

Militambe3171

En respuesta a Anónimo

Esta solucion no me funciona, mi columna esta en segundos

Cuando probé tu solución, no se agrega

JClishe

En respuesta a Anónimo

Cambié el tipo de datos de la columna a Tiempo, pero como indiqué en mi publicación original, no se muestra correctamente. Cuando uso Time y selecciono hh: mm: ss o cualquiera de las otras opciones, solo obtengo todos ceros.

A su pregunta de por qué dividí entre 3600, es porque dividir los segundos por ese número me dará horas en decimales. Esto no es lo que quiero en última instancia, pero es una medida provisional hasta que pueda averiguar cómo mostrarlo como h: mm: ss. Entonces, en lugar de un campo que dice 5276 segundos, ahora tengo un campo que dice 1,46 horas, que es mucho más fácil de interpretar para mí. Una vez más, esto no es lo que quiero, pero es mejor que unos segundos.

MarcelBeug

En respuesta a JClishe

Si una solución de Power Query también está bien:

let
    Source = #table(type table[Seconds = Int64.Type],{{5276}, {12675}, {76538}}),
    #"Added Custom" = Table.AddColumn(Source, "Time", each #time(0,0,0) + #duration(0,0,0,[Seconds]), type time)
in
    #"Added Custom"

JClishe

En respuesta a MarcelBeug

¿Cómo usaría esto?

MarcelBeug

En respuesta a JClishe

En el Editor de consultas,

abre tu consulta,

vaya a la pestaña «Agregar columna»

elija «Columna personalizada»

ingrese el nombre de la columna y la fórmula

elige OK

ajuste el código agregando «, escriba la hora».

Agregar una columna personalizada en el Editor de consultas.png

yuvaraj86

En respuesta a MarcelBeug

Gracias marcel esto fue útil

84gopi

En respuesta a MarcelBeug

Hola,

Tengo un campo de valor de segundos que se calculó a través de SQL, necesito saber cómo convertir este campo en formato hh: mm: ss y luego hacer la suma en el campo de resultado.

Probamos a través de SQL usando la función convert y varchar, pero después de la conversión no pude hacer SUM en el campo.

¿Alguien puede ayudarme sobre cómo conseguir esto?

84gopi

En respuesta a MarcelBeug

¿Cómo obtener la suma en el segundo campo de valor hh: mm: ss? Tengo un campo que está en segundos, cuando intenté cambiar la hora de los datos a HORA … Recibo un mensaje de advertencia para corregir esto como … ¿Hay alguna forma de convertir el valor del campo Segundos al formato HH: mm: ss y luego de nuevo haciendo la suma en el campo hh: mm: ss en POWER BI?

Intenté con SQL pero todavía no lo entiendo … por favor ayuda

Deja un comentario

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