Alunos suelenbn Postado Março 29, 2021 Alunos Compartilhar Postado Março 29, 2021 Pessoal, eu tenho um relatório em PDF com uma lista e eu converti esse relatório para excel. Como faço para transformar essa listagem no power bi? Segue em anexo. Rede Samp-convertido.xlsx Rede Samp.pdf Link para o comentário Compartilhar em outros sites More sharing options...
1 Alunos Solução Vitor Peralva Postado Abril 28, 2021 Alunos Solução Compartilhar Postado Abril 28, 2021 Boa Noite, @suelenbn! Trabalhar com PDFs é sempre complicado, em especial, se não houver uma certa padronização. O PDF que você apresenta tem duas páginas, outros podem ter 3 ou mais e algumas posições podem mudar. Veja que, por exemplo, o local da indicação da página 1 é diferente da página 2 depois que importa o PDF. Assim, a solução abaixo pode não funcionar para outros PDFs e precisará de adaptações: let Fonte = Pdf.Tables(File.Contents("D:\Downloads\51263930_RedeSamp (1).pdf"), [Implementation="1.2"]), #"Linhas Filtradas" = Table.SelectRows(Fonte, each ([Kind] = "Page")), #"Outras Colunas Removidas" = Table.SelectColumns(#"Linhas Filtradas",{"Data"}), #"Data Expandido" = Table.ExpandTableColumn(#"Outras Colunas Removidas", "Data", {"Column1", "Column2", "Column3", "Column4", "Column5"}, {"Data.Column1", "Data.Column2", "Data.Column3", "Data.Column4", "Data.Column5"}), #"Outras Colunas Removidas1" = Table.SelectColumns(#"Data Expandido",{"Data.Column1", "Data.Column4"}), #"Linhas Principais Removidas" = Table.Skip(#"Outras Colunas Removidas1",10), #"Linhas Filtradas1" = Table.SelectRows(#"Linhas Principais Removidas", each ([Data.Column1] <> null and [Data.Column1] <> "[image]")), Indice = Table.AddIndexColumn(#"Linhas Filtradas1", "Índice", 0, 1, Int64.Type), #"Personalização Adicionada" = Table.AddColumn(Indice, "Personalizar", each if Text.Start([Data.Column1], 4) = "Tel:" then 3 else if Text.Contains([Data.Column1], "CRM") or Text.Contains([Data.Column1], "CNPJ") then 1 else if [Índice] = 1 then 2 else if Text.Start(Indice[Data.Column1]{[Índice]-1}, 4) = "Tel:" then 4 else if Text.Start(Indice[Data.Column1]{[Índice]-2}, 4) = "Tel:" then 5 else 2), #"Personalização Adicionada1" = Table.AddColumn(#"Personalização Adicionada", "Personalizar.1", each if [Data.Column4] <> null then [Data.Column1] & [Data.Column4] else [Data.Column1]), #"Outras Colunas Removidas2" = Table.SelectColumns(#"Personalização Adicionada1",{"Personalizar", "Personalizar.1"}), #"Personalização Adicionada2" = Table.AddColumn(#"Outras Colunas Removidas2", "Médico / Clínica", each if [Personalizar] = 1 then [Personalizar.1] else null), #"-Temp1-" = Table.FillDown(#"Personalização Adicionada2",{"Médico / Clínica"}), #"Linhas Filtradas2" = Table.SelectRows(#"-Temp1-", each ([Personalizar] = 2)), #"Linhas Agrupadas" = Table.Group(#"Linhas Filtradas2", {"Médico / Clínica", "Personalizar"}, {{"Contagem", each _, type table [Personalizar=number, Personalizar.1=text, #"Médico / Clínica"=text]}}), #"Personalização Adicionada6" = Table.AddColumn(#"Linhas Agrupadas", "Especialidade", each [Contagem][Personalizar.1]), #"Valores Extraídos" = Table.TransformColumns(#"Personalização Adicionada6", {"Especialidade", each Text.Combine(List.Transform(_, Text.From), " / "), type text}), #"-Especialidade-" = Table.RemoveColumns(#"Valores Extraídos",{"Contagem"}), Personalizar1 = #"-Temp1-", #"Índice Adicionado" = Table.AddIndexColumn(Personalizar1, "Índice", 1, 1, Int64.Type), #"Consultas Mescladas" = Table.NestedJoin(#"Índice Adicionado", {"Personalizar", "Médico / Clínica"}, #"-Especialidade-", {"Personalizar", "Médico / Clínica"}, "Personalizar1", JoinKind.LeftOuter), #"Personalizar1 Expandido" = Table.ExpandTableColumn(#"Consultas Mescladas", "Personalizar1", {"Especialidade"}, {"Especialidade"}), #"Dividir Coluna por Delimitador" = Table.SplitColumn(#"Personalizar1 Expandido", "Médico / Clínica", Splitter.SplitTextByEachDelimiter({" - "}, QuoteStyle.Csv, true), {"Nome", "Tipo"}), #"Personalização Adicionada3" = Table.AddColumn(#"Dividir Coluna por Delimitador", "Telefone", each if [Personalizar] = 3 then [Personalizar.1] else null), #"Valor Substituído" = Table.ReplaceValue(#"Personalização Adicionada3","Tel: ","",Replacer.ReplaceText,{"Telefone"}), #"Personalização Adicionada4" = Table.AddColumn(#"Valor Substituído", "End1", each if [Personalizar] = 4 then [Personalizar.1] else null), #"Personalização Adicionada5" = Table.AddColumn(#"Personalização Adicionada4", "End2", each if [Personalizar] = 5 then [Personalizar.1] else null), #"Linhas Classificadas" = Table.Sort(#"Personalização Adicionada5",{{"Índice", Order.Ascending}}), #"Outras Colunas Removidas3" = Table.SelectColumns(#"Linhas Classificadas",{"Nome", "Tipo", "Especialidade", "Telefone", "End1", "End2"}), #"Preenchido Abaixo" = Table.FillDown(#"Outras Colunas Removidas3",{"Especialidade", "Telefone", "End1"}), #"Linhas Filtradas3" = Table.SelectRows(#"Preenchido Abaixo", each ([End2] <> null)), #"Colunas Mescladas" = Table.CombineColumns(#"Linhas Filtradas3",{"End1", "End2"},Combiner.CombineTextByDelimiter(", ", QuoteStyle.None),"Endereço") in #"Colunas Mescladas" Como resultado, obtive o seguinte: Este código pode ser analisado com o objetivo de ser mais otimizado, mas num primeiro momento, foi a solução que me veio a cabeça. Algumas observações: Veja que o primeiro médico tem dois endereços de atendimento. Observe que na segunda linha do original as vezes se fala do Nome da Clínica e por vezes da Especialidade. Não tratei isto, apenas separei por /. Bom, espero que te auxilie na resolução do seu problema. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Vitor Peralva Postado Março 30, 2021 Alunos Compartilhar Postado Março 30, 2021 Boa Noite, Suelen! Inicialmente, peço desculpas, mas não entendi exatamente qual o seu objetivo. De toda forma, o seu primeiro passo é importar o PDF para o Power BI. Com o Power BI aberto, selecione a Guia Página Inicial, Obter Dados, Mais... Na janela que se abre, escolha PDF Escolha Conectar e escolha o PDF de seu interesse. Uma nova janela de Navegador vai se abrir, nela, clique nas opções do lado direito para identificar aquela que corresponde as informações que precisa. No meu, as informações estavam na Page001 e Page002. Selecione as páginas e selecionar Transformar Dados. O Power BI gera duas consultas, existem métodos para se trabalhar com uma única, mas o que você precisa decidir, e é algo que não ficou claro, é como você quer a disposição final dos seus dados. A planilha em Excel não apresenta dados estruturados, logo, não aptos a serem utilizados no Power BI. Acredito que neste ponto, você precisa definir a forma final que quer emprestar aos seus dados. Definido isto, daí você vai poder escolher/definir as técnicas adequadas para te conduzir ao resultado esperado. Sei que não deu para auxiliar muito, mas estes são os primeiros passos. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Rafa Lemos Postado Abril 6, 2021 Alunos Compartilhar Postado Abril 6, 2021 @suelenbn boa noite! Conseguiu resolver sua dúvida? Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos suelenbn Postado Abril 8, 2021 Autor Alunos Compartilhar Postado Abril 8, 2021 Bom dia!!!! Não senhor. A importação dos dados eu fiz. Na verdade, o que não consegui é estruturar os dados no PBI, pois estão muito mal estruturados. No curso acho q tem algumas aulas mostrando como faz... vou estudar mais pra tentar ajustar a base no Power query. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Rafa Lemos Postado Abril 10, 2021 Alunos Compartilhar Postado Abril 10, 2021 @suelenbn bom dia! Imagino que a sua solução seja algo parecido com o que nesse vídeo do Youtube:https://www.youtube.com/watch?v=z9Fe4xyY1PM Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos suelenbn Postado Abril 26, 2021 Autor Alunos Compartilhar Postado Abril 26, 2021 Boa noite @Rafa Lemos! Obrigada pelo vídeo. Deu uma clareada na mente, mas ainda está confuso. Não entendo nada de linguagem M rsrs E os dados estão literalmente desestruturados. E o pior de tudo é que não seguem uma lógica específica de quantidade de linhas. A única lógica é que começa com o nome de um médico ou prestador, e termina com a cidade/Cep Vou ter que dar uma estudada melhor nisso. Mas obrigada pela ajuda Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos suelenbn Postado Abril 27, 2021 Autor Alunos Compartilhar Postado Abril 27, 2021 Esse vídeo aqui clareou um pouco mais: https://www.youtube.com/watch?v=SkLWb1FDh28 Agora estou na fase de criar uma coluna para cada item, pois na base original não tem nome nas colunas. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos suelenbn Postado Abril 29, 2021 Autor Alunos Compartilhar Postado Abril 29, 2021 Muito bom @Vitor Peralva. Era isso mesmo. Muito obrigada!!!! Vou tentar reproduzir aqui e qualquer dúvida lhe pergunto no telegram rsrs Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
suelenbn
Pessoal, eu tenho um relatório em PDF com uma lista e eu converti esse relatório para excel.
Como faço para transformar essa listagem no power bi?
Segue em anexo.
Rede Samp-convertido.xlsx Rede Samp.pdf
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados