Ir para conteúdo
  • 0

Base Excel


Paulo Cesar
Ir para solução Solucionado por Bruno Abdalla de Souza ,

Pergunta

  • Alunos

Prezados, boa tarde!

Preciso de uma ajuda. Vou tentar resumir a minha necessidade, porque eu quero consolidar as informações que vem da tabela abaixo em uma tabela só, pois essa os clientes vão preencher e quando receber será salvo em uma pasta no Sharepoint pra alimentar uma base de dados em Excel.

Bom primeiramente eu tenho uma base de dados que está nesse formato conforme imagem abaixo:image.png.80c02cd6492d3042da8c605de81c1030.png

Ai eu peguei essa base de dados preenchida pelo cliente salvo em uma pasta no sharepoint, ai eu faço uma transformação no Power Query do Excel para consolidar essas informações de pedidos, ai ela fica assim depois da transformação:

image.png.8f232254791c0938860371086fa68a03.png

ai na Pasta do Sharepoint quando eu incluo uma nova base e venho e atualizo o excel ao invés de ficar embaixo os dados ele pega a ultima coluna a acrescenta os dados da nova coluna é como se pegasse todo esse dado apresentado acima ido na ultima coluna e copiado esses dados.

Alguém teria uma solução pra isso?

Abaixo vou colocar como está ficando quando eu salvo uma outra base de dados, ou seja, as informações são as mesmas porque é uma base unica que foi enviado para os clientes.

image.png.e24c8d47c7f732d7cd68f2e9764e7271.png

e ainda ele trás colunas desnecessárias.

Aguardo.

Atenciosamente,

Paulo 

 

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Primeiro conectei à pasta do meu notebook. No seu caso seria a pasta do Shaprepoint.

let
    Fonte = Folder.Files("C:\OneDrive\Cursos\Business_Inteligence\PowerBI\Leonardo Karpinski\Forum\PowerQuery\20240701_BaseExcel"),
    #"Linhas Filtradas" = Table.SelectRows(Fonte, each ([Name] <> "Base_Pedidos.xlsx")),
    #"Outras Colunas Removidas" = Table.SelectColumns(#"Linhas Filtradas",{"Content"}),
    TransformaEmTabelaExcel = Table.TransformColumns(#"Outras Colunas Removidas", {{"Content", each Excel.Workbook(_), type table}}),
    ExpandeDados = Table.ExpandTableColumn(TransformaEmTabelaExcel, "Content", {"Name", "Data", "Kind"}, {"Name", "Data", "Kind"}),
    FiltraPlanilhas = Table.SelectRows(ExpandeDados, each ([Kind] = "Sheet"))
in
    FiltraPlanilhas

Depois fiz uma função para tratar os dados do grupo de pedidos:

(tabela as table) =>

let
    SelecionaColuna = Table.SelectColumns(tabela,{"Column3", "Column4"}),
    RemoveNulos = Table.SelectRows(SelecionaColuna, each ([Column3] <> null and [Column3] <> "Observação: Condições CIF ainda sob negociação com transportadoras.  Caso condição de entrega seja CIF, iremos cotar diretamente com as transportadoras e alinahdos com a Concessionária os preços negociados.")),
    Remove5PrimeirasLinhas = Table.Skip(RemoveNulos,5),
    Remove10UltimasLInhas = Table.RemoveLastN(Remove5PrimeirasLinhas,10),
    AlteraTipoDados = Table.TransformColumnTypes(Remove10UltimasLInhas,{{"Column4", type text}, {"Column3", type text}}),
    PivoteiaColunas = Table.Pivot(AlteraTipoDados, List.Distinct(AlteraTipoDados[Column3]), "Column3", "Column4")
in
    PivoteiaColunas

 

Depois usei esta função para tratar individualmente as tabelas do grupo de pedidos para depois expandir os dados já tratados, conforme a seguir:

let
    Fonte = Table.SelectRows(BASE, each [Name] = "GRUPO ECONÔMICO"),
    SelecionaDados = Table.SelectColumns(Fonte,{ "Data"}),
    TrataDados = Table.TransformColumns(SelecionaDados, {{"Data", each fxTrataGrupoEconomico(_), type table}}),
    ExpandeDados = Table.ExpandTableColumn(TrataDados, "Data", {"Razão Social", "Grupo Concessionárias", "CNPJ", "Endereço", "Bairro", "Cidade", "Estado", "CEP", "CORREÇÃO CADASTRO", "Número de Pedido do Concessionário", "Informações de Contato", "Condição de Entrega (FOB/CIF)", "Notas do Pedido e outras observações:"}, {"Razão Social", "Grupo Concessionárias", "CNPJ", "Endereço", "Bairro", "Cidade", "Estado", "CEP", "CORREÇÃO CADASTRO", "Número de Pedido do Concessionário", "Informações de Contato", "Condição de Entrega (FOB/CIF)", "Notas do Pedido e outras observações:"}),
    AlteraTipoDados = Table.TransformColumnTypes(ExpandeDados,{{"Razão Social", type text}, {"Grupo Concessionárias", type text}, {"CNPJ", type text}, {"Endereço", type text}, {"Bairro", type text}, {"Cidade", type text}, {"Estado", type text}, {"CEP", type text}, {"CORREÇÃO CADASTRO", type text}, {"Número de Pedido do Concessionário", type text}, {"Informações de Contato", type text}, {"Condição de Entrega (FOB/CIF)", type text}, {"Notas do Pedido e outras observações:", type text}})
in
    AlteraTipoDados

 

Só fiz para o grupo econômico. Vc pode adaptar para os demais tratamentos.

Base_Pedidos.xlsx

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Postado (editado)
Em 29/06/2024 em 21:57, Bruno Abdalla de Souza disse:

As duas bases possuem exatamente o mesmo nome para todas as colunas?

Recomendo você anexar 2 exemplos fictícios de clientes em arquivos Excel distintos e seu pbix já com o ETL feito. Aí ficará mais fácil de te ajudar. 

@Bruno Abdalla de Souza bom dia!

Sim possuem, pois o arquivo em excel é padrão para todos os clientes que terão que nos passar a base preenchida cada um com a sua informação e por isso o arquivo é único.

Na verdade esse arquivo será em excel mesmo não vai ser em Power BI

Editado por Paulo Cesar
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
1 minuto atrás, Bruno Abdalla de Souza disse:

Ok, mas anexe 2 exemplos de base o arquivo Excel com ETL no PowerQuery. 

Os Templates e a base em Excel

Note que a Base_Pedidos tem os dados desses 2 templates na sheet Grupo Econômico , já em pedidos não entrou os dados.

 

TEMPLATE - TRELLEBORG AGRO BAGGIO SORRISO - Planilha de Pedidos_v1.xlsx TEMPLATE - TRELLEBORG - Planilha de Pedidos_v1 (1) -RVD.xlsx Base_Pedidos.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...