Ir para conteúdo
  • 0

Tratamento no Power Query


Caio Murilo
Ir para solução Solucionado por Vitor Peralva ,

Pergunta

  • Alunos

Estou com uma base em que a partir da coluna "AP" fiz formulas no excel para me auxiliar nas condições que precisava, exemplo: Descobrir qual foi a ULTIMA oportunidade criada, ULTIIMO contrato gerado, se a chave teve a ultima oportunidade como perda , quem é o responsável pelo frete e etc ....image.png.0522536814e60c4bc64555ffb37694d6.png

 

No Power Query removi as duplicadas "coluna CHAVE", para ter em uma aba uma linha única do meu cliente, após isso a partir da coluna "N", fiz as formulas novamente para me retornar, o inicio do contrato, vigência, tipo de venda, frete, se o cliente é perda.

image.png.621a60c061eed70edee26d54df8541be.png

 

 

Porém o arquivo com 20 k de linhas ficou muito pesado, devido essas varias formulas, gostaria de uma ajuda, se é possivel tratar direto no Query sem precisar utilizar tanta formula no próprio excel.

Anexei a base com 2 exemplos.

 

Base Duvida query.xlsx

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 1
  • Alunos
  • Solução

Bom Dia, @Caio Murilo!

 

Dei uma olhada rápida no seu código dentro do Power Query e vou fazer algumas sugestões:

 

1) Na Consulta CRM_Contratos

 

a) Você possui duas etapas de Tipo Alterado, procurar deixar uma única etapa que pode ser no final;

b) A etapa "Linhas Filtradas1" não está aplicando filtro nenhum e pode ser removida;

c) Você tem, também, duas etapas de Reordenação de Coluna, deixe para o fazer somente no final;

d) Você usa 2 etapas para extrair a coluna "Ano Oportunidade" (Coluna Duplicada e Últimos caracteres extraídos). Você poderia adicionar diretamente uma coluna e colocar como fórmula "= Text.End([o.Oportunidade para], 4)"

e) Como última etapa, você adiciona um classificar linhas. Como o fez pela chave, vale o questionamento, é realmente necessária esta ordenação?

Classificar é uma das etapas que mais consome recursos.

 

2) Na Consulta  CRM_Contratos AUX

 

a) Deixe a etapa de Tipo Alterado para mais para o final;

b) Remova as colunas antes de Remover as duplicatas;

c) Na parte de CNPJ, acredito que possa eliminar todas as etapas substituindo por um Transformar Colunas. Clique com o botão direito na coluna e selecione para transformar em maiúsculas, deve gerar um código mais ou menos assim:

#"Texto em Maiúscula" = Table.TransformColumns(#"Tipo Alterado",{{"CNPJ", Text.Upper, type text}})

Vá no editor avançado e altere para:
 

TratarCNPJ = Table.TransformColumns(#"Tipo Alterado",{
{"CNPJ", each Number.ToText(Number.From(Text.Select(Text.From(_), {"0" .. "9"})), "00\.000\.000/0000-00"), type text}
})

 

Para tentar entender melhor a transformação, você pode assistir este meu vídeo:

 

d) Observo, também, que no final, você faz uma nova remoção de duplicatas para manter somente uma única linha por chave.
Sugiro alterar para que faça esta remoção por duplicatas na primeira etapa e somente pela chave, já que não entendi a lógica de fazer por "e.CNPJ/CPF", "e.Razão Social", "Chave" e depois somente pela "Chave".
 

Para efetivar os cálculos:

 

Mescle as consultas pela coluna de chave, o que vai resultar em uma tabela.

Desta tabela resultante, você vai extrair os cálculos, usando funções de lista e referências.

 

Como não tenho acesso ao arquivo (ACV_Contratos), não deu para simular os cálculos, já que as consultas quebram no Power Query.

As dicas acima, fiz com base na leitura do código.

 

  • Like 1
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...