Com certeza, se você trabalha com vários Dataflows pelo Power BI Serviços, já se deparou com aquela dificuldade de ter que alterar os endereços dos Workspaces e endereços do Dataflow correspondente. Isso além de ser meio chato de fazer, também é um causador de dor de cabeça, se você não fizer as alterações corretas, já que não vai carregar os dados e dar o famoso erro:

Erro na consulta ‘’. Expression.Error: O nome 'caCacACa-bDdB-eFee-gHHi-0j1k2l3m4n' não foi reconhecido. Certifique-se de que ele foi soletrado corretamente.

Então, para facilitar o meu trabalho, eu estudei o script de conexão do Power Query, para facilitar meu dia a dia. Como trabalho com vários clientes, estou migrando todo o fluxo de dados dos meu relatórios para o Dataflow, tanto dos antigos clientes, quanto dos novos.

Para facilitar todo meu trabalho em transitar pelas Workspaces variados, estudei um formato de script adaptável para qualquer que seja o Workspace conectado. Me acompanha para entender e já colocar em prática.

Entendendo a estrutura

Todo script no Power Query, sempre segue uma lógica de estrutura, que facilita nosso entendimento.

O Power Query utiliza uma linguagem de script chamada “Linguagem M”, que é utilizada para definir as transformações que serão aplicadas aos dados.

As etapas são executadas em ordem sequencial, da esquerda para a direita, e podem ser combinadas para criar transformações mais complexas. A estrutura do script do Power Query consiste em uma série de etapas (ou “passos”) que descrevem as transformações a serem realizadas nos dados, sempre uma aninhada a outra, dependente e resultante da etapa anterior.

Cada etapa é composta por uma função M que define a transformação a ser aplicada, e a ultima é definida como a tabela final, onde todas as transformações são encapsuladas.

Vamos ver um exemplo:

let
    Fonte = Excel.Workbook(File.Contents("C:\Arquivo.xlsx"), null, true),
    Tabela1 = Fonte{[Item="Tabela1",Kind="Table"]}[Data],
    Filtro = Table.SelectRows(Tabela1, each [Coluna1] = "Valor1"),
    ColunasRenomeadas = Table.RenameColumns(Filtro,{{"Coluna1", "NovaColuna1"}, {"Coluna2", "NovaColuna2"}})
in
    ColunasRenomeadas

Neste exemplo, temos as etapas separadas em cada linha, e vamos entender cada uma delas:

  • A primeira etapa é a conexão com um arquivo Excel na pasta C:.
  • A segunda etapa usa a função “Tabela” para selecionar a tabela “Tabela1” dentro do arquivo Excel.
  • A terceira etapa usa a função “Selecionar linhas” para filtrar as linhas da tabela onde o valor da coluna “Coluna1” é igual a “Valor1”.
  • Finalmente, a quarta etapa usa a função “Renomear colunas” para renomear as colunas “Coluna1” e “Coluna2” para “NovaColuna1” e “NovaColuna2”, respectivamente.
  • O resultado final é uma tabela com as colunas renomeadas e as linhas filtradas de acordo com o critério especificado.

Criando nosso script para o Power Plataform

Márcio Ferreira dos Santos

CEO e Fundador da Oddata, Expert em BI & Analytics, Especialista em Planejamento Financeiro e apaixonado por dados.

...