Importación de datos de duración desde Excel: cálculo de la duración media

Un usuario Pregunto ✅

bvbull200

Estoy usando Excel para calcular la cantidad de horas entre dos instancias. Todos estos datos están en Excel. Toma la fecha de inicio de [Request Creation Date], la hora de inicio desde [Request Creation Time] y calcula el número de horas de trabajo entre eso y la fecha de [First Action Date] y el tiempo final de [First Action Time]. En caso de que ayude a proporcionar alguna claridad, esta es la fórmula para ejecutarlo:

=(NETWORKDAYS(TEXT([@[Request Creation Date]],"mm/dd/yyyy")&TEXT(" ",)&TEXT([@[Request Creation Time]],"hh:mm:ss"),TEXT([@[First Action Date]],"mm/dd/yyyy")&TEXT(" ",)&TEXT([@[First Action Time]],"hh:mm:ss"))-1)*("17:00"-"8:00")+IF(NETWORKDAYS(TEXT([@[First Action Date]],"mm/dd/yyyy")&TEXT(" ",)&TEXT([@[First Action Time]],"hh:mm:ss"),TEXT([@[First Action Date]],"mm/dd/yyyy")&TEXT(" ",)&TEXT([@[First Action Time]],"hh:mm:ss")),MEDIAN(MOD(TEXT([@[First Action Date]],"mm/dd/yyyy")&TEXT(" ",)&TEXT([@[First Action Time]],"hh:mm:ss"),1),"17:00","8:00"),"17:00")-MEDIAN(NETWORKDAYS(TEXT([@[Request Creation Date]],"mm/dd/yyyy")&TEXT(" ",)&TEXT([@[Request Creation Time]],"hh:mm:ss"),TEXT([@[Request Creation Date]],"mm/dd/yyyy")&TEXT(" ",)&TEXT([@[Request Creation Time]],"hh:mm:ss"))*MOD(TEXT([@[Request Creation Date]],"mm/dd/yyyy")&TEXT(" ",)&TEXT([@[Request Creation Time]],"hh:mm:ss"),1),"17:00","8:00")

Esos datos están formateados como: [h]:mm:ss

Cuando la tabla que contiene esta información se importa a Power BI, el editor de consultas muestra la información como una hora del día. Por ejemplo, mi tabla de Excel tiene el resultado de 3:49:06 y lo toma como 3 horas, 49 minutos y 6 segundos. Esa misma celda de datos en Power BI es 3:49:06 PM como en un horario de la tarde. Peor aún, en Excel tengo el valor 0:22:32, que son 22 minutos y 32 segundos. Power BI obliga a que sean las 12:22:32 a. m.

En Excel, puedo calcular el promedio entre dos veces. Si promediara 0:30:00 y 4:30:00, obtendría 2:30:00. Debido a que Power BI obliga a que sea una hora del día, no hay opción para sumar o promediar los valores.

Puedo hacer que estos datos «parezcan» con el formato que quiero en una tabla en el escritorio, pero dado que la información sigue siendo solo una hora del día en lugar de una duración, no puedo hacer ningún cálculo útil/ resúmenes.

Intenté cambiar el formato a «Duración» en el Editor de consultas de energía, pero eso arroja un error.

¿Hay alguna sugerencia sobre cómo hacer que los datos permanezcan en el [h]:mm:ss formato que existe como en Excel sin que Power BI le agregue un formato innecesario (y no válido)?

Gracias por cualquier ayuda en el asunto.

parar2k

En respuesta a bvbull200

@bvbull200 puede agregar una columna personalizada para obtener horas y minutos de su tiempo y eso facilitará los cálculos. Aquí sigue el código en una consulta en blanco y puede verificar la extracción de horas y minutos. Espero eso ayude

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjCwMjKyMjRVitUBcwwNYBxDKyDXwEApNhYA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type time}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Minutes", each (Time.Minute([Column1])), Int64.Type),
    #"Added Custom1" = Table.AddColumn(#"Added Custom", "Hours", each (Time.Hour([Column1])), Int64.Type)
in
    #"Added Custom1"

parar2k

@ bvbull200 espero que esta publicación ayude.

bvbull200

En respuesta a parar2k

@parry2k

Gracias por ofrecer una posible solución. He trabajado a través de ese hilo, pero no pensar que mi solución está ahí. Parece que la sugerencia OP, y muchas sugerencias posteriores, dependen de que los datos sean el número total de una sola unidad de tiempo, por ejemplo, el número total de segundos o el número total de minutos. Toda la manipulación se realiza con esos datos y luego se vuelve a convertir.

Eso esencialmente significa incluso más cálculo en Excel antes de cargarlo en Power BI.

¿Power BI ofrece *algún* medio de interpretar 0:22:15 como 22 minutos y 15 segundos o está condenado para siempre a interpretarse como 12:22:15 a.m.?

parar2k

En respuesta a bvbull200

@bvbull200 puede agregar una columna personalizada para obtener horas y minutos de su tiempo y eso facilitará los cálculos. Aquí sigue el código en una consulta en blanco y puede verificar la extracción de horas y minutos. Espero eso ayude

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjCwMjKyMjRVitUBcwwNYBxDKyDXwEApNhYA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type time}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Minutes", each (Time.Minute([Column1])), Int64.Type),
    #"Added Custom1" = Table.AddColumn(#"Added Custom", "Hours", each (Time.Hour([Column1])), Int64.Type)
in
    #"Added Custom1"

Deja un comentario

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