[PQ] Desafios no Power Query: Um Caso Prático com Dados da OMIE

Olá, #conectado! Hoje vamos abordar um assunto lógico e que facilitará muito a vida no DAX. Como diria meu querido professor Joviano Silveira, se o DAX está sobrecarregado, é porque o dado no Power Query não foi bem tratado. O exemplo que utilizaremos é da tabela de notas fiscais de entrada, e você terá acesso ao código utilizado para criar essa consulta no final deste artigo.

Uma das grandes dificuldades para analisarmos os dados na OMIE é a duplicidade dos dados quando trabalhamos com notas fiscais, por exemplo. Ao expandir os itens, na sequência departamento e categorias, a nota fiscal que vem em uma linha pode chegar a ter mais de 200 linhas, conforme o exemplo abaixo:

Ao expandir departamentos, o total superou 600 linhas:

Para concluir, expandimos as categorias:

Você pode ver que este único recebimento passou de mil linhas. Uma das soluções em DAX seria utilizar o valor total da nota fiscal e dividir pela contagem de linhas da tabela/recebimento.

O resultado seria uma média “burra” dos valores dos itens ou então utilizar no cálculo a quantidade dos itens, mas voltamos ao caso dos dados duplicados novamente, conforme o print abaixo:

Algo que me chamou a atenção ao trabalharmos com a expansão dos departamentos e categorias foram as porcentagens dos mesmos, conforme o print abaixo:

Dessa maneira, foi possível trabalhar com uma solução que envolvesse somente uma coluna para realizar a soma das quantidades, dos valores unitários e valores totais de cada item. Adicionamos 3 colunas personalizadas conforme os scripts:

ValorTotal =
if [pCategoria] <> null and [pDepartamento] <> null then
  [vTotalItem] * ([pDepartamento] / 100) * ([pCategoria] / 100)
else if [pDepartamento] <> null then
  [vTotalItem] * ([pDepartamento] / 100)
else
  [vTotalItem] * ([pCategoria] / 100)

ValorUnitario = 
if [pCategoria] <> null and [pDepartamento] <> null then
  [nPrecoUnit] * ([pDepartamento] / 100) * ([pCategoria] / 100)
else if [pDepartamento] <> null then
  [nPrecoUnit] * ([pDepartamento] / 100)
else
  [nPrecoUnit] * ([pCategoria] / 100)

Quantidade =
if [pCategoria] <> null and [pDepartamento] <> null then
  [nQtdeNFe] * ([pDepartamento] / 100) * ([pCategoria] / 100)
else if [pDepartamento] <> null then
  [nQtdeNFe] * ([pDepartamento] / 100)
else
  [nQtdeNFe] * ([pCategoria] / 100)

Conclusão

Com essas 3 colunas, o Power BI ficará mais rápido para realizar os cálculos. Realizamos esse tratamento de dados em todas as tabelas que possuem departamento e categorias, a maioria das que aparecem na imagem abaixo:

Espero que este artigo tenha sido útil para você! Se tiver alguma dúvida ou sugestão, fique à vontade para deixar um comentário abaixo. E não se esqueça de conferir o curso Chora API para mais dicas e técnicas avançadas em Power BI e conexões em APIs.

E convido a conhecer mais do meu trabalho no curso gratuito que preparei com exemplos de consultas de API como também um vídeo sobre atualização da API do Facebook Ads no Power BI Serviços, além de todo conteúdo exclusivo que encontra no curso completo.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

© 2024 Direitos Reservados - Chora {API}. Desenvolvido por Augusto Mello

Fale conosco
1
Fale conosco
Olá,
Podemos te ajudar?