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.

Como instalar o Python

Para usar Python no Editor do Power Query do Power BI Desktop, você precisa instalar 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.

Como usar Python no Power Query Editor

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 as seguintes:

  1. 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.

    Captura de tela da faixa de opções Obter Dados no Power BI Desktop mostrando a seleção de CSV.

  2. Selecione o arquivo e selecione Abrir. O CSV será exibido na caixa de diálogo Arquivo CSV.

    Captura de tela da caixa de diálogo do arquivo CSV mostrando o CSV selecionado.

  3. Depois que os dados forem carregados, você os verá no painel Campos no Power BI Desktop.

    Captura de tela do painel Campos mostrando os dados carregados.

  4. Abra o Editor do Power Query selecionando Transformar dados na guia Página Inicial no Power BI Desktop.

    Captura de tela do Editor do Power Query no Power BI Desktop, mostrando a seleção de Transformar dados.

  5. Na guia Transformar, selecione Executar Script Python, e o editor Executar Script Python será exibido (mostrado na próxima etapa). Observe que 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 Python pode (e vai) completar essas linhas para você.

    Captura de tela da guia Transformar mostrando as linhas de dados.

  6. 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

    Instale a biblioteca pandas 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:

    Captura de tela da caixa de diálogo Executar Script do Python mostrando o código do script.

  7. Ao selecionar OK, o Editor do Power Query exibirá um aviso sobre a privacidade dos dados.

    Captura de tela do painel Editor do Power Query mostrando o aviso sobre a privacidade dos dados.

  8. 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.

    Captura de tela da caixa de diálogo Níveis de privacidade mostrando que a opção Público está definida.

    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 cinco 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:

Captura de tela do visual mostrando os dados originais e os valores ausentes completos da biblioteca do Pandas.

Depois de concluir esse visual, bem como outros visuais interessantes criados com o Power BI Desktop, você pode salvar o arquivo do Power BI Desktop (que é salvo como um arquivo .pbix) e, em seguida, usar o modelo de dados, inclusive 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: 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 acessar Python para que os elementos visuais sejam atualizados). As etapas adicionais são as seguintes:

  • Habilitar 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 em que o arquivo está localizado e Python está instalado. O serviço do Power BI deve acessar essa pasta de trabalho e renderizar novamente qualquer elemento visual atualizado. Você pode obter mais informações sobre como Instalar e configurar o Gateway Pessoal.

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.

    Captura de tela do menu Arquivo no Power BI Desktop mostrando a seleção de Configurações da 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.

    Captura de tela da caixa de diálogo Configurações da fonte de dados mostrando que 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 (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.