Ir para conteúdo
  • 0

Transformar segundos para formato hora


Rafa Lemos
Ir para solução Solucionado por Rafa Lemos ,

Pergunta

  • Alunos

Pessoal, boa tarde.

Preciso de ajuda.

Tenho dois arquivos exportados de um sistema, um csv e outro excel.

NO arquivo Csv as colunas que contém o tempo estão em formato de segundo, ou seja, se uma ligação durou dois minutos aparece 120.

Já no arquivo Excel as colunas que contém o tempo estão no formato padrão de hora "00:02:00".

 

Preciso que os formatos fiquem iguais para que eu possa unificar os arquivos e depois utilizar essa base para fazer um gráfico ou tabela com o tempo total por mês. Preciso que isso fique no formato padrão de hora.

Coloquei os arquivos em anexo.

 

Já agradeço a colaboração.

Excel.xlsx

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Olá tudo bem?

Fiz a conversão aqui da coluna tempo em fila,  segue o script completo:

let
    Source = Excel.Workbook(File.Contents("C:\Users\afdum\Downloads\Excel.xlsx"), null, true),
    #"Relatório Detalhado de Chamadas_Sheet" = Source{[Item="Relatório Detalhado de Chamadas",Kind="Sheet"]}[Data],
    #"Changed Type" = Table.TransformColumnTypes(#"Relatório Detalhado de Chamadas_Sheet",{{"Column1", type text}, {"Column2", type any}, {"Column3", type any}, {"Column4", type any}, {"Column5", type any}, {"Column6", type any}, {"Column7", type any}, {"Column8", type any}}),
    #"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([Column1] <> null)),
    #"Promoted Headers" = Table.PromoteHeaders(#"Filtered Rows", [PromoteAllScalars=true]),
    #"Extracted Text After Delimiter" = Table.TransformColumns(#"Promoted Headers", {{"Tempo em Fila", each Text.AfterDelimiter(Text.From(_, "pt-BR"), " "), type text}}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Extracted Text After Delimiter",{{"Tempo em Fila", type duration}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type1", "Segundos em Fila", each [Tempo em Fila] * 24 * 60 * 60),
    #"Changed Type2" = Table.TransformColumnTypes(#"Added Custom",{{"Segundos em Fila", Int64.Type}})
in
    #"Changed Type2"

Mas basicamente a ideia é, extrair a informação após o espaço (que seria as horas, pelo que vi nunca vira mais de 24 horas), ai converte o que sobrou em duration e então multiplica por 24 * 60 * 60 e converte para inteiro (seriam as linhas abaixo):

#"Extracted Text After Delimiter" = Table.TransformColumns(#"Promoted Headers", {{"Tempo em Fila", each Text.AfterDelimiter(Text.From(_, "pt-BR"), " "), type text}}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Extracted Text After Delimiter",{{"Tempo em Fila", type duration}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type1", "Segundos em Fila", each [Tempo em Fila] * 24 * 60 * 60),
    #"Changed Type2" = Table.TransformColumnTypes(#"Added Custom",{{"Segundos em Fila", Int64.Type}})

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...