Usar o Python no Editor do Power Query
Você pode usar Python, uma linguagem de programação amplamente usada por estatísticos, cientistas de dados e analistas de dados, no Editor do Power Query do Power BI Desktop. Essa integração de Python ao Editor do Power Query permite executar a limpeza de dados usando Python e executar análise e modelagem de dados avançadas em conjuntos de dados, inclusive completar dados ausentes, fazer previsões e clustering, apenas para citar alguns exemplos. Python é uma linguagem poderosa e pode ser usada no Editor do Power Query para preparar seu modelo de dados e criar relatórios.
Pré-requisitos
Você precisará instalar o Python e o Pandas antes de começar.
Instale o Python - para usar o Python no Editor do Power Query do Power BI Desktop, você precisará instalar o Python no computador local. Você pode baixar e instalar o Python gratuitamente em vários locais, incluindo a página de download do Python Oficial e o Anaconda.
Instale o Pandas - para usar o Python com o Editor do Power Query, você também precisará instalar o Pandas. O Pandas é usado para mover dados entre o Power BI e o ambiente do Python.
Usar o Python com o Editor do Power Query
Para mostrar como usar o Python no Editor do Power Query, veja um exemplo de um conjunto de dados do mercado de ações, com base em um arquivo CSV que você pode baixar aqui para acompanhar o exemplo. As etapas deste exemplo são os seguintes procedimentos:
Primeiro, carregue os dados no Power BI Desktop. Neste exemplo, carregue o arquivo EuStockMarkets_NA.csv e selecione Obter dados>Texto/CSV na faixa de opções Página Inicial do Power BI Desktop.
Selecione o arquivo e selecione Abrir. O CSV será exibido na caixa de diálogo Arquivo CSV.
Depois que os dados forem carregados, você os verá no painel Campos no Power BI Desktop.
Abra o Editor do Power Query selecionando Transformar dados na guia Página Inicial no Power BI Desktop.
Na guia Transformar, selecione Executar Script Python, e o editor Executar Script Python será exibido, como mostrado na próxima etapa. As linhas 15 e 20 têm dados ausentes, assim como outras linhas que você não pode ver na imagem a seguir. As etapas a seguir mostram como o Python completa essas linhas para você.
Para este exemplo, insira o seguinte código de script:
import pandas as pd completedData = dataset.fillna(method='backfill', inplace=False) dataset["completedValues"] = completedData["SMI missing values"]
Observação
Você precisa da biblioteca pandas instalada em seu ambiente Python para que o código do script anterior funcione corretamente. Para instalar o pandas, execute o comando a seguir em sua instalação do Python:
pip install pandas
Quando colocado na caixa de diálogo Executar Script Python, o código é semelhante ao seguinte exemplo:
Após selecionar OK, o Editor do Power Query exibirá um aviso sobre a privacidade dos dados.
Para que os scripts Python funcionem corretamente no serviço do Power BI, todas as fontes de dados precisam ser definidas como públicas. Para obter mais informações sobre as configurações de privacidade e suas implicações, confira Níveis de privacidade.
Observe uma nova coluna no painel Campos chamada completedValues. Observe que há alguns elementos de dados ausentes, como nas linhas 15 e 18. Veja como o Python lida com isso na próxima seção.
Com apenas três linhas de script Python, o Editor do Power Query preencheu os valores ausentes com um modelo preditivo.
Criar visuais de dados de script Python
Agora, podemos criar um visual para ver como o código de script Python preencheu os valores ausentes usando a biblioteca pandas, conforme mostrado na imagem a seguir:
Depois que esse visual estiver concluído e quaisquer outros visuais que você queira criar usando o Power BI Desktop, você poderá salvar o arquivo do Power BI Desktop. Os arquivos do Power BI Desktop salvos com a extensão de nome de arquivo .pbix. Em seguida, use o modelo de dados, incluindo os scripts Python que fazem parte dele, no serviço do Power BI.
Observação
Quer ver um arquivo .pbix concluído com essas etapas concluídas? Você está com sorte. Você pode baixar o arquivo concluído do Power BI Desktop usado nesses exemplos aqui.
Depois que você carregar o arquivo .pbix no serviço do Power BI, algumas etapas serão necessárias para habilitar a atualização de dados no serviço e habilitar os elementos visuais para serem atualizados no serviço. Os dados precisam de acesso ao Python para que os visuais sejam atualizados. As outras etapas são as seguintes etapas:
- Habilitar a atualização agendada para o conjunto de dados. Para habilitar a atualização agendada para a pasta de trabalho que contém o conjunto de dados com scripts Python, confira Configurar a atualização agendada, que também inclui informações sobre o Gateway Pessoal.
- Instale o Gateway Pessoal. Você precisa de um Gateway Pessoal instalado no computador onde o arquivo está localizado e onde o Python está instalado. O serviço do Power BI deve acessar essa pasta de trabalho e renderiza novamente todos os visuais que foram atualizados. Para obter mais informações, confira instalar e configurar o Gateway Pessoal.
Considerações e limitações
Existem algumas limitações para consultas que incluem scripts Python criados no Editor do Power Query:
Todas as configurações de fonte de dados Python precisam ser definidas como Públicas, e todas as outras etapas em uma consulta criada no Editor do Power Query também precisam ser públicas. Para obter as configurações de fonte de dados, no Power BI Desktop, selecione Arquivo > Opções e configurações > Configurações de fonte de dados.
Na caixa de diálogo Configurações de Fonte de Dados, selecione a fontes de dados e, em seguida, selecione Editar Permissões... e verifique se o Nível de Privacidade está definido como Público.
Para habilitar a atualização agendada do conjunto de dados ou dos elementos visuais do Python, você precisa habilitar a Atualização agendada e ter um Gateway Pessoal instalado no computador que hospeda a pasta de trabalho e a instalação do Python. Para obter mais informações sobre ambos, confira a seção anterior deste artigo, que fornece links, para saber mais sobre cada um.
No momento, não há suporte para tabelas aninhadas que são tabela de tabelas.
Há inúmeras coisas que você pode fazer com Python e consultas personalizadas, então, explore e modele seus dados da maneira como deseja que eles sejam mostrados.