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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Convertir el número de minutos en horas

Hola

Estoy trabajando en este informe con una base de datos en vivo que ya tiene la columna que muestra cuánto tiempo tardó un ticket en resolverse en MINUTOS. Aquí está la columna:

DeyaM_0-1635859563512.png

Para las imágenes, necesito mostrar la duración en HORAS

Lo que traté de hacer fue hacer una nueva columna que muestre los datos del tiempo en minutos divididos por 60.

[requester_wait_time_in_minutes.business]/60)

Obtuve esto:

DeyaM_2-1635859771647.png

Lo cual me di cuenta de que no funciona ya que los números después del punto decimal no reflejan los minutos correctamente.

Busqué soluciones en línea, pero ninguna de ellas parecía ser exactamente para mi problema.

¿Hay alguna fórmula o transformación específica en Power Query que pueda usar para que la columna muestre las horas y los minutos correctamente?

Por ejemplo, en las columnas que se muestran:

La segunda fila es 98 que actualmente se divide por 60 es 1.63 y debería ser 1.38. Particularmente no necesito que esté en el formato de 1h 38m, todavía puede ser solo un número decimal, pero si eso se puede hacer, también será bueno.

Sé que puedo calcular eso multiplicando 0.63 por 60 y eso me dará los minutos, pero ¿cómo aplicar este método en el lenguaje Power Query?

¡Gracias!

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Divida por 1440 (minutos por día) y cambie el tipo de datos a Duración.

Esto se puede hacer en la cinta de opciones de la siguiente manera:

1. > de la pestaña Transformar (panel Columna número) Estándar > Dividir > Entrar 1440

2. Transformar pestaña > (página cualquier columna) Tipo de fecha > elija "Duración"

Consulta de ejemplo:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WsrRQitWJVjI0NjIAM0wsIZSRhYlSbCwA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [minutes = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"minutes", Int64.Type}}),
    #"Divided Column" = Table.TransformColumns(#"Changed Type", {{"minutes", each _ / 1440, type number}}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Divided Column",{{"minutes", type duration}})
in
    #"Changed Type1"

Empezar:

AlexisOlson_0-1635863952908.png

Resultado:

AlexisOlson_1-1635863977163.png

View solution in original post

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

Hola, @DeyaM,
ver mi solución:

vojtechsima_0-1635864908607.png

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WsrRQitWJVjI0NjIAM0wslWJjAQ==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Time = _t]),
    #"Changed Type1" = Table.TransformColumnTypes(Source,{{"Time", type number}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type1", "Custom", each let duration = #duration(0,0,[Time],0)
in Text.From(Duration.Hours(duration)) & "h " & Text.From(Duration.Minutes(duration)) & "m")
in
    #"Added Custom"

Código solo para la nueva columna:

let duration = #duration(0,0,[Time],0)
in Text.From(Duration.Hours(duration)) & "h " & Text.From(Duration.Minutes(duration)) & "m"

Es posible que desee incluir un componente durante días también o 23 horas y 1 día 23 horas no se distinguen.

@AlexisOlson Gracias por recordarme ese hecho, no me di cuenta.
@DeyaM Con eso, su nueva columna personalizada puede verse así:

let duration = #duration(0,0,[Time],0)
in Text.From(Duration.Days(duration)) & "d " & Text.From(Duration.Hours(duration)) & "h " & Text.From(Duration.Minutes(duration)) & "m"

vojtechsima_0-1635865607459.png

Syndicate_Admin
Administrator
Administrator

@DeyaM

Pruebe esto como una nueva columna personalizada:

Number.IntegerDivide([Minuits],60) +  Number.Mod([Minuits],60)/100
Syndicate_Admin
Administrator
Administrator

Divida por 1440 (minutos por día) y cambie el tipo de datos a Duración.

Esto se puede hacer en la cinta de opciones de la siguiente manera:

1. > de la pestaña Transformar (panel Columna número) Estándar > Dividir > Entrar 1440

2. Transformar pestaña > (página cualquier columna) Tipo de fecha > elija "Duración"

Consulta de ejemplo:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WsrRQitWJVjI0NjIAM0wsIZSRhYlSbCwA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [minutes = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"minutes", Int64.Type}}),
    #"Divided Column" = Table.TransformColumns(#"Changed Type", {{"minutes", each _ / 1440, type number}}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Divided Column",{{"minutes", type duration}})
in
    #"Changed Type1"

Empezar:

AlexisOlson_0-1635863952908.png

Resultado:

AlexisOlson_1-1635863977163.png

Tuve el mismo problema. Esto es lo que funcionó para mí:

Ficha Transformar en la cinta de opciones> Estándar> Dividir> Escriba 60

¡Gracias! ¡Funcionó!

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors