Ir para conteúdo
  • 0

[Iniciante] Enumerando os passos no power query.


MIchel Ribeiro
Ir para solução Solucionado por Vitor Peralva ,

Pergunta

  • Membros

Boa noite, estou no começo dos meus estudos e já pensando em um tratamento limpo e evitar o retrabalho, qual seriam na ordem, os passos após extração?

Exemplo:

  1. Parametrizar a fonte
  2. Remover as colunas
  3. Limpar as linhas
  4. Normalizar as tabelas
  5. Criar as tabelas dimensões.

Quais outros processos e as ordens certas até o "aplicar e fechar"?

 

 

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
  • Membros
  • Solução

Boa Tarde, @MIchel Ribeiro!

 

Como o seu post ainda não recebeu respostas, vou dar algumas opiniões, basicamente sugestões sobre procedimentos:

 

01 - Evite usar o Power Query

 

Antes de me xingar, tente entender o seguinte.

Devemos usar o Power Query quando não é possível transformar a nossa base.

 

Assim, se você extrai dados do SQL, o ideal é se criar uma ou mais Views com as tabelas do jeito que você deseja.

Isto normalmente traz algumas vantagens, como jogar o processamento para o banco de dados, economizando recursos computacionais do seu computador, além de trazer um quantidade já reduzida de dados para eventuais tratamentos adicionais.

 

Se sua fonte não é um banco de dados, mas um arquivo Excel, CSV de uma extração do sistema, por exemplo, verifique se o sistema não permite a criação de um relatório personalizado, assim, você pode só trazer os dados que precisa, sem a necessidade de carregar todo um conteúdo, para excluir parte dele.

 

Claro que não estou dizendo para você modificar o arquivo no Excel para não precisar tratar ele no Power Query, para estes casos, você deve ir de Power Query mesmo.

 

02 - Criação de Parâmetros

 

A criação de parâmetros, como citado por você é um boa prática, pois permite uma melhor transição entre máquina diferentes, o que, se você faz consultoria, é de grande valia.

Veja que aqui não estamos falando em desempenho e nem se trata de um passo obrigatório.

Ele apenas torna mais fácil para um usuário leigo fazer a alteração e só ganha maior relevância quando você tem mais de uma consulta se originando na mesma fonte, já que daí você substitui apenas uma vez, ao invés, de 2, 3, ou mais.

 

03 - Remover Colunas Desnecessárias

 

Veja que este passo poderia ser evitado se você puder fazer isto na origem dos dados.

Caso não seja possível, é uma das primeiras etapas que devem ser realizadas.

Trata-se de uma questão matemática.

Quanto mais dados, mais memória e mais tende a ficar lenta a sua consulta e aumentar o uso de memória RAM.

Normalmente, você tem mais linhas do que colunas.

Isto quer dizer que se você tem uma consulta com 100.000 linhas e 50 colunas, ao apagar uma coluna você elimina 100.000 "células" ao passo que ao eliminar uma linha você elimina 50 "células", daí dar preferência a eliminação de colunas primeiro a linhas.

Uma pequena observação.

Embora o código M seja escrito em uma ordem, o Power Query usa toda uma inteligência por trás para definir a ordem que executará as etapas, então, eliminar as colunas antes ou depois pode apresentar o mesmo resultado.

Ainda sobre remover colunas cabe destacar o seguinte:

a) Lembre-se de eliminar colunas frutos de cálculos que você pode obter com dados de outras colunas.

Ex.: Valor Total = (Preço Unitário X Quantidade) - Desconto

Estes cálculos você pode obter via DAX, então, deixe os cálculos para o DAX, salvo quando for essencial para alguma transformação do Power Query.

b) Deixe somente o que vai precisar.

É natural que tenhamos o impulso de querer trazer o máximo de informações na ideia de que algum dia posso precisar daquilo.

No dia que você precisar, você vai e altera a etapa e mantém a coluna ao invés de remover.

Para que propósito vou deixar colunas com o valor de tributos de uma Nota Fiscal, por exemplo, se não vou fazer nenhum cálculo, nenhum visual com eles?

Menos pode ser mais.

c) Pense no Depois

Principalmente quando estiver trabalhando com conexão de pasta, onde no decorrer do tempo outros arquivos serão juntados tenha sempre uma preocupação sobre o que pode mudar nos próximos arquivos.

Quando digo isto, digo no sentido de que se o nome das colunas não se altera de um arquivo para o outro, tanto faz você usar o Remover Coluna ou selecionar as colunas que deseja e pedir para Remover Outras Colunas.

Se não estiver se conectando a uma Tabela no Excel, Usar o Remover Outras Colunas pode impedir que escritas adicionais como observações sejam carregadas para o seu arquivo.

Agora, se seu arquivo cresce para direita, ou seja, são criadas novas colunas e você pretende carregar elas, usar o Remover Colunas pode ser uma boa prática.

 

04 - Remover Linhas

 

As observações que se citou para a remoção de colunas, praticamente valem para aqui.

Faria os seguintes acréscimos:

a) Tente vislumbrar uma padrão nas linhas que você não desejar manter, exemplo: Todas as linhas que têm valor null na Coluna2 não me servem, então filtre por está coluna, ao invés de realizar 3 ou 4 etapas de filtro;

b) Crie uma etapa exclusiva e renomeie quando for diminuir a base.

Uma boa prática é você não trabalhar com todos os dados na fase de desenvolvimento, mas sim, com uma amostra.

Uma forma comum de fazer isto é com a utilização de um filtro em uma coluna.

Exemplo: Pegar clientes somente da Bahia, você filtraria a coluna de Estado e, assim, teria menos dados.

É aconselhável que você renomeie esta etapa para saber onde realizou este filtro. Colocando algo como ExcluirDepois ou FiltroAmostragem, etc.

 

05 - Usar Table.Buffer e List.Buffer

 

Você pode bufferizar determinada consulta na memória.

Se você tem um dado que precisará ser acessado diversas vezes, por exemplo, por você realizar a mesclagem de diversas consultas com determinada tabela ou lista.

O que acontece o Power Query fica voltando diversas vezes refazendo as etapas, ao criar um Buffer, ele já começaria daquele ponto, o que tornaria o carregamento da sua consulta mais rápido.

No entanto, ele não faz milagres.

Você tem um limite de memória na sua máquina, se ultrapassado, o Buffer não ajudaria.

O Power Query também trabalha com containers de memória, embora se possa personalizar isto, não recomendo alterar.

Basicamente, o Buffer não terá efeito se sua consulta ultrapassar o tamanho do container de memória.

 

06 - Normalizar as Tabelas

 

Só lembre que o ideal é se buscar o esquema estrela.

 

07 - Criar as Tabelas Dimensões

 

Mesma observação do item anterior.

Lembre que dimensão remete a visão, que também remete a perspectiva e a filtro.

Veja sob que ótica deseja ver os dados e isto te dará uma boa ideia sobre que visões (ou dimensões) você quer ter no seu projeto.

 

08 - Não se prenda a receita de bolo (Cada ETL tem a seu caminho)

 

O fato de não se ter um check-list do Power Query é justamente que cada base tem os seus acertos e os seus problemas.

Vão existir bases semelhantes, claro que vai.

Muita coisa com o tempo, você vai bater o olho e já ter ideia sobre como fazer, outras, vai bater a cabeça por horas ou dias, antes de descobrir que havia uma maneira simples e rápida para fazer aquilo.

Não corra atrás de receitas de bolo.

Olho para o que você tem, sua base original.

Desenhe como quer ficar, quais colunas eu quero, como vou modelar, etc.

 

Agora, trilhe o caminho entre uma e outra.

Sabendo onde se quer chegar, tudo fica mais fácil.

 

Sei que provavelmente não te dei as respostas que esperava e que me alonguei em demasia, mas espero que possa ter colaborado um pouco para a sua percepção sobre os procedimentos a serem adotados no tratamento de dados.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...