Após a extração, os dados devem ser organizados e padronizados para que possam ser manipulados e transformados em informação.

No artigo anterior elaboramos um guia passo a passo de como automatizar parte da pesquisa de dados de mercado através de web scraping, extraindo dados em massa de diversas páginas, com a utilização da versão gratuita do software Power BI.

Criamos algoritmos para web scraping de dados de mercado no site Zap imóveis para uma consulta de dados de oferta de venda de imóveis da tipologia apartamento no Bairro de Botafogo, Rio de Janeiro, numa pesquisa similar à que fizemos e apresentamos neste outro artigo.

Neste texto vamos dar prosseguimento a este guia passo a passo e aplicar transformações, tratar e multiplicar esta consulta, no sentido de concluir o processo de ETL (Extract, Transform and Load) dos nossos dados de mercado, e deixá-los prontos para análise e manipulação futura.

Guia passo a passo tratamento de dados com Power BI

Sumário do artigo



Introdução

ETL

Conforme vimos no artigo anterior, a primeira fase de um processo de inteligência de dados é geralmente chamada de ETL (da sigla em inglês Extract, Transform and Load, ou Extrair, Transformar e Carregar).

Primeiro os dados são extraídos da origem, e isto pode ser feito de diferentes formas e com o uso de diferentes ferramentas. Naquele artigo utilizamos uma técnica de web scraping, que é uma forma de minerar dados de uma ou várias páginas da web de forma automatizada, dentro do software Microsoft Power BI.

Após a extração os dados devem ser tratados - ou transformados - organizados e padronizados, num processo que também pode - e deve - ser automatizado.

Neste texto vamos descrever o processo passo a passo para fazer e automatizar esta etapa de Transformação e padronização de dados através no Power BI, abordando as principais atividades relacionadas a este processo e que podem ser aplicadas em dados que tenham sido extraídos através de web scraping (como é o nosso caso) ou através de qualquer outro processo de extração.

Por fim, os dados estarão prontos para serem carregados no sistema onde podem ser cruzados, relacionados, tratados, analisados e visualizados.

Power BI

Com vimos no artigo anterior, o Power BI é uma suíte composta por três ferramentas principais, que são o Power Query, um editor de consultas para extração, tratamento e carregamento de dados, o Power Pivot, que permite a conexão de várias fontes de informação e dados já transformados no Power Query, e o Power View, que é uma tecnologia de visualização de dados que permite criar gráficos, mapas e outros elementos visuais interativos (LAGO; ALVES, 2018).

Neste artigo, vamos continuar utilizando o Power Query que, segundo a Microsoft, “é uma tecnologia de conexão de dados que permite que você descubra, conecte, combine e refine fontes de dados para atender às suas necessidades de análise.” Nesse contexto, o Power Query permite conectar, importar e tratar os dados utilizando a linguagem M (nome informal de Power Query Formula Language).

Transformação e tratamento de dados no Power BI

Nós terminamos o artigo anterior com um conjunto de dados composto por uma função de busca de dados no site Zap imóveis e uma tabela com 8 colunas (id-pag, url, preco-venda, endereco, area, quartos, vagas-garagem e banheiros) e 960 linhas, referente a uma consulta de dados de mercado de ofertas de venda de imóveis da tipologia apartamento em Botafogo, nas primeiras 40 páginas desta busca no site Zap imóveis.

Ao final daquele processo nós carregamos nossos dados para a interface principal do Power BI, antes de prosseguirmos com o processo de transformação, e salvamos o arquivo, que tem extensão .pbix. Agora vamos abrir aquele arquivo novamente.

Reiniciar o processo de transformação

Ao abrirmos o arquivo somos levados à tela inicial da interface principal do Power BI, conforme figura 01.

À direita, na coluna “Campos” (1) podemos observar a nossa tabela “zap-botafogo-apto” e, abaixo dela, um item para cada coluna da tabela, que nós poderíamos selecionar e arrastar, mas não é o que faremos hoje.

Ao centro, observamos o espaço vazio com a mensagem “Criar visuais com seus dados”, esta tela em que estamos corresponde à ferramenta chamada “Power View”, que nos permite criar gráficos e mapas interativos a partir dos dados carregados. Estes “visuais” - como o Power BI os chama - apareceriam aqui. Também não é o que faremos hoje.

À esquerda há uma coluna com três ícones: o desenho de um gráfico (2), que está selecionado, o desenho de uma tabela (3), e o desenho de três tabelas ligadas (4). O primeiro corresponde ao Power View, onde estamos, o segundo nos permite visualizar nossos dados e o terceiro corresponde ao Power Pivot, que é uma tecnologia de modelagem de dados que permite criar modelos de dados, estabelecer relações e criar cálculos.

Guia passo a passo tratamento de dados com Power bi - figura 01
Figura 01

Se nós clicarmos no segundo ícone desta coluna à esquerda (o desenho da tabela), somos conduzidos a uma tela semelhante à figura 02, e podemos ver que nossa tabela de dados extraídos no artigo anterior está ali. Neste espaço poderíamos manipular nossas tabelas, fazer cálculos e medidas utilizando uma linguagem chamada DAX (Data Analysis Expressions - ou Expressões de análise de dados), que é uma biblioteca de funções e operadores que podem ser combinados para criar expressões de fórmulas de cálculo. Ainda não é o que faremos hoje.

Guia passo a passo tratamento de dados com Power bi - figura 02
Figura 02

Para efetivamente continuarmos a transformação de nossos dados, eventualmente criando novas consultas e tudo mais, precisamos ir ao Power Query. Para isso, com guia “página inicial” (1) selecionada, devemos clicar em “Transformar dados” (2), conforme figura 03.

Guia passo a passo tratamento de dados com Power bi - figura 03
Figura 03

Então, somos conduzidos de volta à nossa já conhecida interface do editor de consultas do Power Query, conforme figura 04. Podemos ver que nossa função “buscar-imoveis-zap” e nossa consulta “zap-botafogo-apto” continuam lá na coluna “Consultas” (1) à esquerda. À direita, na coluna “Configurações de Consulta” (2) podemos ver, em “Etapas Aplicadas”, todas as etapas de transformação aplicadas à consulta “zap-botafogo-apto” (que está selecionada) durante o processo de web scraping feito no artigo anterior e, ao centro (3), vemos nossa tabela de 960 linhas, tal como ela estava.

Guia passo a passo tratamento de dados com Power bi - figura 04
Figura 04

Ainda na figura 04 podemos ver, ao centro e acima, uma mensagem do Power BI, em amarelo, nos sugerindo a atualização dos dados. Basta clicarmos em atualizar e toda aquela pesquisa será refeita e retornará os dados que constam hoje no site Zap imóveis para os mesmos critérios de consulta. Vamos fazer isso, levará alguns minutos.

Após a atualização, vamos dar prosseguimento à etapa de transformação de nosso ETL (Extract, Transform and Load) que englobará as principais atividades relativas a transformação e padronização de dados em uma pesquisa simples como esta.

Remover colunas

É muito comum que, ao transformar os dados, seja necessário remover algumas colunas. No nosso caso, as duas primeiras colunas, “id-pag” e “url”, que deram origem à consulta que gerou esta tabela durante o processo de web scraping, não serão mais necessárias quando formos manipular estes dados e transformá-los em informação, portanto podemos excluí-las.

Para excluir uma coluna basta clicar com o botão direito do mouse sobre o seu rótulo e então clicar em excluir, conforme figura 05. Vamos repetir este processo para a coluna “id-pag” e para a coluna “url”.

Guia passo a passo tratamento de dados com Power bi - figura 05
Figura 05

Agora nossa tabela possui apenas 6 colunas, que correspondem a cada um dos parâmetros da nossa pesquisa inicial (preco-venda, endereco, area, quartos, vagas-garagem e banheiros), que são também as propriedades de cada elemento da amostra, conforme figura 06.

Na figura 06 também observamos, em “Etapas aplicadas” (1) que uma nova etapa de transformação foi adicionada (isto acontecerá a cada etapa de transformação) e, na linha de fórmulas (2) vemos o código em linguagem M que corresponde a esta etapa de transformação, que está selecionada.

Guia passo a passo tratamento de dados com Power bi - figura 06
Figura 06

Cada etapa de transformação pode ser “editada” (ou mesmo criada) diretamente no código, se quisermos ou precisarmos, seja através da linha de fórmulas (2) etapa a etapa ou, no editor avançado, onde temos acesso ao algoritmo inteiro. Além disso, caso precisemos modificar, editar, excluir, acrescentar ou mudar a ordem das etapas de transformação isso pode ser feito (como veremos mais adiante).

Filtro de colunas (manual)

Outra atividade muito comum na transformação de dados é a remoção de linhas específicas. Cada linha corresponde a um elemento da amostra, e alguns elementos, sobretudo quando coletados de forma automatizada, podem ser desnecessários e impertinentes, e precisamos excluí-los.

Os filtros de coluna são uma forma de excluir linhas a partir de um determinado valor de um determinado parâmetro.

No nosso caso específico podemos observar que na coluna “preco-venda” alguns elementos possuem o valor “sob consulta”, isto acontece porque o site Zap imóveis inclui alguns anúncios entre os cards de resultados de busca, e com o mesmo formato destes resultados, de modo que estes anúncios são capturados pela nossa consulta. Precisamos eliminá-los, em outras palavras, precisamos excluir todas as linhas cujo valor na coluna “preco-venda” seja “sob consulta”.

A maneira mais simples de fazer este filtro especificamente é de forma manual. Para isso precisamos clicar no ícone em formato de seta (1) à direita do rótulo da coluna, que se abrirá um menu. Neste menu, dentre outras informações, temos uma lista com todos os valores exclusivos dos campos desta coluna, todos estão selecionados. A maioria dos valores são preços, mas um deles é “sob consulta” (2). Precisamos apenas desmarcar este valor e então clicar em “OK” (3), tudo conforme figura 07.

Guia passo a passo tratamento de dados com Power bi - figura 07
Figura 07

Uma nova etapa de transformação foi aplicada (1), uma nova linha de código em linguagem M foi criada (2), e nossa tabela agora possui 942 linhas, como pode ser visto na figura 08.

Guia passo a passo tratamento de dados com Power bi - figura 08
Figura 08

Substituir valores

Também é esperado que, num processo de extração, os dados venham parcialmente “sujos”. Substituir e eliminar valores é uma forma de resolver isso no processo de padronização.

No nosso caso precisamos aplicar a substituição/eliminação de valores em três colunas.

Ainda na coluna “preco-venda”, observamos que todos os valores foram trazidos com a inscrição “/venda” após o preço de venda em si, precisamos eliminar este trecho de texto, porque não precisamos dele e porque ele nos impediria, mais adiante, de converter o tipo de dados desta coluna em número.

Para isso, devemos selecionar a coluna (ou as colunas) em que desejamos aplicar a transformação (neste caso a coluna “preco-venda”) e, com a guia “Transformar” (1) selecionada, devemos clicar em “Substituir valores” (2), conforme figura 09.

Guia passo a passo tratamento de dados com Power bi - figura 09
Figura 09

Na janela que se abre, em “Valor a ser localizado” (1), devemos digitar “/venda”, que é o trecho de texto que queremos eliminar e, em “Substituir por” (2), devemos deixar vazio, pois neste caso queremos apenas eliminar o trecho, e então devemos clicar em “OK”, conforme figura 10.

Guia passo a passo tratamento de dados com Power bi - figura 10
Figura 10

A segunda coluna em que precisamos aplicar o mesmo tipo de transformação é a coluna “area”, na qual devemos eliminar o texto “m²” que consta em cada campo, isto porque este texto nos impediria, mais adiante, de converter o tipo de dados desta coluna em número. Com a coluna “area” selecionada repetimos o processo e, na janela que se abre, digitamos “m²” em “Valor a ser localizado” (1), deixamos vazio o “Substituír por” (2), e clicamos em “OK” (3), conforme figura 11.

Guia passo a passo tratamento de dados com Power bi - figura 11
Figura 11

Outra coluna que precisa deste mesmo tipo de transformação é a coluna “vagas-garagem”. Como podemos já ter observado, em várias linhas desta coluna aparece o valor null, nulo. Isto ocorre porque estes elementos correspondem a apartamentos que não possuem nenhuma vaga de garagem, e neste caso o site Zap imóveis apenas omite esta informação, de modo que isto gera um campo nulo em nossa consulta automatizada.

Todavia, para o nosso processo posterior de manipulação de dados será muito mais útil que tenhamos o dado “0” (zero) para números de vaga de apartamentos que não possuem vaga. Para fazer isso, com a coluna “vagas-garagem” selecionada repetimos o processo e, na janela que se abre, digitamos “null” em “Valor a ser localizado” (1) e digitamos “0” em “Substituir por” (2), e clicamos em “OK”, conforme figura 12.

Guia passo a passo tratamento de dados com Power bi - figura 12
Figura 12

Dividir colunas

Outra atividade relativa a transformação e padronização de dados que precisaremos empreender em nossa tabela, e que também está entre as principais atividades de transformação, é a divisão de colunas.

No nosso caso podemos observar que a coluna “endereco” apresenta o nome do logradouro e o nome do bairro, separados por vírgula, estes dados vêm assim, de um campo único, no site Zap imóveis, mas na nossa manipulação futura destes dados pode ser útil termos uma coluna apenas com o nome do bairro, e outra coluna apenas com o nome do logradouro.

Portanto precisamos dividir esta coluna, e para isso devemos selecionar a coluna que queremos dividir (neste caso a coluna “endereco”) e, com a guia “Transformar” (1) selecionada, devemos clicar em “Dividir coluna” (2), e então clicar em “Por delimitador” (3), conforme figura 13.

Guia passo a passo tratamento de dados com Power bi - figura 13
Figura 13

Na janela que se abre, em “Selecione ou insira o delimitador” (1), devemos selecionar o delimitador Vírgula, porque neste caso é o que divide as duas partes da nossa informação, e devemos deixar marcada a opção “Cada ocorrência do delimitador” (2), pois sabemos que neste caso existe apenas uma vírgula em cada campo, com o logradouro à esquerda e o bairro à direita. Então devemos clicar em “OK” (3), conforme figura 14.

Guia passo a passo tratamento de dados com Power bi - figura 14
Figura 14

Então teremos agora o endereço dividido em duas colunas, “endereco.1” e “endereco.2”, conforme figura 15. Podemos renomear estas colunas para “logradouro” e “bairro”, respectivamente. Para renomear uma coluna basta um clique duplo no rótulo e então digitar o novo nome.

Guia passo a passo tratamento de dados com Power bi - figura 15
Figura 15

Filtro de colunas (texto)

Agora, observando especificamente a coluna “bairros”, notamos que temos mais algumas linhas para excluir de nossa tabela, e temos, portanto, outra oportunidade de usar os filtros de coluna, que são uma forma de excluir linhas a partir de um determinado parâmetro.

Podemos perceber que na coluna “bairros” existem 25 valores distintos. Se clicarmos no ícone em formato de seta (1) à direita do rótulo da coluna, podemos ver, no menu de se abre, que são nomes de bairros. O único bairro deveria ser Botafogo, de acordo com nosso critério de pesquisa lá no início do processo no artigo anterior.

Todos os elementos cujo valor para a coluna “bairro” não é Botafogo são “sujeira”. Isto acontece, como já dissemos, porque o site Zap imóveis inclui alguns anúncios entre os cards de resultados de busca, e com o mesmo formato destes resultados. Parte destes anúncios já havia sido removida quando aplicamos o primeiro filtro de coluna e removemos as linhas cujo valor para a coluna “preco-venda” era “sob consulta”. Todavia, os anúncios que possuem um preço permaneceram.

Agora devemos eliminar todas as linhas cujo valor para a coluna “bairro” seja diferente de ‘Botafogo’. Poderíamos fazer isso manualmente, como fizemos da primeira vez, e desmarcar, no menu que estamos vendo na figura 16, todos os bairros que não são Botafogo, mas vamos explorar uma possibilidade diferente e, neste mesmo menu, selecionar “filtros de texto” (2) e clicar em “Igual a” (3)

Guia passo a passo tratamento de dados com Power bi - figura 16
Figura 16

Na janela que se abre, em “Manter linhas em que ‘bairro’”, basta mantermos, no campo da esquerda, a seleção em “igual a” (1) e, no campo da direita, selecionarmos ou digitarmos “Botafogo” (2) e então ignorar a linha de baixo (poderíamos usar as linhas de baixo caso estivéssemos numa pesquisa que incluísse vários bairros, por exemplo) e clicar em “OK” (3), conforme figura 17.

Guia passo a passo tratamento de dados com Power bi - figura 17
Figura 17

Após isso vemos que agora Botafogo é o único valor para todos os campos da coluna “bairro”, como deveria ser neste caso. Mas ainda temos mais algumas linhas para eliminar, e mais uma oportunidade de usar outro filtro de coluna.

Podemos notar que nas colunas “area”, “quartos”, “vagas-garagem” e “banheiros” nem todos os campos possuem um número inteiro como valor, alguns campos possuem uma faixa de valores (como “66 - 97”), e isto não nos serve, tanto porque precisaremos de números precisos para manipular estes dados, quanto porque este formato nos impedirá de converter o tipo de dados desta coluna em número.

Estas faixas de valores ainda são remanescentes dos anúncios que o site Zap imóveis coloca no meio dos resultados de busca. Para eliminá-los, a partir da coluna “area”, basta clicar no ícone em forma de seta (1) à direita do rótulo da coluna e, no menu que se abre, selecionar “filtros de texto” (2) e clicar em “Não contém” (3), conforme figura 18.

Guia passo a passo tratamento de dados com Power bi - figura 18
Figura 18

Na janela que se abre, em “Manter linhas em que ‘area’”, basta mantermos, no campo da esquerda, a seleção em “não contém” (1) e, no campo da direita, digitarmos “-” (2), um hífen, pois existe (contém) um hífen em todas as linhas que queremos eliminar, e em todas as demais não existe. Então é só clicar em “OK” (3), conforme figura 19.

Guia passo a passo tratamento de dados com Power bi - figura 19
Figura 19

Poderíamos repetir este processo em outras colunas, mas no nosso caso observamos que, ao eliminar estas linhas com faixas de valores tomando por referência a coluna “area”, também não sobrou nenhuma linha com este tipo de dados nas demais colunas (pois eram as mesmas).

Nesta altura, se restou algum anúncio entre os itens buscados, este anúncio está atendendo a todos os nossos critérios de busca, e então podemos considerar que nossos dados estão “limpos”. Mas ainda não padronizados.

Alterar tipos de dados

Para as manipulações futuras que faremos nestes dados é importante que cada coluna contenha dados do “tipo” certo. Existem diferentes tipo de de dados (números inteiros, números decimais, texto, data, verdadeiro-falso, dentre outros).

Esta alteração até pode ser feita após o carregamento dos dados, mas é boa prática e vai nos facilitar no futuro se fizermos isso agora, como parte do ETL.

No nosso caso as colunas “logradouro” e “bairro” serão do tipo texto e todas as demais serão do tipo “número inteiro”.

Para mudar o tipo de dados de uma coluna devemos clicar no símbolo à esquerda do rótulo da coluna (1) e então selecionar o tipo de dados que queremos, “Número inteiro” (2) no caso da coluna “preco-venda”, por exemplo, como podemos ver na figura 20, e então repetir o processo para todas as outras colunas.

Guia passo a passo tratamento de dados com Power bi - figura 20
Figura 20

E então a tabela resultado da nossa consulta por dados de oferta de venda de imóveis da tipologia apartamento no Bairro de Botafogo, no site Zap imóveis, está limpa e padronizada, após as transformações feitas até aqui temos 7 colunas e 913 linhas, como podemos ver na figura 21.

Guia passo a passo tratamento de dados com Power bi - figura 21
Figura 21

Já poderíamos carregar nossos dados para analisá-los. Bastaria selecionar a guia “Página inicial” e clicar em “Fechar e carregar”, mas vamos fazer algo a mais.

Multiplicar a consulta

Nós já temos dois algoritmos “prontos”:

  • Uma função de buscas no site Zap imóveis (buscar-imoveis-zap), que faz o web scraping do site segundo parâmetros construídos na primeira parte do artigo anterior e tem como parâmetro uma “url”, que deve ser dada.
  • Uma consulta específica (zap-botafogo-apto), que consulta as 40 primeiras páginas da busca por ofertas de venda de imóveis da tipologia Apartamento no bairro de Botafogo no site em tela, invocando a função “buscar-imoveis-zap” para isso.

Vamos supor que agora precisamos fazer outra consulta, mas para Casas em Botafogo. Como já vimos no artigo anterior, não poderíamos fazer esta pesquisa de uma vez, pois o site Zap imóveis não apresenta o atributo “tipologia” nos cards das suas páginas de resultado, embora permita filtrar as buscas por tipologia.

Então precisaremos fazer outra consulta, agora nas páginas da busca por ofertas de venda de imóveis da tipologia Casa, no bairro de Botafogo, e então depois poderemos unir as pesquisas.

Primeiro, precisamos ir ao site Zap imóveis e, desta vez, selecionar “Comprar” (1), “Casa” (2), e "Botafogo, Rio de Janeiro” (3), conforme figura 22, e então copiar a URL (4) (não esquecer de marcar também a opção “Endereço completo”, em “mais filtros”, como fizemos no artigo anterior).

Guia passo a passo tratamento de dados com Power bi - figura 22
Figura 22

Esta é a URL para a nova consulta, vamos reservá-la por um momento:

https://www.zapimoveis.com.br/venda/casas/rj+rio-de-janeiro+zona-sul+botafogo/?endereco=completo&onde=,Rio%20de%20Janeiro,Rio%20de%20Janeiro,Zona%20Sul,Botafogo,,,,BR%3ERio%20de%20Janeiro%3ENULL%3ERio%20de%20Janeiro%3EZona%20Sul%3EBotafogo,-22.963785,-43.222283&tipo=Im%C3%B3vel%20usado&tipoUnidade=Residencial,Casa&transacao=Venda

Voltando no tempo

De volta ao Power BI, podemos vislumbrar um pequeno problema. Como vamos criar uma consulta para uma outra tipologia de imóvel, “Casa”, seria fundamental que nossas tabelas possuíssem uma coluna para esta informação. E nossa consulta “zap-botafogo-apto” não a possui, ainda.

Além disso, seria preferível que esta coluna fosse “dinâmica”, que o seu valor, “Apartamento” ou “Casa” ou o que seja, fosse extraído dinamicamente dos dados disponíveis.

Se nós observarmos com cuidado, embora a informação da tipologia do imóvel não exista em nenhum campo de dados, ela existe nas URLs que consultamos, vejam:

https://www.zapimoveis.com.br/venda/apartamentos/rj+rio-de-janeiro+zona-sul+botafogo/?endereco=completo&onde=,Rio%20de%20Janeiro,Rio%20de%20Janeiro,Zona%20Sul,Botafogo,,,neighborhood,BR%3ERio%20de%20Janeiro%3ENULL%3ERio%20de%20Janeiro%3EZona%20Sul%3EBotafogo,-22.951193,-43.180784&tipo=Im%C3%B3vel%20usado&tipoUnidade=Residencial,Apartamento&transacao=Venda
https://www.zapimoveis.com.br/venda/casas/rj+rio-de-janeiro+zona-sul+botafogo/?endereco=completo&onde=,Rio%20de%20Janeiro,Rio%20de%20Janeiro,Zona%20Sul,Botafogo,,,,BR%3ERio%20de%20Janeiro%3ENULL%3ERio%20de%20Janeiro%3EZona%20Sul%3EBotafogo,-22.963785,-43.222283&tipo=Im%C3%B3vel%20usado&tipoUnidade=Residencial,Casa&transacao=Venda

Como podemos ver acima, destacado em vermelho, a tipologia do imóvel buscado, na medida em que é um filtro de busca do Zap imóveis, conforme explicamos no artigo anterior, aparece nas URLs que são nossos parâmetros de busca.

Então poderíamos criar uma coluna dinâmica para a informação da tipologia tomando como referência o valor da coluna “url” da nossa tabela. Todavia, a coluna “url” foi removida na primeira transformação do processo que estamos empreendendo neste artigo, juntamente com a coluna “id-pag”.

De modo que nós precisamos voltar no tempo, numa etapa em que aquela coluna “url” ainda existia, para então criarmos nossa coluna dinâmica com base nela, e então poderemos voltar para o presente.

Voltar no tempo no Power Query possui a simplicidade de um click. Conforme podemos ver na figura 23, à direita da tela, em “Etapas aplicadas”, temos a lista de todas as etapas de transformação realizadas nesta consulta, desde o artigo anterior até este. A etapa em que removemos as colunas “url” e “id-pag” chama-se “Removed Columns”. Se clicarmos sobre o nome da etapa imediatamente anterior, voltaremos para uma etapa em que aquelas colunas ainda existiam (e nenhuma outra transformação posterior ainda havia sido aplicada), como vemos na Figura 23.

Guia passo a passo tratamento de dados com Power bi - figura 23
Figura 23

Adicionar coluna condicional

Para adicionarmos uma coluna condicional, com a guia “Adicionar coluna” (1) selecionada, devemos clicar em “Selecionar coluna” (2), conforme figura 24.

Guia passo a passo tratamento de dados com Power bi - figura 24
Figura 24

Como voltamos no tempo, o Power BI vai nos perguntar se temos certeza que queremos inserir uma etapa, haja visto que a inserção de etapas intermediárias pode afetar as etapas subsequentes (é o risco de um paradoxo temporal). Como sabemos o que estamos fazendo, confirmamos, e então abre-se uma janela semelhante à da figura 25.

Guia passo a passo tratamento de dados com Power bi - figura 25
Figura 25

Nesta janela, vamos inserir a estrutura condicional para a criação da nossa coluna. Quem entende um pouquinho de lógica de programação já sabe o que deve fazer, mas é muito simples de qualquer forma. Basicamente nós queremos que, para cada linha da coluna que estamos criando, se na coluna “url” contiver o valor “Apartamento”, então que seu valor seja “Apartamento”, e se na coluna “url” contiver o valor “Casa”, que seu valor seja “Casa”.

Para isso, na janela da figura 25, em “Nome da nova coluna”, vamos dar o nome de “tipologia” e, na primeira linha da estrutura condicional, que já está visível, em “Nome da coluna” (1), devemos selecionar a coluna “url”, em “Operador” (2), devemos selecionar “Contém”, em “Valor” (3), devemos digitar “Apartamento”, e em “Saída” (4), também devemos digitar “Apartamento”.

Após isso, devemos adicionar uma segunda linha de estrutura condicional, para isso devemos clicar em “Adicionar cláusula” (5).

Guia passo a passo tratamento de dados com Power bi - figura 26
Figura 26

E como podemos ver na figura 26 será adicionada uma segunda linha de estrutura condicional. Nesta segunda linha, em “Nome da coluna” (1), devemos selecionar a coluna “url” novamente, em “Operador” (2), devemos selecionar “Contém” novamente, em “Valor” (3), devemos digitar “Casa”, e em “Saída” (4), também devemos digitar “Casa”.

Poderíamos adicionar quantas linhas quiséssemos à nossa estrutura condicional, uma linha para cada tipologia disponível, por exemplo, caso nossa consulta fosse mais abrangente do que é. A estrutura condicional poderia ainda ser muito mais complexa, envolvendo condições em diferentes colunas e com diferentes operadores. Mas no nosso caso o objetivo já está cumprido, e basta clicar em “OK” (5), conforme figura 26.

E então, como podemos ver na figura 27, temos uma nova coluna “tipologia” que, nesta tabela especificamente, tem o valor “Apartamento” em todos os campos, como seria esperado.

Guia passo a passo tratamento de dados com Power bi - figura 27
Figura 27

Depois disso, basta retornarmos de nossa viagem no tempo. Na coluna à esquerda, em “Etapas aplicadas” (1), devemos clicar novamente na última etapa (2), e estamos de volta ao presente, como podemos ver na figura 28, todas as etapas posteriores de transformação e padronização foram aplicadas normalmente, e nossa coluna “tipologia” continua lá. Apenas precisamos alterar o tipo de dado dela para “texto”, como já fizemos com as demais.

Guia passo a passo tratamento de dados com Power bi - figura 28
Figura 28

Duplicar a consulta

Agora podemos criar nossa nova consulta, referente aos imóveis da tipologia “Casa”, a partir da URL que já deixamos reservada.

Não precisamos recriar a roda, podemos criar uma nova consulta a partir da consulta que já temos. Para tanto vamos duplicá-la, e para isso, ainda conforme a figura 28, na coluna à esquerda “Consultas”, basta clicarmos com o botão direito do mouse em nossa consulta “zap-botafogo-apto” (3) e então clicar em “Duplicar” (4).

Como podemos ver na figura 29, temos uma cópia idêntica da nossa consulta, que podemos renomear para “zap-botafogo-casa” na coluna à esquerda (1).

E então, com a guia “Exibição” (2) selecionada, devemos clicar em “Editor Avançado” (3), para mexermos com mais um pouquinho de código.

Guia passo a passo tratamento de dados com Power bi - figura 29
Figura 29

Na janela que se abre, como podemos ver na figura 30, temos o código, em linguagem M, que é nosso algoritmo de consulta com todas as transformações que fizemos nos últimos dois artigos. Este algoritmo tem 22 linhas e, por enquanto, é idêntico para as duas consultas duplicadas.

Guia passo a passo tratamento de dados com Power bi - figura 30
Figura 30

Já explicamos a estrutura básica de um código em linguagem M no artigo anterior. Como sabemos, cada linha do “bloco” let corresponde a uma das etapas de transformação aplicadas, desde a primeira atividade, na linha 2, na variável Source, em que há uma lista de 1 a 40 (inicialmente era de 1 a 20, mas mudamos no fim do artigo anterior), representada por {1..40}.

Na linha 6 está construído o parâmetro da função (que é invocado na linha seguinte, linha 7). Este parâmetro é uma lista de URLs, que estão na coluna “url” da tabela, que é dinamicamente construída a partir de uma URL padrão e de um número que vai de 1 até a última página que pretendemos pesquisar, e que é definido pela variável “id-pag”, que também é uma coluna na tabela.

O que precisamos alterar, em primeiro lugar, neste algoritmo, é esta URL “padrão”, substituir aquela que coletamos no artigo anterior, e que refere-se a uma busca por imóveis da tipologia Apartamento, pela URL que deixamos reservada alguns passos atrás. E é isso que devemos fazer. Ao substituir a URL, devemos ter o cuidado de manter o trecho &pagina= ao final dela (no artigo anterior explicamos o porquê).

Além da URL, vamos fazer uma segunda alteração, na linha 2, a primeira etapa de transformação, na variável Source, vamos substituir a lista de 1 a 40 por uma lista bem menor, de 1 a 8, apenas porque nós sabemos (nós vimos na figura 22), que existem muito menos casas do que apartamentos a venda em Botafogo, e 8 páginas deve ser o suficiente para capturar todas as menos de 200 ofertas existentes. Após isso, nosso algoritmo vai ficar semelhante ao que podemos ver na figura 31, basta clicarmos em “OK” (1)

Guia passo a passo tratamento de dados com Power bi - figura 31
Figura 31

Depois de alguns minutos de carregamento somos conduzidos de volta à interface do editor de consultas do Power Query, conforme figura 32, e podemos ver que nossa nova consulta está feita, temos uma nova tabela, com 8 colunas e 190 linhas, com todos os dados já devidamente “limpos”, transformados e padronizados.

Guia passo a passo tratamento de dados com Power bi - figura 32
Figura 32

A esta altura já percebemos que, se quisermos fazer qualquer outra consulta, com quaisquer outros parâmetros, bairros, tipologias, etc, no site Zap imóveis, basta aproveitarmos o algoritmo de consulta que já temos, e fazer alguns poucos ajustes, alterar a URL, o tamanho da lista de páginas e, se for o caso, ajustar uma etapa ou outra de transformação (como o filtro que aplicamos à coluna “bairro”, por exemplo), que todo o trabalho de extração, transformação e padronização que fizemos ao longo destes dois artigos será refeito, automaticamente.

Misturar tabelas

Por enquanto estamos satisfeitos com nossas duas tabelas, mas queremos criar uma terceira, que seja a mistura das duas. Para isto, com a guia “Página inicial” (1) selecionada, devemos clicar em “Acrescentar consultas” e depois em “Acrescentar consultas como novas” (2), conforme figura 33.

Guia passo a passo tratamento de dados com Power bi - figura 33
Figura 33

E então, na janela que se abre, basta manter a opção “Duas tabelas” selecionada e, em “Primeira tabela” (1), selecionar qualquer uma de nossas duas tabelas e, em “Segunda tabela” (2), selecionar a outra tabela e clicar em “OK” (3), conforme figura 34.

Guia passo a passo tratamento de dados com Power bi - figura 34
Figura 34

Como podemos ver na figura 35, temos uma terceira tabela, que é a união das duas tabelas anteriores. Podemos renomear esta nova tabela para “zap-botafogo-apto-casa”, na coluna à direita (1).

Guia passo a passo tratamento de dados com Power bi - figura 35
Figura 35

Carregar os dados

Já podemos carregar os dados para que sejam analisados e manipulados. mas antes, um pequeno detalhe. Nosso pequeno conjunto de dados é composto por uma função (que não tem informações para serem carregadas mesmo) e por três tabelas, sendo que a terceira, recém-criada, repete os dados das outras duas. Não precisamos carregar as duas primeiras tabelas portanto, apenas a terceira.

Para isso, na coluna à esquerda, devemos clicar com o botão direito do mouse no nome das tabelas que não queremos carregar (1) e então desmarcar a opção “Habilitar carga” (2), como podemos ver na figura 36.

Guia passo a passo tratamento de dados com Power bi - figura 36
Figura 36

Como pode ser visto na figura 37, os elementos que não serão carregados ficam com seus nomes em itálico.

Agora sim, podemos carregar os dados. Para isso basta selecionar a guia “Página inicial” (1) e então clicar em “Fechar e aplicar” (2), conforme figura 37.

Guia passo a passo tratamento de dados com Power bi - figura 37
Figura 37

E então, depois de alguns minutos de carregamento, estamos de volta à interface principal do Power BI, e lá podemos ver nossa tabela com 8 colunas e 1103 linhas, com os dados devidamente “limpos” e padronizados.

Guia passo a passo tratamento de dados com Power bi - figura 38
Figura 38

Conclusão

Neste artigo, prosseguimos e concluímos nosso processo de ETL (Extract, Transform and Load) iniciado no artigo anterior com a extração de dados via web scraping, e aplicamos transformações, padronizamos e multiplicamos esta consulta.

Podemos salvar novamente nosso projeto. Fazemos isso da mesma forma como fazemos com outros softwares da Microsoft, clicando em “Arquivo” e então em “Salvar”. Os arquivos do Power BI possuem a extensão “.pbix”.

Com estes dois artigos abordamos a essência do Power Query, uma das ferramentas que compõem o Power BI. Em artigos futuros podemos abordar outras funções e ferramentas, como o Power View, que nos permite criar gráficos, mapas e outros elementos visuais interativos e o Power Pivot, que nos permite criar modelos de dados, estabelecer relações e criar cálculos.

Além do blog, o site Inteligência Urbana disponibiliza páginas com referências para livros, cursos e leis e normas relacionadas aos temas que tratamos aqui. Caso você tenha interesse pode conferir nossos serviços oferecidos e entrar em contato quando quiser. Se quiser ser alertado da publicação de material novo pode assinar a nossa newsletter, e muito obrigado pela atenção até aqui!

Principais referências