Ir para conteúdo
  • 0

Tratamento no Power Query


Caio Murilo

Pergunta

  • Membros

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

  • 0
  • Membros

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.

 

  • Gostei 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...