Power BI Obter Dados de Pastas e Tratamento no Power Query

Esse artigo foi escrito porque há relatos de que esse item em específico cai no Exame DA-100: Analyzing Data with Microsoft Power BI, conforme relatos.

Get Data From Folders

Também conhecido como Bulk Import ou Combine Multiple Files ou Load Multiple Files ou simplesmente Combine Files.

Importar dados no Power BI é uma das tarefas mais fundamentais, mais utilizadas e no meio dessas importações de dados tem uma que se chama “Folder”, ou Get Data > File > Folder.

Get Data from Folder, ou Obter dados de pastas é importante porque podemos aproveitar o poder do Power Query para importar um monte de arquivos e tratar eles todos ao mesmo tempo.

Então assim, em cenários onde você tem vários arquivos parecidos numa mesma pasta, com estruturar iguais, você pode importá-los todos de uma vez só no Power BI usando o Get Data from Folder.

Normalmente o que as pessoas fazem, ou faziam, é uma vez que chega um arquivo novo, elas importam o arquivo e depois dão APPEND nesse arquivo (UNION), e aí repetem esse processo manual toda vez que um novo arquivo chega.

Com Get Data from Folder você não precisa fazer isso. Porque você já vai preparar seu Power BI pra tratar esses novos arquivos. Então o que você faz na verdade é “treinar” os applied steps do seu Power Query para que, sempre que um novo arquivo chegar, ele já seja “apendado” na sua tabela geral.

Ok, mas como faz?

Bem, se você está lendo esse post é porque já sabe usar Get Data, se não sabe, leia o post sobre Get Data. Então é só dar um get data from Folder e passar o Folder que estão seu arquivos. A partir daí é só escolher Combine > “Combine & Transform Data” ou “Combine & Load”… Ou então, simplesmente LOAD (eu até gosto de escolher simplesmente TRANSFORM DATA, porque daí eu mesmo faço todo passo a passo que eu quero).

Pontos importantes:

  • Quando você seleciona a pasta que deseja usar, as informações do arquivo sobre todos os arquivos dessa pasta são exibidas. Além disso, as informações do arquivo sobre qualquer arquivo em qualquer subpasta também são exibidas.
  • Para garantir que a combinação dos dados do arquivo funcione corretamente, certifique-se de que todos os arquivos na pasta e nas subpastas tenham o mesmo esquema.

COMBINE

Se você escolher alguma opção que seja do tipo COMBINE o Power BI vai abrir uma nova janela pedindo pra você determinar algumas informações importantes pra que o Combine aconteça, como tipo do delimitador (vírgula, ponto e vírgula, etc), deteção do tipo de dado para as primeiras 200 linhas (por padrão, mas vc pode mudar isso).

Pontos importantes:

  • O Power Query analisa o primeiro arquivo da lista e determina o conector de arquivo correto a ser usado para abrir o conteúdo do arquivo, como texto, pasta de trabalho do Excel, arquivo JSON ou outro conector conforme achar adequado.
  • Você também pode escolher um arquivo de amostra diferente em vez do primeiro arquivo, usando o menu suspenso Arquivo de exemplo.
  • Opcionalmente, você pode excluir arquivos que resultam em erros da saída final.

Depois de tudo definido, clique em OK. O que o COMBINE faz depois disso é (mais detalhes aqui https://docs.microsoft.com/en-us/power-bi/transform-model/desktop-combine-binaries):

  • Cria um exemplo de query que executa todas as etapas de extração necessárias em um único arquivo.
  • Cria uma consulta de função que parametriza o arquivo / entrada binária para a query de exemplo. A consulta de exemplar e a consulta de função estão vinculadas, de modo que as alterações na consulta de exemplo sejam refletidas na consulta de função.
  • Aplica a consulta de função à consulta original com binários de entrada, como a consulta de pasta. Ele aplica a consulta de função para entradas binárias em cada linha e, em seguida, expande a extração de dados resultante como colunas de nível superior.

Fazendo dessa forma o Power BI vai criar umas funções no Power Query automaticamente e vai fazer o Combine dos seus arquivos pra você. O resultado vai ser uma tabela pronta já com tudo combinado, e um monte de funções ali na esquerda.

Eu particularmente não curto essas funções criadas automaticamente…

Se você der simplesmente LOAD ou TRANSFORM DATA isso não vai acontecer. O que você vai receber vai ser um resultado assim:

Que também não resolve nada. Não tem nada combinado aí, só os registros dos arquivos binários. Se nesse caso você ir ali na coluna CONTENT (content aqui no caso é conteúdo, não confundir com alegre, feliz, kkkkk) e clicar naquele íconezinho de “duas setinhas pra baixo” (ou então ir na barra de tarefas em Home > Combine > Combine) o que vai acontecer é um COMBINE automático e vai repetir o mesmo processo que já vimos antes… o resultado vai ser aquele feião cheio de função criada automaticamente.

A vantagem aqui é que toda tratativa feita no arquivo de “Transform Sample File” será replicado no resultado do arquivo final, aquele arquivo que tem todos arquivos combinados. (mesmo assim eu prefiro fazer do outro jeito, rs, ver abaixo).

Como não usar as funções automáticas na hora do Combine?

Se você não quer deixar seu Power Query todo cheio daquelas funções automáticas, você vai precisar adicionar uma Custom Column usar uma função M chamada Excel.Workbooks(), mas no meu caso aqui, vou usar o Csv.Document(), faz a mesma coisa, mas um é pra Excel, outro pra CSV. Você precisa passar para essas funções qual é o arquivo binário, no meu caos passei CONTENT.

Isso vai criar uma coluna nova, daí é só EXPANDIR essa coluna. Antes, porém, é boa prática remover as demais colunas que você não precisar, ou então pode deixar pra fazer isso mais pra frente quando vc remover logo todas colunas que desejar. O resultado fica assim:

Praticamente o mesmo resultado, sem funções.

Tratamento no Power Query (Data Transformation)

Depois que você importou seu Folder, seja com combine automático ou seja com a função M, agora é só tratar seus dados.

Aqui nesse link tem um monte de explicação boa de tratamento https://docs.microsoft.com/en-us/power-query/combine-files-csv#modify-the-transform-sample-file-query, dá uma olhada.

Esse assunto de tratamento de dados é extenso pra caramba e cheio de detalhes, esse post aqui ficaria gigante se eu for falar dos mais indicados, por isso, aqui vai alguns links que definitivamente ajudam com essa parte:
https://docs.microsoft.com/en-us/power-bi/connect-data/desktop-shape-and-combine-data
https://www.youtube.com/watch?v=jN87y6TbWXI – Data preparation tricks you should know for Power BI solutions | Community Webinars

Links de referência:

https://docs.microsoft.com/en-us/power-query/connectors/folder
https://docs.microsoft.com/en-us/power-query/combine-files-overview
https://docs.microsoft.com/en-us/power-bi/transform-model/desktop-combine-binaries
https://docs.microsoft.com/en-us/power-query/combine-files-csv

Published by Pedro Carvalho

Apaixonado por análise de dados e Power BI

Deixe uma resposta

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: