Ir para conteúdo
  • 0

Modelar Excel Horas Extras


caiocfsa
Ir para solução Solucionado por Vitor Peralva ,

Pergunta

  • Alunos

Boa tarde pessoal, alguem pode me ajudar a modelar este excel que esta importado neste projeto, gostaria de calcular horas dos "colaboradores" e etc.. 
Porem nao estou conseguindo pensar em uma forma de formatar e modelar os dados deste excel

se quiserem podem me chamar no discord também: Caio RonaN#3957

Arquivo em anexo

Horas Extras.pbix

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Boa Noite, @caiocfsa!

 

Sua base tem uma série de problemas, como, por exemplo, ter sido feita originalmente, provavelmente, num Macintosh e usar o sistema 1904.

Como o tempo está curto por aqui, apresento uma proposta de solução sem muita revisão, mas que aparentemente funcionou e retorna o valor em segundos, o qual pode ser utilizado para cálculos posteriormente via DAX.

 

let
    Fonte = Excel.Workbook(File.Contents("SeuCaminhoPastaArquivo"), null, true),
    Planilha1_Sheet = Fonte{[Item="Planilha1",Kind="Sheet"]}[Data],
    #"Linhas Filtradas1" = Table.SelectRows(Planilha1_Sheet, each ([Column1] <> null)),
    TabelaBase = Table.Buffer(#"Linhas Filtradas1"),
    Personalizar1 = Table.FirstN(TabelaBase,2),
    #"Tabela Transposta" = Table.Transpose(Personalizar1),
    #"Personalização Adicionada" = Table.AddColumn(#"Tabela Transposta", "Data", each try Date.From([Column1]) otherwise null, type date),
    #"Preenchido Acima" = Table.FillUp(#"Personalização Adicionada",{"Data"}),
    #"Índice Adicionado" = Table.AddIndexColumn(#"Preenchido Acima", "Índice", 1, 1, Int64.Type),
    #"Prefixo Adicionado" = Table.TransformColumns(#"Índice Adicionado", {{"Índice", each "Column" & Text.From(_, "pt-BR"), type text}}),
    #"Linhas Filtradas" = Table.SelectRows(#"Prefixo Adicionado", each ([Column2] = "ANT." or [Column2] = "Colaboradores" or [Column2] = "Equipe" or [Column2] = "HORAS DESCONTADAS" or [Column2] = "HORAS EXTRAS")),
    #"Personalização Adicionada1" = Table.AddColumn(#"Linhas Filtradas", "Cabecalho", each if [Column2] <> "Colaboradores" and [Column2] <> "Equipe" then Text.From([Índice]) & "|" & [Column2] & "|" & Text.From([Data]) else [Column2], type text),
    #"Outras Colunas Removidas" = Table.SelectColumns(#"Personalização Adicionada1",{"Índice", "Cabecalho"}),
    ColunasManter = #"Outras Colunas Removidas"[Índice],
    #"Tabela Transposta1" = Table.Transpose(#"Outras Colunas Removidas"),
    Tabela1 = Table.PromoteHeaders(#"Tabela Transposta1", [PromoteAllScalars=true]),
    Tabela2 = Table.SelectColumns(Table.Skip(TabelaBase,2), ColunasManter),
    Personalizar2 = Table.Combine({Tabela1, Tabela2}),
    #"Cabeçalhos Promovidos" = Table.PromoteHeaders(Personalizar2, [PromoteAllScalars=true]),
    #"Outras Colunas Não Dinâmicas" = Table.UnpivotOtherColumns(#"Cabeçalhos Promovidos", {"Colaboradores", "Equipe"}, "Tipo", "Valor"),
    #"Dividir Coluna por Delimitador" = Table.SplitColumn(#"Outras Colunas Não Dinâmicas", "Tipo", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"Tipo.1", "Tipo", "Data"}),
    #"Colunas Removidas" = Table.RemoveColumns(#"Dividir Coluna por Delimitador",{"Tipo.1"}),
    #"Data Extraída" = Table.TransformColumns(#"Colunas Removidas",{{"Valor", each Duration.TotalSeconds(Duration.From( _ - DateTime.From(1462))), type date}}),
    #"Personalização Adicionada2" = Table.AddColumn(#"Data Extraída", "Saldo em Segundos", each if [Tipo] = "HORAS DESCONTADAS" then [Valor] * -1 else [Valor], Int64.Type),
    #"Colunas Removidas1" = Table.RemoveColumns(#"Personalização Adicionada2",{"Valor"}),
    #"Tipo Alterado" = Table.TransformColumnTypes(#"Colunas Removidas1",{{"Colaboradores", type text}, {"Equipe", type text}})
in
    #"Tipo Alterado"

 

image.png.115b1f10fd0900f316dedc538f7fc963.png

 

Espero que tenha ajudado.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
11 horas atrás, Vitor Peralva disse:

Boa Noite, @caiocfsa!

 

Você anexou o arquivo PBIX, o ideal seria o arquivo em Excel para podermos simular no Power Query.

Segue anexo

Meu objetivo é poder calcular as horas de cada funcionario, e criar graficos, eu até refatorei este arquivo excel porem os dados nao estão legais ainda
se puderem me ajudar agradeço
 

Saldo Vinicius Manzini - 2022.xlsx

Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...