Baixe o app para aproveitar ainda mais
Prévia do material em texto
DESCRIÇÃO Apresentação dos conceitos de modelagem de dados e o processo de ETL (Extração, Transformação e Carregamento) utilizando o Power Query no Microsoft Power BI para diversas fontes de dados, bem como a linguagem M para as tarefas de limpeza e transformação dos dados. PROPÓSITO A compreensão do procedimento de ETL e da etapa de modelagem dos dados é fundamental para a análise dos dados, uma vez que a ingestão e a transformação dos dados, observando os relacionamentos entre as diversas tabelas, são essenciais para assegurar o enriquecimento da etapa de análise dos dados. PREPARAÇÃO Antes de iniciar este conteúdo, é necessário ter o instalador do Microsoft Power BI Desktop baixado localmente, que pode ser encontrado no próprio site do produto de forma gratuita. Para a instalação da ferramenta, é necessário ter uma máquina com sistema operacional Windows instalado, pois não há alternativas para o Power BI em outros sistemas operacionais. Caso sua máquina utilize sistemas operacionais Mac OS ou Linux, será possível apenas a utilização da versão on-line do Power BI Services, com acesso exclusivamente por uma conta corporativa ou de estudante. Além disso, é necessário baixar os dados públicos disponíveis para download no portal da PRF na internet (procurar por Dados Abertos – Acidentes – Polícia Rodoviária Federal), especificamente os arquivos referentes aos registros de acidentes de trânsito nas estradas federais nos anos de 2019 e 2020. OBJETIVOS MÓDULO 1 Empregar o Power BI na conexão a diferentes fontes de dados MÓDULO 2 Aplicar a modelagem de dados com o Power BI MÓDULO 3 Empregar a linguagem M do Power Query na limpeza e transformação de dados INTRODUÇÃO Neste conteúdo, abordaremos o uso do Power BI, mais especificamente o editor da ferramenta Power Query, para realizar todo o processo de ingestão e transformação dos dados. Esse recurso é extremamente útil para profissionais que atuam nos mais diversos segmentos da indústria, pois é a base para a criação de relatórios e dashboards. O preparo dos dados de forma adequada é fundamental para que as análises realizadas a partir deles sejam ricas de informações e sejam facilmente interpretáveis pelo usuário final. Para atingir esses objetivos, estudaremos aqui: Como fazer a conexão com algumas das principais fontes de dados utilizadas no mercado; Como realizar o processo de ETL no Power Query, utilizando sua interface incrivelmente prática e intuitiva; Como realizar ETL com a linguagem M, que permite a realização de tarefas mais complexas no processo de transformação dos dados. Dessa forma, este módulo vai muito além do ensino dos principais métodos de ETL e de funcionalidades do Power BI. Ele busca demonstrar que o processo de extração e transformação influencia diretamente a tomada de decisões e a forma em que os dados serão interpretados. MÓDULO 1 Empregar o Power BI na conexão a diferentes fontes de dados LIGANDO OS PONTOS Você consegue reconhecer a importância de conectar-se a diferentes fontes de dados? Em que situações práticas seria adequado trabalhar desse modo? Para respondermos a essas perguntas, vamos analisar algumas situações práticas. O Brasil é um país de dimensões continentais com 27 unidades federativas e uma população acima dos 200 milhões de pessoas. Esses números dão uma ideia da diversidade de questões regionais e das mais diferentes demandas da população. Ao perceber essa realidade, um grupo de pesquisadores sem nenhuma vinculação político-partidária se reuniu com o objetivo de estudar as demandas da população brasileira com foco na educação primária. Começaram procurando dados relacionados à educação e se depararam com o primeiro grande desafio em seu estudo: os dados públicos não estão completos, têm diferentes formatos e estão espalhados em diferentes repositórios na internet. Ainda fortemente motivado, o grupo traçou o seguinte plano para realizar seus estudos: Mapear as fontes de dados dos respectivos repositórios. Catalogar as fontes de dados com os formatos dos arquivos, tais como extensões “.txt”, “.csv”, “.odt”, “.xlsx” e tabelas de banco de dados. Relacionar os arquivos com propósitos, ou seja, determinar a que tipo de informação os dados se referem. Mapear as colunas de cada um dos arquivos, o que implica duas ações: determinar sobre o que cada coluna se refere e determinar a que tipo de dado ela está relacionada. No final, os pesquisadores perceberam a necessidade de segmentar o projeto em etapas menores para que a pesquisa, realmente, pudesse avançar. O resultado parcial do trabalho foi divulgado em congressos científicos e oferece muitas oportunidades para que outras pessoas possam contribuir. Você seguiria os mesmos passos dos pesquisadores desse projeto? Após a leitura do case, é hora de aplicar seus conhecimentos! Vamos ligar esses pontos? 3. ANTES DE PROPOR MELHORIAS CONCRETAS PARA A EDUCAÇÃO, OS PESQUISADORES PRECISARAM ESTUDAR OS DADOS. NESSA ETAPA, PERCEBERAM QUE ANALISAR O PROCESSO EDUCACIONAL COMO UM TODO ERA MUITO COMPLEXO E REDUZIRAM O ESCOPO DO PROBLEMA. ESSA DECISÃO FOI CORRETA? COMO VOCÊ CONTINUARIA ESSE PROJETO? RESPOSTA Sim, os pesquisadores tomaram uma boa decisão ao reduzir o escopo do projeto para focar apenas na educação primária. Mesmo assim, eles ainda se depararam com muitos desafios, pois esses dados não estão centralizados nem são armazenados seguindo um padrão específico. Para continuar esse projeto, é necessário aumentar o escopo lentamente, pois é provável que as próximas etapas compartilhem muitos pontos em comum com o que já foi produzido, mas cada novo passo exige muito cuidado para que a consistência seja garantida. POWER BI E SUA INTEGRAÇÃO COM DIVERSAS FONTES DE DADOS A disponibilidade dos dados, bem como a localização destes dentro de uma organização (ou ainda fora dela), pode modificar de forma substancial o modelo de dados utilizado e a ingestão de forma geral. Dados contidos em servidores de bancos de dados, fontes na Web, arquivos de diferentes formatos, entre outras fontes, podem ser inseridos de forma simples pela ferramenta Power BI, valendo a máxima de que nem sempre o fato de ser possível indica o que é o recomendável. javascript:void(0) COMENTÁRIO O Power BI suporta uma grande variedade de fontes de dados, em formatos como planilhas Excel, CSV, XML, JSON, Bancos de Dados (SQL Server, Oracle, MySQL etc.), diversos serviços Azure, Google Analytics, Salesforce, SAP, entre tantos outros. Nos tópicos a seguir, apresentaremos as formas de ingestão dos tipos mais comuns de bases de dados no Power BI, sendo indicada aqui a instrução de como conectar a diferentes tipos de bases, não sendo, portanto, abordados conceitos de configuração de bancos de dados. Para facilitar o entendimento, imagine uma empresa na qual se deseja construir um relatório de despesa, com a finalidade de monitorar os custos de projetos em uma área. Esse relatório pode depender de dados de acompanhamento de projeto extraídos de ferramentas de gestão, informação de pessoal em planilhas do Excel, despesas lançadas no ERP (Enterprise Resource Planning ou, em português, Sistema de Gestão Integrada) da empresa e cotação de dólar em uma fonte on-line. Tudo isso é possível utilizando apenas o Power BI, por meio de uma ferramenta denominada Power Query, que permite o chamado self-service BI, ou seja, o usuário final consegue fazer a conexão de diversas fontes de dados e realizar transformações com muita facilidade por meio de uma interface amigável. ATENÇÃO A ferramenta Power Query está disponível para diversos softwares da Microsoft: Excel, Power BI, SQL Server Analysis Services, Power Apps. Neste módulo, exploraremos o editor do Power Query no Power BI. Nos próximos módulos, também exploraremos essa ferramenta imprescindível quando falarmos de outras funcionalidades do Power BI. IMPORTANTE O Power BI permite de forma muito clara que o usuário realize o processo de ETL (Extraction- Transformation-Loading)que, em tradução direta, significa Extração-Transformação-Carregamento. No entanto, aqui vale a ressalva de que, por vezes, utilizaremos o termo “Carregamento” para nos referirmos à primeira etapa, de Extração; isso pode ser observado inclusive nas opções dentro do próprio Power BI, onde o verbo Carregar é usado para concluir a obtenção dos dados a partir de determinada fonte. Portanto, fique atento à terminologia para não confundir com o conceito de ETL. As conexões do Power BI possuem duas direções: Na extração (“E” de ETL) Trata-se de fontes de dados para obtenção dos dados necessários à análise. No carregamento (“L” de ETL) Trata-se de destino dos dados em um formato próprio para a análise. Você já deve ter percebido que, usualmente, o Power BI Desktop cria um único arquivo com extensão .pbix, que contém tanto os dados extraídos das fontes e transformados ao longo do processamento (Extração e Transformação) quanto os relatórios e dashboards criados sobre os dados “carregados”. COMENTÁRIO Note que a etapa de Carregamento do processo ETL ocorre no mesmo arquivo, confundindo-se com a saída das transformações, de modo que as camadas de dados analíticos e de aplicação de análise ficam incorporadas no mesmo arquivo. Uma boa prática em projetos de BI é a separação das camadas de aplicação e de dados, o que faz sentido quando a mesma base de dados é compartilhada por aplicações diversas. Isso é possível de ser feito com o Power BI Service, como ilustra a imagem a seguir, disponível no tutorial da Microsoft, em que o arquivo PBIX 1 com o modelo de dados é compartilhado por diferentes aplicações com relatórios e dashboards (PBIX 2 e PBIX 3). ACESSANDO MENU COM TODAS AS FONTES DE DADOS O menu Obter Dados na tela inicial do Power BI permite acessar as diversas outras fontes de dados disponíveis, bastando clicar em “Tudo” para ter uma lista completa. Captura de tela do software Power BI. Ao clicar, observe que uma janela com todas as fontes de dados suportadas pelo Power BI será listada, sendo que as mais usuais estão entre as primeiras opções. O usuário ainda tem a opção de buscar alguma fonte específica, tanto pelo campo de busca ou filtrando por tipo de fonte, seja ela um arquivo, bancos de dados, serviços Azure, entre outros. ATENÇÃO As fontes de dados disponíveis no Power BI estão em contínua expansão e, portanto, novas conexões aparecerão marcadas como Beta. Essas fontes possuem funcionalidade e suporte limitados e não se recomenda usá-las em ambientes de produção. CARGA DE ARQUIVOS CSV Inicialmente, discutiremos sobre o carregamento no formato mais trivial, o CSV (comma-separated values), que, em português, é traduzido como valores separados por vírgula. VOCÊ SABIA Uma curiosidade é que, por mais que os arquivos CSV sejam separados por vírgula, ao utilizar, por exemplo, o Microsoft Excel no idioma português, o separador deixa de ser a vírgula (,) e passa a ser o ponto e vírgula (;). Isso se deve ao fato de que, no Brasil, o separador decimal adotado é a vírgula, enquanto nos Estados Unidos, por exemplo, adota-se o ponto. Portanto, para que não haja confusão entre os separadores decimais e o separador empregado para os valores da tabela, no Brasil, atenção ao lidar com arquivos CSV de fontes que utilizem padrões distintos. Utilizaremos, como exemplo, os dados públicos referentes aos registros de acidentes de trânsito nas estradas federais, disponíveis para download no portal da internet da Polícia Rodoviária Federal (PRF), conforme mencionamos no tópico Preparação deste conteúdo. ATENÇÃO A razão de nos limitarmos aos dados de 2019 e 2020 é o tamanho dos arquivos. De posse dos dados, podemos iniciar o carregamento dos arquivos CSV. Primeiramente, faremos a carga apenas dos dados de 2020, seguindo estes passos: 1. Na página inicial do Power BI, clique no botão Obter Dados. 2. Em seguida, clique no botão Texto/CSV. Captura de tela do software Power BI. 3. Selecione o arquivo “acidentes2020.csv”. Captura de tela do software Power BI. Na tela seguinte, o Power BI exibirá uma pré-visualização dos dados, com os 200 primeiros registros. Captura de tela do software Power BI. Alguns detalhes importantes devem ser observados nesta etapa. O primeiro ponto é o preenchimento do campo “Origem do Arquivo”. No exemplo utilizado, o Power BI preencheu com a codificação “1251: Europeu Ocidental (Windows)”; no entanto, esse campo deve estar configurado para o padrão “65001: Unicode (UTF-8)”. Esse formato garante a codificação correta dos textos do idioma português do Brasil. Observe, na imagem a seguir, como a codificação atrapalha na interpretação dos dados: Antes - “1251: Europeu Ocidental (Windows)” versus Depois - “65001: Unicode (UTF-8)”. Captura de tela do software Power BI. O segundo ponto é o campo delimitador, que está pré-configurado para “ponto e vírgula” (;). Atente-se ao fato de que esse campo deve ser corretamente configurado, uma vez que o uso do separador de texto incorreto não permitirá a quebra do texto em colunas. Lembrando que essa configuração é válida para arquivos CSV e TXT. Captura de tela do software Power BI. O último ponto que deve ser observado é se os cabeçalhos foram automaticamente identificados. Se o usuário optar por não adotar a identificação automática do cabeçalho, deve selecionar a opção “Não detectar tipos de dados” no campo “Detecção de Tipo de Dados”. Para demonstrar os casos em que essa identificação automática não ocorre e deve ser executada em fase posterior, faremos a adoção da opção “Não detectar tipos de dados”. Poderá ser observado que os cabeçalhos foram passados para a segunda linha da tabela, enquanto os novos cabeçalhos foram automaticamente com a palavra Column e o número da coluna. Antes de entrarmos em mais detalhes acerca da transformação dos dados, que será vista no módulo seguinte, faremos uma introdução à leitura de outras fontes de dados. ATENÇÃO Vale a observação de que o processo tende a ser muito similar, principalmente para dados já estruturados, como arquivos Excel, CSV, TXT, Bancos de Dados etc. CARGA DE ARQUIVOS EXCEL Para carregar dados nos formatos compatíveis com o Microsoft Excel, como .xlsx, .xls, .xlsm etc., o procedimento não difere muito do que foi utilizado para o carregamento de arquivos CSV, inclusive é mais simples, uma vez que o acesso pode ser feito por meio de um botão diretamente via página inicial do Power BI. Captura de tela do software Power BI. ATENÇÃO Ao clicar, observe que será solicitado o caminho do arquivo, neste caso, .xlsx. Com o carregamento do arquivo, será aberta uma tela de navegação pela planilha ou pelas planilhas que forem carregadas. Nesse caso, trata-se apenas de uma planilha, e para visualizar uma prévia dos dados, basta clicar na planilha, na coluna de Opções de Exibição, no lado esquerdo. A prévia dos dados contempla todas as colunas, estas inclusive já identificadas, no entanto, o número de registros é truncado. Captura de tela do software Power BI. Note que, para visualização, basta clicar na planilha, porém, para carregar ou transformar os dados, deve-se selecionar a caixa de seleção no lado esquerdo do nome do arquivo. CARGA DE ARQUIVOS A PARTIR DE PASTA Imagine que uma empresa faça todo o seu registro de vendas com frequência mensal, em arquivos que possuem a mesma extensão, com tabelas que possuem as mesmas colunas e são indexadas pela data. O Power BI fornece uma forma simples de fazer o carregamento automático de todos esses registros, por meio do carregamento de uma Pasta ou Folder. Essa opção é encontrada no menu Obter Dados, na opção Pasta. Captura de tela do software Power BI. Ao clicar no botão “Conectar”, no canto inferior da janela, abre-se uma janela com caixa de texto para preencher o caminho da localização da pasta. Captura de tela do software Power BI. Para compreendermos melhor o emprego do carregamento por pastas, utilizaremos nosso exemploanterior, com dados da PRF. Esses arquivos estão separados por ano. Seguindo os passos anteriores, ao clicar em “Procurar...”, encontre o diretório onde salvou a pasta com os dados da PRF, especificamente os arquivos acidentes_2019.csv e acidentes_2020.csv. Na sequência, uma janela com os arquivos contidos na pasta aparecerá, contemplando algumas informações básicas dos arquivos carregados. Para avaliação dos dados combinados, clique no botão “Combinar”; então, duas opções serão exibidas: clique na primeira “Combinar e Transformar Dados”. Por mais que ainda não seja o momento de realizar as transformações de dados, será possível identificar o resultado da combinação dos arquivos. Captura de tela do software Power BI. A janela “Combinar Arquivos”, exibida na sequência, contempla basicamente as mesmas opções observadas na explicação anterior de carregamentos de arquivo CSV. O destaque aqui é a opção “Arquivo de Amostra”, que nos permite pré-visualizar os arquivos carregados, configurando-os individualmente nas opções “Origem do Arquivo” e “Delimitador”; o primeiro deverá receber a configuração “65001: Unicode (UTF-8)” e, no segundo, selecione a opção “Ponto e Vírgula”. Esse procedimento é similar ao que realizamos na etapa de carga de arquivos CSV. Captura de tela do software Power BI. Finalizada a configuração dos arquivos, clique em “OK”. Será aberta uma nova janela do Power BI, o Editor do Power Query, que será explorado no próximo módulo. O único ponto relevante que vale frisar aqui é que a primeira coluna foi criada automaticamente e foi intitulada como “Nome da Origem”, que nada mais é do que o arquivo de origem de cada um dos registros. ATENÇÃO Na pasta que será consultada, os arquivos lá contidos deverão apresentar o mesmo formato. Colunas presentes em um dos arquivos serão consideradas, sendo preenchidas apenas no arquivo de origem, nas demais colunas receberão o valor “null”. CARGA DE ARQUIVOS A PARTIR DA WEB Agora, realizaremos a carga de dados de duas formas: Via página da Web Carregando dados diretamente da página. Via API (Application Programming Interface) De forma muito simplificada, é um software que permite que duas aplicações “conversem” entre si. Para fazer o carregamento via página da Web, utilizaremos um exemplo básico de uma página que contém tabelas, neste caso, uma página da Wikipedia com as informações relativas a todas as unidades federativas do Brasil: https://pt.wikipedia.org/wiki/Unidades_federativas_do_Brasil#Estados. Clique em “Obter dados” e, em seguida, selecione a opção “Web”. Captura de tela do software Power BI. Uma janela aparecerá. Mantenha a opção “Básico” marcada e, no campo “URL”, entre com o endereço conforme imagem a seguir e clique em OK para continuar. Captura de tela do software Power BI. Na sequência, a janela “Navegador” do Power BI será exibida e, então, buscaremos entre todas as tabelas que foram automaticamente identificadas aquela que contém efetivamente as informações relativas às unidades federativas. Note que os dados são exibidos na aba “Exibição de Tabela” e que a visualização da página completa pode ser feita via aba “Exibição da Web”. Definida a tabela, basta clicar em “Carregar” ou, se for o caso, “Transformar Dados”. Captura de tela do software Power BI. O carregamento de dados na Web pode ocorrer também via API, como dito anteriormente. Utilizaremos uma API de teste, que realiza consulta de dados no formato JSON (Java Script Object Notation). Para isso, realizaremos novamente uma consulta por fonte de dados Web. No entanto, aqui, clicaremos na opção “Avançadas” e entraremos com a URL dividida em duas partes, como ilustrado a seguir: 1. Entre com o endereço https://jsonplaceholder.typicode.com/ na primeira parte da URL. 2. Na segunda parte da URL, escreva “users”. Observe que o campo visualização da URL será automaticamente preenchido. Captura de tela do software Power BI. Ao clicar em OK, o editor do Power Query será aberto. Note que o Power BI tenta automaticamente executar algumas etapas de transformação. Neste caso, observe que as alterações foram corretas, e os dados, em formato JSON, foram automaticamente convertidos para a disposição correta. ATENÇÃO Nem sempre as modificações serão suficientes ou atenderão o propósito desejado, sendo necessário que o usuário faça as modificações pertinentes nos dados. Captura de tela do software Power BI CARGA DE ARQUIVOS A PARTIR DE BANCO DE DADOS SQL SERVER Para carregar dados a partir de um banco de dados SQL Server, utilizaremos o Banco de dados de exemplo AdventureWorks. Siga o passo a passo do link para criar uma cópia local do banco de dados https://docs.microsoft.com/pt-br/sql/samples/adventureworks-install-configure?view=sql-server-ver15&tabs=ssms ou, se preferir e tiver acesso, utilize um banco de dados SQL Server à sua escolha para fazer a conexão direta com o Power BI. Novamente, o primeiro passo é acessar a opção da fonte de dados SQL Server, por meio do botão “SQL Server” disponível na faixa de atalhos, ou também clicando no botão “Obter dados”, onde a opção “SQL Server” também está disponível. Captura de tela do software Power BI. ATENÇÃO Todas as opções podem ser acessadas em “Obter dados” e na opção “Tudo”, basta filtrar pelo tipo de fonte de dados, ou até mesmo buscá-la diretamente pelo nome. A tela seguinte requer a entrada de informações básicas de acesso ao banco de dados do SQL Server, como o nome do servidor e o nome do banco de dados. Captura de tela do software Power BI. Aqui, devemos ter atenção com o modo de conectividade de dados selecionado. São eles: IMPORTAR Ao importar os dados, carregamos uma cópia desses dados no Power BI. Esses dados importados consomem memória RAM e espaço no disco, uma vez que os dados estão armazenados em arquivos. DIRECTQUERY Neste caso, não estamos carregando dados no Power BI. Eles permanecem em sua fonte de dados original, sendo armazenados no Power BI apenas os metadados, que consistem nos dados sobre os dados, ou seja, armazenam-se nomes de tabelas e colunas, tipos dos dados e relacionamentos. A principal vantagem é não ser limitado pelo hardware. Não será passada aqui nenhuma opção avançada, como, por exemplo, uma instrução SQL. Esse tipo de comando pode ser utilizado para direcionar a consulta a alguma tabela ou schema específico do banco de dados objeto da consulta. Na sequência, entre com suas credenciais de acesso ao banco de dados e clique em “Conectar”. Captura de tela do software Power BI. Selecione a tabela ou as tabelas que deseja trabalhar e clique em “Carregar”. Captura de tela do software Power BI. ATENÇÃO Em ambientes de teste, a autenticação no banco de dados pode ser feita de maneira explícita, inserindo os dados de usuário e senha. Em um ambiente de produção, o método Windows authentication é tipicamente adotado. COMENTÁRIO Observe que o procedimento de conexão com outros tipos de SGBD (Sistema de Gerência de Banco de Dados), além do SQL Server, ocorre de forma similar, inserindo as informações do servidor (server), do banco de dados (database) e as informações de autenticação do usuário, podendo, ainda, ser passada uma instrução em SQL antes de clicar em OK para dar sequência à conexão. CARGA DE ARQUIVOS A PARTIR DE BANCO DE DADOS GOOGLE BIG QUERY Uma das grandes vantagens do Power BI é a enorme gama de fontes de dados que podemos acessar, de forma rápida e intuitiva. Entre as fontes de dados on-line frequentemente utilizadas no mercado, faremos uma consulta a um banco de dados no Google Big Query, que é um SGBD relacional conhecido como “o banco de dados da Google para Big Data”. Para realizar a consulta, clique no botão “Obter Dados” e filtre por Banco de Dados. Selecione a opção “Google Big Query” e clique em Conectar. Captura de tela do software Power BI. Na tela seguinte, será solicitada a autenticação via Google e, uma vez concluída a autenticação, basta clicarem “Conectar”. O carregamento pode levar algum tempo, dependendo da qualidade de conexão com a internet, visto que se trata de banco de dados armazenado em nuvem. Captura de tela do software Power BI. Na tela seguinte, os projetos existentes serão exibidos. Então, basta localizar a tabela ou tabelas que deseja utilizar e clique em “Carregar” ou “Transformar Dados”. Captura de tela do software Power BI. ATENÇÃO O processo aqui detalhado também serve para acessar a API do Google Analytics: um serviço oferecido pela Google para análise de estatísticas de visitação de websites. Assim como o Google Big Query, também requer autenticação na plataforma Google. Neste caso específico, acessaremos um Serviço On-line diretamente pelo Power BI. CARGA DE ARQUIVOS A PARTIR DE SCRIPT PYTHON Uma das vantagens do Power BI é a fácil implementação de scripts Python na importação de conjuntos de dados, de forma prática, para os usuários habituados a trabalhar com a linguagem. Para essa etapa, será necessário instalar o Python em seu computador, caso já não o tenha instalado, bastando seguir as instruções no site da própria linguagem Python. Recomenda-se versões acima da 3.6. Para realizar a integração com o Power BI, duas bibliotecas são necessárias: PANDAS É uma biblioteca largamente utilizada para manipulação e análise de dados. Oferece estruturas de dados e operações para manipular tabelas numéricas e séries temporais. Os dados importados devem estar em uma estrutura de dados do Pandas, caracterizada pela bidimensionalidade, ou seja, são organizados em linhas e colunas. São conhecidos como Pandas DataFrames. MATPLOTLIB É uma biblioteca utilizada para geração de gráficos a partir de dados oriundos de Pandas DataFrames ou, então, de dados vetorizados. Uma das dependências instaladas juntamente com o Matplotlib é a biblioteca Numpy, largamente utilizada para trabalhar com vetores, matrizes e operações matemáticas entre essas estruturas. Após a instalação do Python, acesse o prompt de comando do Windows para a instalação das bibliotecas citadas, utilizando a ferramenta pip, que já acompanha as versões mais recentes do Python: > pip install pandas > pip install matplotlib ATENÇÃO Como carregaremos um arquivo Excel (.xlsx), devemos instalar, também, as bibliotecas a seguir, bastando escrever seus nomes separados por espaço: > pip install fsspec xlrd openpyxl O próximo passo consiste na habilitação do uso de scripts Python no Power BI. Para isso, basta acessar Arquivo > Opções e Configurações > Opções > Script do Python. Captura de tela do software Power BI. Tenha atenção com o diretório base do Python que foi detectado, pois essa opção deve apontar para o diretório onde o Python foi instalado. Feito isso, basta clicar em “OK”. Para executar um script Python e realizar a importação de dados, basta ir até o menu “Obter Dados”, selecionar a opção “Outros”, depois, a opção “Script do Python” e clique em “Conectar”. Captura de tela do software Power BI. A janela Script do Python aparecerá. Será necessário, então, entrar com o comando a seguir para que os dados sejam carregados: Captura de tela do software Power BI. Ao clicar em “OK”, a janela de navegação dos dados aparecerá. Então, basta selecionar a tabela que foi carregada e clicar em “Transformar Dados” ou em “Carregar”. Captura de tela do software Power BI. COMENTÁRIO Lembre-se de que, no próprio script do Python, utilizando as funções do Pandas, é possível realizar diversas manipulações de dados, bem como criação de novas colunas, filtros, alterações de tipo e dos nomes das colunas, além da realização de operação nas colunas ou até mesmo entre as colunas. Nesse caso, o Python absorveria toda a etapa de ETL realizada no Power BI. Trata-se de mais uma facilidade proporcionada pelo Power BI aos usuários que utilizam linguagens de programação como o Python. CONEXÃO A FONTES DE DADOS NO POWER BI Para finalizar este módulo, assista a um resumo do módulo, com foco em conexões a diferentes fontes de dados no Power BI, no vídeo a seguir. VERIFICANDO O APRENDIZADO MÓDULO 2 Aplicar a modelagem de dados com o Power BI LIGANDO OS PONTOS Você sabe o que é uma modelagem de dados? Como você faria para extrair informação de um conjunto de dados que gerasse oportunidades de negócios? Para respondermos a essas perguntas, vamos analisar algumas situações práticas. A empresa de mineração Aço para o Progresso S.A., organização fictícia, é uma grande produtora de ferro que possui diversas minas em operação na região Sudeste do Brasil. Nessas minas, operam equipamentos de pequeno, médio e grande porte com diferentes objetivos. Esses equipamentos são fundamentais para realizar extração, transporte e processamento do minério. Portanto, precisam passar por inspeções diárias, manutenções preventivas, preditivas e corretivas e ter um controle de telemetria para localizar em que ponto da mina estão operando e se está tudo funcionando corretamente. Todos os dados são armazenados em diferentes formatos e sistemas que, na maioria das vezes, não se comunicam, mas que, claramente, são complementares para ter uma visão total do processo. O presidente da Aço para o Progresso S.A. contratou uma consultoria para modelar as diversas fontes de dados de modo que representassem o processo como um todo. Os consultores conduziram o trabalho nas seguintes etapas: Compreensão dos processos da mineradora com previsão de conclusão em três meses. Mapeamento dos dados nos processos com tempo estimado de dois meses. Criação de um modelo que represente os processos e seu relacionamento com os dados com previsão de término de três meses. Importação dos dados para um banco centralizado já modelado na etapa anterior para representar os processos com tempo estimado de três meses. Apresentação do sistema para a diretoria da Aço para o Progresso S.A. A diretoria ficou muito satisfeita com o resultado do trabalho e todos concordaram que este deve continuar, pois há um grande potencial de benefícios ao analisar os dados agregados. Você desenvolveria uma estratégia semelhante para modelar os dados da Aço para o Progresso S.A.? Após a leitura do case, é hora de aplicar seus conhecimentos! Vamos ligar esses pontos? 3. CONSIDERE O SEGUINTE CENÁRIO: VOCÊ FOI CONTRATADO PARA TREINAR ALGUNS DOS ANALISTAS DA AÇO PARA O PROGRESSO S.A. NA MODELAGEM DE DADOS. SEU TRABALHO É MUITO IMPORTANTE E, SE FOR BEM-SUCEDIDO, VOCÊ DARÁ OUTROS TREINAMENTOS NA EMPRESA. NESSE CENÁRIO, QUAL SERIA A ESTRATÉGIA QUE VOCÊ ADOTARIA? RESPOSTA Ensinar pessoas sempre é um grande privilégio e uma oportunidade de aprender também através da natural troca de experiências. No cenário descrito, é importante entender que um treinamento deve resultar em profissionais qualificados. Portanto, a melhor forma de aprender modelagem é trabalhar em um exemplo real, porém pequeno, em que seja possível verificar a aplicação dos conceitos na prática com a utilização de uma ferramenta específica para modelagem. INTRODUÇÃO À MODELAGEM DIMENSIONAL NO POWER BI Conforme visto no módulo anterior, podemos utilizar diversas fontes de dados com o Power BI. Isso significa que, quando trabalhamos em relatórios mais complexos, nos quais são extraídos dados de diferentes origens, é importante que eles estejam conectados da forma apropriada e com as transformações necessárias, estando prontos para uso. Essa etapa primordial consiste na modelagem de dados. javascript:void(0) COMENTÁRIO Um bom modelo de dados contribui para uma rápida exploração dos dados, facilita as agregações e manutenções futuras. Em outras palavras, é uma boa prática de mercado construir modelos de dados mais robustos, pensando justamente na facilidade com que eles serão consumidos e mantidos pelos times da sua organização. Em geral, modelos de dados pequenos são compostos por um número menor de tabelas e de colunas para cada tabela. Isso pode contribuir em alguns aspectos, por exemplo,deixando essa visualização mais intuitiva para o usuário e de execução mais rápida. EXEMPLO Imagine uma tabela com 100 colunas e outra com 30 colunas; provavelmente, a tabela com 30 colunas será mais facilmente trabalhada, uma vez que analisar 100 colunas de uma tabela chega a ser inviável. Para que isso não aconteça, tente extrair apenas aquilo que for relevante para sua análise, evitando que a própria visualização e compreensão dos dados não fique terrivelmente complexa. Seja objetivo quando criar seu modelo de dados. A seguir, pode ser observado um modelo de dados de exemplo, similar ao modelo de entidades e relacionamentos usado em projeto de banco de dados, em que as tabelas são representadas por caixas. Cada caixa apresenta uma lista com todas as colunas presentes, e as linhas representam os relacionamentos entre as tabelas. ATENÇÃO Devemos ter cuidado ao criar esses relacionamentos, pois, mesmo em modelos mais simples, as relações podem ficar complexas. Nos relacionamentos entre tabelas, destacamos alguns conceitos importantes. São eles: CHAVE PRIMÁRIA (PRIMARY KEY) Identificadores únicos de uma tabela que não podem ser nulos. CHAVE ESTRANGEIRA (FOREIGN KEY) Referência em uma tabela a uma chave primária de outra tabela. Os relacionamentos entre tabelas são formados quando você tem chaves primárias e estrangeiras em comum entre tabelas diferentes. O Power BI permite que isso seja facilmente implementado. Imagine que há uma tabela Condutores. A chave primária dessa tabela poderia ser a coluna id_condutor. Essa tabela pode ser relacionada com outra tabela – por exemplo, Veículos – a partir de uma chave estrangeira nesta tabela, também denominada id_condutor, que fará o relacionamento entre o condutor, identificado na tabela Condutores, com o veículo correspondente àquela pessoa na tabela Veículos. Se uma dessas tabelas fosse oriunda de um arquivo CSV e a outra, de um banco de dados relacional, o relacionamento criado irá permitir que elas sejam tratadas como um conjunto de dados unificados. O esquema de dados gerado a partir da criação do relacionamento das tabelas poderá ser, por exemplo, do tipo esquema estrela, que é otimizado para melhor desempenho e usabilidade nas consultas analíticas. É um método bastante popular, estudado em conteúdos que tratam da modelagem dimensional para BI, introduzido por Ralph Kimball nos anos 1990. Nesse tipo de esquema, cada tabela dentro de seu conjunto de dados é definida como: TABELA DE FATOS Apresenta valores de dados observacionais ou de evento, como pedidos de venda, contagens de produtos, preços, datas e horas de transação e quantidades. Pode conter valores repetidos. Nela, é bastante comum observar colunas preenchidas com números e datas. TABELA DE DIMENSÕES Apresenta detalhes sobre os dados nas tabelas de fatos: produtos, locais, funcionários e tipos de pedido. É conectada à tabela de fatos por meio de colunas de chave. É usada para filtrar e agrupar os dados nas tabelas de fatos. Normalmente, as tabelas de fatos são muito maiores do que as tabelas de dimensões, pois um número grande de eventos ocorre em tabelas de fatos, como vendas individuais. As tabelas de dimensões geralmente são menores, porque se limitam ao número de itens que sejam passíveis de filtros e agrupamentos. MODELOS DE DADOS DO EXEMPLO PRÁTICO Agora, vamos partir para o estudo de um exemplo prático com os dados de ocorrências nas rodovias federais, visto no módulo anterior. Nesta etapa, além das informações de acidentes no site da PRF, baixe, também, os dados agrupados por ocorrência. Mas lembre-se de baixar os dados referentes ao ano de 2020 para os dois casos. Como, para este exemplo, há dois arquivos que possuem dados complementares, vamos utilizar o método de extração de arquivo, frequentemente denominado carregamento, a partir de uma pasta. Assim, será mais fácil fazer a combinação. Para isso, certifique-se de que os arquivos de “acidentes” e “datatran2020” estejam na mesma pasta. Siga os passos de carga descritos no módulo anterior e selecione “Combinar e Carregar”. Dessa forma, o Power BI identificará as colunas nos dois arquivos que tornam possível a transformação desses arquivos em uma tabela apenas. Captura de tela do software Power BI. Em seguida, a janela de combinação de arquivos será aberta, e a opção de “Arquivo de Amostra” estará disponível para escolha. Captura de tela do software Power BI. A opção “Primeiro arquivo” é o formato da tabela única que será criada após a execução da função de “Combinar Arquivos” do Power BI. Mas é importante que os passos básicos vistos anteriormente também sejam executados nas tabelas base. Não deixe de selecioná-las e fazer as transformações necessárias, como, por exemplo, trocar a origem do arquivo de “1252: Europeu Ocidental” para “65001: Unicode (UTF-8)”. Existem outras formas de unir as informações, mas, pela facilidade em unir os arquivos e por ser um método bem simples de ser executado, este é o mais importante para ser compreendido. Outra maneira de relacionar arquivos é por meio do gerenciamento de relacionamentos. Para isso, basta carregar os conjuntos de dados que deseja unir, fazer os tratamentos iniciais, e o Power BI sozinho identificará as chaves que conectam as duas ou mais tabelas. Ao contrário do outro método, neste caso, teremos duas tabelas na aba “Campos”. A seguir, vemos um exemplo de como o Power BI automaticamente encontra as chaves das tabelas: Captura de tela do software Power BI. De toda forma, realizar a inclusão ou remoção de relacionamento entre tabelas é uma tarefa simples. Para remover um relacionamento, clique com o botão direito do mouse no relacionamento e selecione “Excluir”. Para criar um relacionamento, arraste e solte os campos que deseja vincular entre as tabelas. Para ocultar uma tabela ou coluna individual, basta clicar com o botão direito na tabela ou na coluna onde é exibido o Modelo e selecione Ocultar na exibição do relatório. Se quiser verificar de forma detalhada os relacionamentos entre suas tabelas, vá até a guia Página Inicial, selecione “Gerenciar Relações”. A caixa de diálogo “Gerenciar Relações” exibe seus relacionamentos como uma lista em vez de um diagrama visual. Na caixa de diálogo, você pode selecionar “Detecção automática” para localizar relacionamentos em dados novos ou atualizados. Se for o caso, selecione “Editar” para modificar seus relacionamentos. Você também encontrará opções mais avançadas na seção “Editar” para definir a Cardinalidade de seus relacionamentos. As opções de cardinalidade são: UM PARA MUITOS (1..*) Este é o relacionamento padrão e mais comum. A coluna de uma tabela pode ter mais de uma instância de um valor. A tabela relacionada (ou tabela de pesquisa) tem apenas uma instância do valor. UM PARA UM (1..1) A coluna de uma tabela tem apenas uma instância de um valor específico, e a outra tabela relacionada tem apenas uma instância de um valor específico. DICA De forma geral, devemos evitar o uso de relacionamentos bidirecionais, uma vez que eles podem comprometer o desempenho da consulta de modelo e até mesmo confundir os usuários. TRANSFORMAÇÕES INICIAIS DO MODELO Com as tabelas carregadas e os ajustes básicos feitos, clique em “Transformar dados” na aba “Página Inicial”. Captura de tela do software Power BI. Essa tela é a responsável por fazer as transformações que podem ser necessárias na base de dados. Assim como no Excel, o usuário tem uma quantidade incrível de recursos disponíveis no Power BI. Da mesma forma, essa grande variedade de opções pode confundir e atrapalhar o aprendizado, pois a maioria dos recursos é raramente utilizada. Portanto, vamos passar pelos instrumentos mais utilizados na etapa de transformação dos dados e mostrar o passo a passo de como aplicá-los. 1. Substituir valores Este é um comando bem simples. Não há nada de diferente em relação ao comando do Excel e de outros softwares utilizados para a análisede dados. Está localizado na aba “Transformar”. Captura de tela do software Power BI. 2. Remover linhas As principais funções deste recurso são: Remover Duplicadas; Remover Linhas em Branco; Remover Erros. Captura de tela do software Power BI. 3. Alterar os tipos de dados de uma coluna Como já mostrado algumas vezes, o Power BI automatiza com sucesso muitas etapas na transformação dos dados, mas alguns equívocos podem acontecer. Um deles é definir o tipo errado para uma coluna de dados. O mais comum está relacionado aos textos com números. Por exemplo, caso um conjunto de dados tenha uma coluna de CEP ou CPF/CNPJ, o Power BI pode entender que essa coluna é um número, mesmo não sendo, e cortar todos os zeros que estão à esquerda. Ao lado de cada coluna na tabela de dados, existe um ícone que ajuda a identificar a forma que o Power BI categorizou a coluna. Ao clicar nesse ícone, é possível escolher outras categorizações para a coluna. Captura de tela do software Power BI. 4. Dividir coluna Com este recurso, é possível separar a coluna a partir de algumas definições, sendo a principal forma por delimitador. Nas tabelas de exemplo, temos uma coluna de identificação de delegacias, que pode ser importante separar em duas colunas: a primeira com a identificação da delegacia e a segunda com a UF. Captura de tela do software Power BI. Ao selecionar a coluna e clicar em “Dividir Coluna por Delimitador”, é possível determinar o delimitador e criar uma coluna nova com as informações separadas. Captura de tela do software Power BI. 5. Adicionar coluna São vários os recursos dentro da opção de adicionar uma coluna, tanto que o Power BI criou uma aba apenas para essa função. Captura de tela do software Power BI. Dentre os recursos, temos: COLUNA DE EXEMPLOS O usuário pode determinar um padrão para a coluna que ele quer adicionar a partir de uma coluna selecionada. Por exemplo, ao selecionar uma coluna de CPF que não possui máscara, o usuário pode criar essa máscara apenas na primeira célula. O Power BI fará a adição da máscara em todas as outras células da coluna. COLUNA PERSONALIZADA O usuário pode criar uma coluna utilizando a linguagem M do Power Query. Este tópico será abordado no próximo módulo. COLUNA CONDICIONAL Com esta função, é possível criar regras ao adicionar uma nova coluna, ou seja, definir o que fará e o que não fará parte da coluna nova. Por exemplo, nas tabelas que estamos usando neste módulo, existe uma coluna com as informações do horário do acidente. Pode ser interessante divulgar a informação de quais turnos apresentam mais acidentes por região. Para criar a coluna dos turnos, o usuário pode adicionar uma coluna condicional e dizer que os acidentes ocorridos entre 00:00 e 08:00 pertencem ao turno 1, os acidentes ocorridos entre 08:00 e 16:00, ao turno 2, e os acidentes ocorridos entre 16:00 e 24:00, ao turno 3. Além dessas transformações, é possível trocar os formatos das colunas, extrair informações, fazer cálculos e transformações com base em data, hora e duração. 6. Localizar anomalias e estatística de dados Com esta funcionalidade, é possível verificar se existem anomalias nos dados da tabela. É uma forma rápida de identificar se as colunas possuem muitas células vazias ou com erros, analisar a distribuição dos dados e ter disponível algumas informações básicas sobre a coluna selecionada. Ao clicar na aba “Exibição”, três opções de visualização da qualidade dos dados estarão disponíveis para o usuário: Qualidade da coluna; Distribuição de colunas; Perfil da coluna. Captura de tela do software Power BI. QUALIDADE DA COLUNA Esta opção torna visual a análise de dados válidos. Com ela, é possível perceber rapidamente a taxa de erros e dados vazios em uma coluna. Captura de tela do software Power BI. DISTRIBUIÇÃO DE COLUNAS Esta opção ajuda a entender a distribuição dos dados para o usuário fazer uma análise se aquela coluna apresenta o que é esperado para aquele conjunto de dados. Captura de tela do software Power BI. PERFIL DA COLUNA Diferentemente das outras exibições, a exibição do perfil da coluna apresenta somente as informações da coluna selecionada. Essa apresentação é mais detalhada que as outras e fornece outros dados que antes estavam escondidos. As informações de “Mínimo” e “Máximo” são fundamentais em uma análise de conjunto de dados numéricos, pois, por meio delas, os grandes erros serão evidenciados para o usuário. Captura de tela do software Power BI. As três exibições em conjunto podem tornar a análise do usuário muito mais assertiva. Nos exemplos utilizados, é possível notar isso, pois, ao verificar somente a qualidade da coluna “idade”, o usuário vai notar que não há erros nem colunas vazias. Ao utilizar a distribuição de colunas, o usuário observará que possui algo de diferente nos dados, mas, somente com o perfil da coluna, será possível perceber que muitas idades não foram preenchidas e estão apenas preenchidas com “N/A”. Isso pode ser um problema ao apresentar os dados. ATENÇÃO O Power BI apresenta apenas as informações das primeiras 1000 linhas do conjunto de dados. Para que a análise seja feita na tabela completa, clique na parte inferior da tela, em “Criação de perfil de coluna com base nas primeiras 1000 linhas”, e troque para “Criação de perfil de coluna com base em todo o conjunto de dados”. Captura de tela do software Power BI. 7. Renomear Esta é uma função a que devemos dar bastante atenção. Embora não seja tão poderosa quanto as outras funções, tornar as informações mais claras para os usuários muitas vezes é mais importante do que algumas etapas expostas aqui. Por vezes, uma simples mudança nos nomes das colunas ou nos nomes das tabelas faz com que a mensagem seja mais compreendida. Por exemplo, temos duas tabelas neste módulo: “ACIDENTES2020” Que busca trazer informações sobre o estado de cada ferido e sobre os veículos envolvidos no acidente. “DATATRANS2020” Que busca fazer uma apresentação macro dos acidentes, como a quantidade de feridos e a quantidade de veículos envolvidos no acidente. DICA Uma boa prática é renomear a tabela para que o usuário possa identificar rapidamente o propósito de cada conjunto de dados. BREVE INTRODUÇÃO À LINGUAGEM DAX Em todas as nossas etapas até o momento, utilizamos uma série de botões com funções que estão automatizadas pelo Power BI. Mas também é possível adicionar ou modificar colunas por meio de linhas de código. A linguagem utilizada dentro do software para fazer essas modificações é o DAX (Data Analysis Expressions). Sua estrutura é muito parecida com a estrutura de fórmulas do Excel. Além disso, o Power BI busca tornar sua utilização algo simples e rápido. Para utilizar o DAX, o usuário deve voltar à tela inicial do Power BI, selecionar a tela de "Dados" localizada no canto esquerdo e clicar em "Nova Coluna". Dessa forma, a barra de fórmulas ficará disponível para a aplicação do DAX. A estrutura da linguagem segue um padrão. Ao clicar em "Nova Coluna", algo similar ao padrão apresentado a seguir será mostrado na barra de fórmulas: javascript:void(0) javascript:void(0) Captura de tela do software Power BI. Assim, vamos utilizar esse padrão para criar uma coluna com o número total de feridos. Ela vai ficar deste jeito: Total de Feridos = [feridos_leves] + [feridos_graves] TOTAL DE FERIDOS = É o nome da nova coluna que será adicionada mais o símbolo de igual, que faz referência ao que será escrito em seguida. [FERIDOS_LEVES] E [FERIDOS_GRAVES] São referências às colunas que farão parte dos cálculos. Note que as colunas estão entre colchetes. Isso faz parte da estrutura da linguagem. + É o operador matemático que será utilizado. Para finalizar, o usuário pode apertar a tecla Enter ou clicar no símbolo de concluído/visto (√) logo à esquerda do código. Captura de tela do software Power BI. Os operadores disponíveis são: OPERADORES ARITMÉTICOS Utilizadospara executar operações matemáticas básicas, como adição, subtração, multiplicação, divisão e exponenciação. OPERADORES DE COMPARAÇÃO Utilizados para comparar dois valores. O resultado é um valor lógico: True ou False. OPERADOR DE CONCATENAÇÃO DE TEXTO Utilizado para unir dois valores. Por exemplo, se a tabela possui uma coluna para Cidades e outra para Estados, é possível utilizar esse operador para unir as duas informações: “Belo Horizonte - Minas Gerais”. OPERADORES LÓGICOS Utilizados para combinar expressões, a fim de produzir um único resultado. A utilização do DAX é comumente associada às operações citadas, mas é possível fazer mais com ela. A função SWITCH é um bom exemplo do poder do DAX na transformação dos dados. Com ela, o usuário pode determinar alguns critérios e obter uma coluna a partir desses critérios definidos. EXEMPLO Para aplicarmos a função SWITCH em nossa tabela, vamos imaginar que será necessário criar um dashboard com o mapa do Brasil e apresentar o número de feridos por estado. Felizmente, em nossa tabela, existe uma coluna que faz referência à UF do acidente. Porém a descrição está abreviada, e o Power BI errou em algumas associações, como com o Estado de Rondônia (RO), associando à Romênia, e o Estado de Sergipe (SE), associando à Suécia. Um caminho para solucionar esse problema é utilizar a função SWITCH. A função final ficará assim: Estado = SWITCH('Dados PRF'[uf],"BA","Bahia","SE","Sergipe","RO","Rondônia",'Dados PRF'[uf]) A sintaxe para a função SWITCH é a seguinte: 1. Primeiro, devemos apontar a coluna que será lida pela função: ‘Dados PRF’[uf]. 2. Depois, basta seguirmos um padrão de indicar o que deve ser buscado e o resultado a partir dessa busca: Procurar por “BA” e trocar para “Bahia”; Procurar por “SE” e trocar para “Sergipe”; Procurar por “RO” e trocar para “Rondônia”. 3. Por fim, o Switch deixa disponível a opção de informar o que fazer caso não encontre os dados informados pelo usuário. Note que, na fórmula, está escrita a coluna que está sendo transformada, ou seja, caso não encontre BA, SE ou RO, copie o que está na coluna original. Captura de tela do software Power BI. ATENÇÃO Em alguns casos, será necessário fazer um cálculo ou empregar uma função em uma tabela, fazendo referência a uma coluna de outra tabela. Para isso, o Power BI obriga que o usuário utilize a função Related. Portanto, se a função anterior buscasse as informações em outra tabela, sua fórmula deveria ficar assim: Estado = SWITCH(Related('acidentes2020'[uf]), "BA","Bahia","SE","Sergipe","RO", "Rondônia",'Dados PRF'[uf]) MODELAGEM DE DADOS NO POWER BI No vídeo a seguir, apresentamos um resumo do módulo, com ênfase nos recursos de modelagem de dados e nas transformações no modelo usando Power BI. VERIFICANDO O APRENDIZADO MÓDULO 3 Empregar a linguagem M do Power Query na limpeza e transformação de dados LIGANDO OS PONTOS Você conhece os problemas relacionados à análise de grandes volumes de dados? Sabe os cuidados necessários antes de realizar uma análise de dados? Para entendermos sobre os conceitos na prática, vamos analisar uma situação. A corretora Invista Bem S.A., empresa fictícia, atua com investimentos voltados para construção civil. Essa é uma área com grandes variações de preços ao longo do tempo e, por isso mesmo, os analistas da Invista Bem S.A. precisam investigar o mercado com muita atenção, pois um erro pode causar grandes prejuízos financeiros e de imagem. São muitas as fontes de dados de dados e informações, tais como: Sites confiáveis de notícias do mercado e política nacional e internacional. Redes sociais, em especial alguns grupos que tratam de assuntos específicos. Apesar de essas fontes não serem confiáveis, são importantes para formar uma opinião sobre investimentos. Dados disponibilizados por fontes oficiais. Informações fornecidas por consultorias especializadas. Todos esses dados e informações são processados para, posteriormente, serem submetidos a um sistema de inteligência artificial (I.A.). Conforme sua base de conhecimento, a inteligência artificial emitirá respostas sobre os investimentos, que deverão passar ainda pela crítica de analistas especialistas. Recentemente, os especialistas perceberam que as respostas produzidas pelo sistema de I.A. não estavam consistentes. Então, foi aberto um processo interno para identificar o problema e descobriu-se que muitos dos dados que chegavam para o sistema estavam inconsistentes e não havia uma crítica automatizada para detectar isso. Dessa forma, foi feita a implementação de uma etapa do projeto que detectasse problemas de inconsistência e fizesse a limpeza dos dados. Logo que essa etapa foi concluída, o sistema de I.A. voltou a produzir bons resultados. Ao fazer um retrospecto do problema, os analistas chegaram à conclusão de que o volume e a diversidade das fontes de dados dificultaram a detecção rápida do problema. Como a Invista Bem S.A. possui uma equipe qualificada de analistas e ferramentas que auxiliam na detecção de inconsistência e limpeza dos dados, o problema foi resolvido e a empresa continua auxiliando seus clientes a realizarem bons investimentos. Você teria feito as mesmas ações dos analistas da Invista Bem S.A. para realizar a limpeza dos dados e garantir a consistência do processo? Após a leitura do case, é hora de aplicar seus conhecimentos! Vamos ligar esses pontos? 3. CONSIDERE O SEGUINTE CENÁRIO: VOCÊ FOI CONTRATADO PELA INVISTA BEM S.A. PARA MELHORAR O MODELO DE DADOS. EXISTEM MUITAS EXPECTATIVAS SOBRE O RESULTADO DO SEU TRABALHO. COM BASE EM SUA EXPERIÊNCIA, COMO VOCÊ CUMPRIRIA ESSA MISSÃO? DE QUE MANEIRA IRIA DEMONSTRAR QUE SEU TRABALHO FOI BEM-SUCEDIDO? RESPOSTA A Invista Bem S.A. é uma empresa de investimentos que utiliza grandes volumes de dados de diversas fontes. Portanto, a primeira ação a ser tomada é mapear todas essas fontes e medir a dimensão do volume de dados. Cumprida essa etapa, vem a análise do processo de limpeza e transformação de cada um dos dados. Aqui, é fundamental fazer o registro de todas as ocorrências de inconsistências, pois isso será muito importante para demonstrar, posteriormente, como sua intervenção gerou resultados. INTRODUÇÃO À LINGUAGEM M Durante o processo de tratamento dos dados importados para o Power BI, é possível utilizar outra linguagem no software para executar essa função: a linguagem M, com o nome original de Power Query Formula Language. A linguagem M é o código utilizado para fazer a preparação e transformação dos dados no Power Query, presente no Power BI e no Excel, além de outros produtos da Microsoft. javascript:void(0) Em todas as etapas que vimos até agora, a linguagem M estava envolvida, desde pequenas ações, como excluir uma coluna, até ações como trocar o nome das células de uma coluna por meio da função “Coluna de Exemplo”. Isso acontece porque há um cuidado da Microsoft em permitir que o usuário consiga utilizar o software sem ter grandes conhecimentos em programação e, ao mesmo tempo, permitir que conhecedores da lógica de programação ou programadores possam extrair o melhor da ferramenta. O Power Query é o responsável por fazer tudo isso funcionar, pois ele é uma tecnologia de conexão de dados que permite extrair informações de várias fontes e tipos, fazer a limpeza, transformação e readequação dos dados, além de criar automações e integrações que reduzem bastante o trabalho do usuário. UTILIZAÇÃO DA LINGUAGEM M NO POWER BI Um bom início para entender como funciona essa linguagem é desmistificar sua utilização. O próprio Power BI a utiliza sem que fique claro para nós que ela está sendo executada. Vamos utilizar a mesma base de dados sugerida no módulo anterior para ilustrar o que foi dito. Após carregar o arquivo e passar por todos os estágios iniciais do Power BI para que ela esteja disponível para uso, clique em "Transformar dados" na aba "Página Inicial" do Power BI. Você será conduzido para o editor do PowerQuery. Captura de tela do software Power BI. Verifique se a barra de fórmulas está disponível para você. Ela fica logo acima da tabela apresentada e é similar à barra de fórmulas do Excel. Captura de tela do software Power BI. Caso não esteja disponível, clique na aba “Exibição” e, em seguida, marque a caixa “Barra de Fórmulas”. Captura de tela do software Power BI. Note que a fórmula presente na barra foi preenchida automaticamente. Este é o caso mencionado anteriormente, em que o Power BI utiliza a linguagem M sem ser executado qualquer código pelo usuário. Ao clicar na seta à direita da fórmula, a barra será expandida para favorecer a visualização. Captura de tela do software Power BI. Em seguida, para nos colocar mais próximos da linguagem M, vamos alterar o tipo de uma coluna por meio da barra de fórmulas do editor do Power Query. No conjunto de dados disponibilizados pela PRF, a coluna “data_inversa” está em um formato diferente do apresentado pelo Power BI. Captura de tela do software Power BI. Note que a PRF utiliza essa informação em uma ordem diferente do habitual. O Power BI forçou para que a visualização ficasse no padrão que conhecemos: trocou de 2019-01-01 para 01/01/2019. Para você ter seu primeiro contato com a linguagem M, troque o formato, descrito como type, de “date” para “text” na fórmula que faz referência à coluna “data_inversa” e clique em confirmar. Em alguns casos, não será necessário clicar em confirmar para que a fórmula mude a visualização da coluna. Captura de tela do software Power BI. Repare que, agora, a coluna “data_inversa” está refletindo o formato que está no arquivo original. Nesse caso, o que fizemos foi mudar o tipo de informações para esta coluna de Data para Texto – processo muito parecido com o que é feito no Excel. Agora, troque “text” para “date”, e a coluna voltará ao formato anterior. Outro item no Power BI que tem uma relação direta com a linguagem M, mas que acaba passando fora de nossa atenção, é a configuração de consulta que aparece no canto direito da tela. Nesse item, é possível visualizar as etapas de tratamento dos dados que estão sendo aplicadas à tela que estamos manipulando. Captura de tela do software Power BI. Veja que, ao clicar nas outras etapas disponíveis, a fórmula na barra de fórmulas muda: Captura de tela do software Power BI. Essa interface apresentada pelo Power BI nos ajuda a entender como funciona a estrutura da linguagem M: cada transformação é feita respeitando a hierarquia das etapas. Ao clicar em "Editor Avançado", fica mais fácil entender essa estrutura. Captura de tela do software Power BI. A sintaxe da linguagem M é dividida em dois blocos: let Em que são definidas as variáveis. in Saída do que foi definido no primeiro bloco. Captura de tela do software Power BI. Tudo que o Power BI reconheceu como importante para tornar a experiência do usuário mais simples está presente nessas linhas de código. Na imagem anterior, é possível perceber que cada etapa da transformação inicial dos dados está bem destacada. Na linha 2, está o primeiro passo de leitura do arquivo, em que são especificadas as informações de localização dos dados, o formato e a forma com que o Power BI vai ler a tabela. O nome dessa primeira etapa foi definido automaticamente como “Fonte”. Em seguida, na linha 3, é criada uma expressão para transformar a primeira linha do arquivo como o cabeçalho da tabela. Vamos utilizar essa expressão para realçar a estrutura hierárquica da linguagem M: #"Cabeçalhos Promovidos" = Table.PromoteHeaders(Fonte, [PromoteAllScalars=true]), Essa é a expressão completa que promove a primeira linha ao cabeçalho da tabela. Ao desmembrá-la, temos: #"Cabeçalhos Promovidos" Cada etapa precisa ter um nome, porém, a sintaxe da linguagem não permite que exista um espaço entre as palavras. Assim, há duas formas de resolver esse obstáculo. Colocando o underscore entre as palavras (Cabeçalhos_Promovidos) ou o identificador dentro dos caracteres #"" (#"Cabeçalhos Promovidos"). = Em seguida temos o identificador e o símbolo de igual (=) para determinar o que há dentro da expressão. Table.PromoteHeaders Esta é a função que promove a primeira linha ao cabeçalho da tabela e segue um padrão de sintaxe de várias outras linguagens de programação. Primeiro, é definido o objeto a ser referenciado e, em seguida, é determinada a função escolhida. (Fonte, [PromoteAllScalars=true]), Este é o momento em que a transformação por etapas é feita. Antes de definir o que será executado dentro da função PromoteHeaders, é preciso referenciar a função anterior, para que o Power Query entenda que essa função será executada a partir do resultado da função anterior. É possível perceber que o mesmo acontece na função seguinte: #"Tipo Alterado". Vejamos alguns pontos importantes sobre a linguagem M e seu funcionamento: A vírgula determina o fim de uma expressão. M é uma linguagem case-sensitive, isto é, que faz distinção entre letras maiúsculas e minúsculas. Comentários podem ser escritos após duas barras (//), caso sejam feitos em apenas uma linha, ou entre barras e asteriscos (/* comentário */), em várias linhas. As funções da linguagem DAX não são reconhecidas em comandos da linguagem M. EMPREGO DA LINGUAGEM M NO DIA A DIA Como vimos, o Power BI automaticamente utiliza a linguagem M para fazer suas transformações, mesmo que o usuário não perceba. Ao conhecer não só as funcionalidades, mas também a sintaxe da linguagem M, o usuário consegue facilitar seu trabalho na limpeza dos dados. Voltando ao problema do módulo anterior, suponhamos que o usuário precise acertar as informações dentro da coluna “fase_dia”, com o objetivo de reduzir as variações de fases do dia para apenas duas: diurno e noturno. DICA Uma forma de fazer isso é clicando na coluna “fase_dia” e, em seguida, em “Remover Duplicadas”. Captura de tela do software Power BI. Assim, é possível empregar as funcionalidades da “Coluna de Exemplos”. Captura de tela do software Power BI. As alterações foram feitas, mas, no momento, a tabela caiu de mais de 200 mil linhas para apenas 4. Retornando ao que foi dito anteriormente, as transformações feitas no Power BI seguem uma hierarquia. Por isso, será possível retirar apenas a etapa da função que removeu as linhas e deixar a etapa da troca das informações. Captura de tela do software Power BI. ATENÇÃO Apenas deletar a linha de comando responsável por remover as linhas da tabela fará com que o código apresente um problema. Isso acontece porque uma função sempre faz referência à função anterior. Então, é preciso acertar o nome da tabela presente na função #"Coluna Condicional Adicionada". Também é possível executar a eliminação da etapa de remoção de linhas por meio da caixa de “ETAPAS APLICADAS” que fica à direita da tela. Basta clicar no “X” referente à etapa e confirmar a requisição. Captura de tela do software Power BI. Além disso, é possível adicionar linhas de código a uma tabela diferente. Por exemplo, se o usuário percebe que todos os conjuntos de dados relacionados à PRF possuem os nomes dos Estados abreviados, e que é interessante que seus relatórios criados no Power BI possuam os nomes completos, é possível reaproveitar o código criado na primeira tabela e direcioná-lo para as novas tabelas. DICA Uma boa prática na utilização do Power Query é revisar as etapas de transformação que foram executadas. O usuário vai notar que é muito comum, após a criação de algumas etapas, que parte delas esteja duplicada. Isso ocorre devido ao esforço do Power BI em automatizar todas as funções dentro do software. Além disso, o Power BI não possui uma variedade de sugestões de nomes para as etapas, acarretando várias etapas com o nome de “Coluna Renomeada” ou “Coluna Removida”. Por isso, o usuário pode aproveitar para renomear as etapas de forma clara, para que outras pessoas possam utilizar. Compreender as funçõesque foram explicadas neste módulo é fundamental para entender que a linguagem M não está tão distante do uso do Power BI no dia a dia. Um usuário pode executar várias etapas do processo de ETL sem acessar a caixa de “Editor Avançado” do Power Query. COMENTÁRIO Caso tenha interesse e disposição para utilizar a sintaxe da linguagem M, você pode descobrir por meio dela várias formas de tornar seu trabalho mais fácil e rápido, além de criar uma rotina de estudos para melhorar o refinamento dos dados. O responsável por essa etapa deve perceber que um relatório ou dashboard perfeito passa pela boa execução das tarefas descritas aqui. EMPREGO DA LINGUAGEM M NO POWER BI No vídeo a seguir, apresentamos um resumo deste módulo, demonstrando a utilização da linguagem M no processo de limpeza e transformação de dados no Power BI. VERIFICANDO O APRENDIZADO CONCLUSÃO CONSIDERAÇÕES FINAIS Neste conteúdo, abordamos os elementos mais relevantes de preparação dos dados com o uso do Power BI, demonstrando que é uma ferramenta poderosa e, ao mesmo tempo, muito prática, pois permite que sejam feitas manipulações que, antes, demandavam o envolvimento de outros times de tecnologia e, hoje, podem ser realizadas por uma só pessoa. Isso representa um grande avanço para que os times de negócio sejam mais ágeis na tomada de decisões e que estas sejam amparadas em dados mais estruturados e obtidos das mais diversas fontes que a empresa dispõe, como Excel, bancos de dados relacionais, serviços em nuvem, APIs, Web, ERP etc. Para a realização dessa tarefa de ETL, é fundamental a compreensão do Editor do Power Query, que é o grande responsável pela capacidade excepcional do Power BI de realizar transformações incríveis nos dados, utilizando uma interface gráfica amigável e clara, na qual transformações antes complexas podem ser realizadas com um clique. Vimos que o Power Query é baseado na linguagem M, que permite ao usuário criar regras de leitura dos dados e automatizar as etapas de limpeza e extração, por meio de uma lógica de programação fundamentada em uma série de passos que podem ser reproduzidos em outros conjuntos de dados. Essas funcionalidades justificam a crescente popularidade que o Power BI ostenta no mercado, passando a figurar no Quadrante Mágico do Gartner Group como uma das plataformas líderes no mercado de Business Intelligence and Analytics (BI&A). PODCAST Para encerrar o nosso aprendizado, vamos ouvir uma interessante conversa entre o especialista em análise e visualização de dados e a sua cliente da área de negócios, responsável por validar as análises produzidas no Power BI. AVALIAÇÃO DO TEMA: REFERÊNCIAS KIMBALL, R.; ROSS, M. The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling. 3rd. ed. Indianapolis, Indiana: John Wiley Sons, 2013. KIMBALL, R.; ROSS M. The Kimball Group Reader: Remastered Edition. Indianapolis, Indiana: John Wiley Sons, 2016. RAVIV, G. Collect, Combine, and Transform Data Using Power Query in Excel and Power BI (Business Skills) (English Edition). 1. ed. Kindle, Microsoft Press, 2018. E-book. EXPLORE+ Para aprofundar ainda mais seus conhecimentos na utilização do Power BI, recomendamos que você pesquise e acesse a documentação oficial na página da Microsoft: Documentação do Power BI – Power BI – Microsoft Docs. Essa documentação é vasta, e existem muitos detalhes que lá são explorados. Você encontrará mais exemplos, principalmente para acessar mais fontes de dados, e outras informações sobre o uso do Power Query e da linguagem M, para construir modelos de dados extremamente robustos e que auxiliam no dia a dia de uma empresa. A Microsoft também disponibiliza uma página para que o usuário possa se aprofundar mais sobre os Operadores DAX – DAX – Microsoft Docs. Vale a pena o acesso. Busque, também, no YouTube o canal oficial da Microsoft Power BI, onde você encontrará tutoriais, webinars e atualizações sobre novos recursos do software. CONTEUDISTA Humberto Cesar Souza Lomeu CURRÍCULO LATTES javascript:void(0); javascript:void(0);
Compartilhar