Você está na página 1de 2076

Dê a sua opinião sobre a experiência de download do PDF.

Documentação do Power Query


O Power Query é a tecnologia de conectividade e preparação de dados que permite aos
usuários finais importar e remodelar dados de uma ampla variedade de produtos
Microsoft, incluindo Excel, Power BI, Analysis Services, Dataverse e muito mais. O Power
Query é a tecnologia de conectividade e preparação de dados que permite aos usuários
finais importar e remodelar dados de forma integrada em uma ampla variedade de
produtos Microsoft, incluindo o Excel, o Power BI, o Analysis Services, o Dataverse e
muito mais.

Visão geral do Power Query

e VISÃO GERAL

O que é o Power Query?

O que são fluxos de dados?

Usando o Power Query

c GUIA DE INSTRUÇÕES

Usar o Power Query

Obter dados

Transformar dados

Trabalhar com fluxos de dados

p CONCEITO

Criar e usar fluxos de dados no Power Platform

Licenças de fluxo de dados

Melhores práticas para fluxo de dados

Artigos avançados do Power Query


CONCEITO

Dobragem de consultas

Diagnóstico de consulta

Tratamento de erros

Desenvolva seu conector personalizado

c GUIA DE INSTRUÇÕES

Desenvolvimento do conector personalizado

Certificação do conector personalizado

Conteúdo de referência

i REFERÊNCIA

Conectores no Power Query

Referência da linguagem M
O que é o Power Query?
Artigo • 05/10/2023

O Power Query é um mecanismo de transformação e preparação de dados. O Power


Query vem com uma interface gráfica para obter dados de fontes e um Editor do Power
Query para aplicar transformações. Como o mecanismo está disponível em muitos
produtos e serviços, o destino no qual os dados serão armazenados depende de onde o
Power Query foi usado. Usando o Power Query, você pode executar o processamento
ETL (extrair, transformar e carregar) com os dados.

Como o Power Query ajuda na aquisição de


dados
Os usuários empresariais gastam até 80% do tempo na preparação de dados, o que
atrasa o trabalho de análise e tomada de decisão. Vários desafios contribuem para essa
situação e Power Query ajuda a lidar com muitos deles.

Desafio existente Como Power Query ajuda?

Localizar e conectar-se a dados é O Power Query possibilita a conectividade com uma ampla
muito difícil gama de fontes de dados, incluindo dados de todos os
tamanhos e formas.
Desafio existente Como Power Query ajuda?

As experiências de conectividade Consistência de experiência e paridade de recursos de


de dados são muito consulta em todas as fontes de dados.
fragmentadas

Os dados geralmente precisam Experiência altamente interativa e intuitiva para criar


ser remodelados antes do consultas de maneira rápida e iterativa em qualquer fonte de
consumo dados, de qualquer tamanho.

Qualquer forma é única e não Ao usar Power Query para acessar e transformar dados, você
repetível define um processo repetível (consulta) que pode ser
facilmente atualizado no futuro para obter dados atualizados.
Caso precise modificar o processo ou a consulta para
considerar as alterações subjacentes de esquema ou dados,
você poderá usar a mesma experiência interativa e intuitiva
usada quando definiu inicialmente a consulta.

Volume (tamanhos de dados), O Power Query oferece a capacidade de trabalhar em um


velocidade (taxa de alteração) e subconjunto de todo o conjunto de dados para definir as
variedade (amplitude de fontes transformações de dados necessárias, permitindo que você
de dados e formas de dados) filtre facilmente e transforme seus dados em um tamanho
gerenciável.
As consultas do Power Query podem ser atualizadas
manualmente ou aproveitando as funcionalidades de
atualização agendadas em produtos específicos (como o
Power BI) ou até mesmo programaticamente (usando o
modelo de objeto do Excel).
Como Power Query fornece conectividade com centenas de
fontes de dados e mais de 350 tipos diferentes de
transformações de dados para cada uma dessas fontes, você
pode trabalhar com os dados de qualquer fonte e de
qualquer forma.

Experiências do Power Query


A experiência do usuário do Power Query é fornecida por meio da interface do usuário
do Editor do Power Query. A meta dessa interface é ajudar você a aplicar as
transformações necessárias simplesmente interagindo com um conjunto amigável de
faixas de opções, menus, botões e outros componentes interativos.

O Editor do Power Query é a principal experiência de preparação de dados, na qual você


pode se conectar a uma ampla variedade de fontes de dados e aplicar centenas de
transformações de dados diferentes ao visualizar dados e selecionar transformações na
interface do usuário. Essas funcionalidades de transformação de dados são comuns em
todas as fontes de dados, independentemente das limitações da fonte de dados
subjacente.

Quando você cria uma etapa de transformação por meio da interação com os
componentes da interface do Power Query, o Power Query cria automaticamente o
código da linguagem M necessário para fazer a transformação para que você não
precise escrever nenhum código.

Atualmente, há duas experiências do Power Query disponíveis:

Power Query Online – Encontrado em integrações como fluxos de dados do


Power BI, fluxos de dados do Microsoft Power Platform, fluxos de dados de
estruturação do Azure Data Factory e muito mais, que fornecem a experiência por
meio de uma página da Web online.
Power Query para Desktop – Encontrado em integrações como Power Query para
Excel e Power BI Desktop.

7 Observação

Embora existam duas experiências do Power Query, ambas fornecem quase a


mesma experiência do usuário em todos os cenários.

Transformações
O mecanismo de transformação no Power Query inclui muitas funções de transformação
predefinidas que podem ser usadas por meio da interface gráfica do Editor do Power
Query. Essas transformações podem ser tão simples quanto remover uma coluna ou
filtrar linhas, ou tão comuns quanto usar a primeira linha como um cabeçalho de tabela.
Há também opções avançadas de transformação, como mesclagem, acréscimo, agrupar
por, dinamizar e transformar colunas em linhas.

Todas essas transformações são possíveis por meio da escolha da opção de


transformação no menu e, em seguida, aplicando as opções necessárias para essa
transformação. A ilustração a seguir mostra algumas das transformações disponíveis no
Editor do Power Query.
Para obter mais informações: Início Rápido: Usando o Power Query no Power BI

Fluxos de dados
O Power Query pode ser usado em muitos produtos, como Power BI e Excel. No
entanto, o uso do Power Query dentro de um produto limita seu uso apenas a esse
produto específico. Os fluxos de dados são uma versão do serviço independente de
produto da experiência do Power Query que é executada na nuvem. Usando fluxos de
dados, você pode obter dados e transformar dados da mesma forma, mas em vez de
enviar a saída para o Power BI ou Excel, você pode armazenar a saída em outras opções
de armazenamento, como Dataverse ou Azure Data Lake Storage. Dessa forma, você
pode usar a saída de fluxos de dados em outros produtos e serviços.

Para obter mais informações: O que são fluxos de dados?

Linguagem de fórmula Power Query M


Em qualquer cenário de transformação de dados, há algumas transformações que não
podem ser feitas da melhor forma por meio do editor gráfico. Algumas dessas
transformações podem exigir configurações e definições especiais que a interface
gráfica não dá suporte atualmente. O mecanismo do Power Query usa uma linguagem
de script nos bastidores para todas as transformações do Power Query: a linguagem de
fórmula M do Power Query, também conhecida como M.

A linguagem M é a linguagem de transformação de dados do Power Query. Tudo o que


acontece na consulta é escrito em M. Se você quiser fazer transformações avançadas
usando o mecanismo do Power Query, poderá usar o Editor Avançado para acessar o
script da consulta e modificá-lo conforme desejar. Se você achar que as funções e
transformações da interface do usuário não executarão as alterações exatamente como
você precisa, use o Editor Avançado e a linguagem M para ajustar suas funções e
transformações.

Power Query M

let
Source = Exchange.Contents("xyz@contoso.com"),
Mail1 = Source{[Name="Mail"]}[Data],
#"Expanded Sender" = Table.ExpandRecordColumn(Mail1, "Sender", {"Name"},
{"Name"}),
#"Filtered Rows" = Table.SelectRows(#"Expanded Sender", each
([HasAttachments] = true)),
#"Filtered Rows1" = Table.SelectRows(#"Filtered Rows", each ([Subject] =
"sample files for email PQ test") and ([Folder Path] = "\Inbox\")),
#"Removed Other Columns" = Table.SelectColumns(#"Filtered Rows1",
{"Attachments"}),
#"Expanded Attachments" = Table.ExpandTableColumn(#"Removed Other
Columns", "Attachments", {"Name", "AttachmentContent"}, {"Name",
"AttachmentContent"}),
#"Filtered Hidden Files1" = Table.SelectRows(#"Expanded Attachments",
each [Attributes]?[Hidden]? <> true),
#"Invoke Custom Function1" = Table.AddColumn(#"Filtered Hidden Files1",
"Transform File from Mail", each #"Transform File from Mail"
([AttachmentContent])),
#"Removed Other Columns1" = Table.SelectColumns(#"Invoke Custom
Function1", {"Transform File from Mail"}),
#"Expanded Table Column1" = Table.ExpandTableColumn(#"Removed Other
Columns1", "Transform File from Mail", Table.ColumnNames(#"Transform File
from Mail"(#"Sample File"))),
#"Changed Type" = Table.TransformColumnTypes(#"Expanded Table Column1",
{{"Column1", type text}, {"Column2", type text}, {"Column3", type text},
{"Column4", type text}, {"Column5", type text}, {"Column6", type text},
{"Column7", type text}, {"Column8", type text}, {"Column9", type text},
{"Column10", type text}})
in
#"Changed Type"

Para obter mais informações: Linguagem de fórmula M do Power Query

Onde você pode usar o Power Query?


A tabela a seguir lista produtos e serviços da Microsoft em que o Power Query pode ser
encontrado.

Produto Mecanismo da Power Power Fluxos de


M1 Query Query dados4
Desktop2 Online3

Excel para Windows Sim Sim No Não

Excel para Mac Sim Sim No Não

Power BI Sim Sim Sim Yes

Power Apps Sim Não Sim Yes

Power Automate Sim Não Sim Não

Servidor de Relatórios do Sim Sim No Não


Power BI

Azure Data Factory Sim Não Sim Yes

Data Factory no Microsoft Sim Não Sim Yes


Fabric
Produto Mecanismo da Power Power Fluxos de
M1 Query Query dados4
Desktop2 Online3

SQL Server Integration Sim No Não Não


Services

SQL Server Analysis Services Sim Sim No Não

Dynamics 365 Customer Sim Não Sim Yes


Insights

1Mecanismo da O mecanismo de execução de consulta subjacente que executa consultas


M expressas na linguagem de fórmula do Power Query ("M").

2Power Query A experiência do Power Query encontrada em aplicativos da área de trabalho.


Desktop

3Power Query A experiência do Power Query encontrada em aplicativos do navegador da


Online Web.

4Fluxos de Power Query como um serviço que é executado na nuvem e é independente


dados de produto. O resultado armazenado pode ser usado em outros aplicativos
como serviços.

Confira também
Fontes de dados no Power Query
Obtendo dados
Início rápido do Power Query
Formatar e combinar dados usando o Power Query
O que são fluxos de dados
Obter a visão geral dos dados
Artigo • 10/04/2023

O Power Query pode se conectar a várias fontes de dados diferentes para que você
possa trabalhar com os dados necessários. Este artigo orienta você pelas etapas para
trazer dados para Power Query no Power Query Desktop ou Power Query Online.

A conexão a uma fonte de dados com o Power Query segue um conjunto padrão de
estágios antes de aterrissar os dados em um destino. Este artigo descreve cada um
desses estágios.

) Importante

Em alguns casos, um conector pode ter todos os estágios da experiência de


obtenção de dados e, em outros casos, um conector pode ter apenas alguns deles.
Para obter mais informações sobre a experiência de um conector específico,
consulte a documentação disponível para o conector específico pesquisando no
artigo Conectores no Power Query.

Experiência do Power Query Desktop


Os estágios para obter dados nas experiências do Power Query Desktop são:

1. Configurações de conexão

2. Autenticação

3. Visualização dos dados

4. Destino da consulta

1. Configurações de conexão
Inicialmente, a maioria dos conectores exige pelo menos um parâmetro para inicializar
uma conexão com a fonte de dados. Por exemplo, o conector do SQL Server requer pelo
menos o nome do host para estabelecer uma conexão com o banco de dados do SQL
Server.

Em comparação, ao tentar se conectar a um arquivo do Excel, o Power Query requer que


você use o caminho do arquivo para localizar o arquivo ao qual deseja se conectar.

Os parâmetros do conector são comumente usados para estabelecer uma conexão com
uma fonte de dados e eles, em conjunto com o conector usado, definem o que é
chamado de caminho de fonte de dados.

7 Observação

Alguns conectores não exigem que você insira parâmetros. Eles são chamados de
conectores singleton e terão apenas um caminho de fonte de dados disponível por
ambiente. Alguns exemplos são Adobe Analytics, MailChimp e Google Analytics.

2. Autenticação
Cada conexão feita no Power Query precisa ser autenticada. Os métodos de
autenticação variam de conector para conector e alguns conectores podem oferecer
vários métodos de autenticação.

Os métodos de autenticação disponíveis no momento para o Power Query são:

Anônimo: comumente usado ao se conectar a uma fonte de dados que não requer
autenticação de usuário, como uma página da Web ou um arquivo disponível por
HTTP público.
Básico: um nome de usuário e uma senha enviados na codificação base64 são
aceitos para autenticação.
Chave de API: uma única chave de API é aceita para autenticação.
Conta organizacional ou Conta Microsoft: esse método também é conhecido
como OAuth 2.0.
Windows: pode ser implícito ou explícito.
Banco de dados: disponível apenas em alguns conectores de banco de dados.

Por exemplo, os métodos de autenticação disponíveis para o conector de banco de


dados do SQL Server são Windows, Banco de dados e conta Microsoft.

3. Visualização dos dados


O objetivo do estágio de versão prévia de dados é fornecer uma maneira amigável de
visualizar e selecionar os dados.

Dependendo do conector sendo usado, você pode visualizar os dados com:

Janela do Navegador
Caixa de diálogo de visualização da tabela

Janela do navegador (tabela de navegação)


A janela Navegador consiste em duas seções principais:

O painel de seleção de objeto é exibido no lado esquerdo da janela. O usuário


pode interagir e selecionar esses objetos.

7 Observação

Para o Power Query no Excel, selecione a opção Selecionar vários itens no


canto superior esquerdo da janela de navegação para selecionar mais de um
objeto por vez no painel de seleção de objeto.

7 Observação

A lista de objetos no Power Query Desktop é limitada a 10.000 itens. Esse


limite não existe no Power Query Online. Para obter uma solução alternativa
no Power Query Desktop, consulte a Solução alternativa de limitação de
objeto.

O painel de visualização de dados no lado direito da janela mostra uma


visualização dos dados do objeto selecionado.

Solução alternativa de limitação de objeto

Há um limite fixo de 10.000 objetos no Navegador no Power Query Desktop. Esse limite
não ocorre no Power Query Online. Eventualmente, a interface do usuário do Power
Query Online substituirá a da área de trabalho.

Enquanto isso, você pode usar a seguinte solução alternativa:


1. Clique com o botão direito do mouse no nó raiz do Navegador e selecione
Transformar Dados.

2. O Editor do Power Query abre com a tabela de navegação completa na área de


visualização da tabela. Essa exibição não tem um limite no número de objetos e
você pode usar filtros ou outras transformações do Power Query para explorar a
lista e localizar as linhas desejadas (por exemplo, com base na coluna Nome).

3. Ao encontrar o item desejado, você pode acessar o conteúdo selecionando o link


de dados (como o link Tabela na imagem a seguir).
Caixa de diálogo de visualização da tabela
A caixa de diálogo de visualização da tabela consiste em apenas uma seção para
visualização de dados. Um exemplo de um conector que fornece essa experiência e
janela é o conector Pasta.

4. Destino da consulta
Este é o estágio no qual você especifica onde carregar a consulta. As opções variam de
integração a integração, mas a única opção sempre disponível é carregar dados no
editor do Power Query para transformar e enriquecer ainda mais a consulta.
Experiência do Power Query Online
Os estágios para obter dados no Power Query Online são:

1. Configurações de conexão e Autenticação

2. Visualização dos dados

3. Editor de consultas

1. Configurações de conexão e autenticação


Na experiência do Power Query Online, você começa com a página Conectar à fonte de
dados onde você insere os valores em duas seções distintas:

Configurações de conexão

As credenciais de conexão

Configurações de conexão
Na seção de configurações de conexão, você define as informações necessárias para
estabelecer uma conexão com sua fonte de dados. Dependendo do conector, pode ser
o nome do servidor, o nome de um banco de dados, um caminho de pasta, um caminho
de arquivo ou outras informações exigidas pelo conector para estabelecer uma conexão
com sua fonte de dados. Alguns conectores também permitem subseções específicas ou
opções avançadas para oferecer mais controle e opções ao se conectar à fonte de
dados.
As credenciais de conexão
Na primeira vez que você usar o Power Query para se conectar a uma fonte de dados
específica, será necessário criar uma nova conexão associada a essa fonte de dados.
Uma conexão é a definição completa do gateway, credenciais, níveis de privacidade e
outros campos específicos do conector que compõem as credenciais de conexão
necessárias para estabelecer uma conexão com sua fonte de dados.

7 Observação

Alguns conectores oferecem campos específicos na seção de credenciais de


conexão para habilitar ou definir qualquer tipo de segurança relacionada à conexão
que precisa ser estabelecida. Por exemplo, o conector do SQL Server oferece o
campo Usar Conexão Criptografada.
As principais informações exigidas por todos os conectores para definir uma conexão
são:

Nome da conexão: esse é o nome que você pode definir para identificar
exclusivamente suas conexões. Observe que você não pode duplicar o nome de
uma conexão em seu ambiente.
Gateway de dados: Se a fonte de dados exigir um gateway de dados, selecione o
gateway usando a lista suspensa deste campo.
Tipo de autenticação & credenciais: dependendo do conector, você tem várias
opções de tipo de autenticação disponíveis para estabelecer uma conexão, bem
como campos em que você insere suas credenciais. Neste exemplo, o tipo
autenticação do Windows foi selecionado e você pode ver os campos Nome de
usuário e Senha que precisam ser preenchidos para estabelecer uma conexão.
Nível de privacidade: você pode definir o nível de privacidade da fonte de dados
como Nenhum, Privado, Organizacional ou Público.
7 Observação

Para saber mais sobre o que são os gateways de dados e como registrar um novo
gateway para seu ambiente ou locatário, acesse Usar o gateway de dados local.

) Importante

No momento, algumas integrações do Power Query não habilitam uma conexão


definida ou um nível de privacidade. Porém, todas as experiências do Power Query
Online fornecem uma maneira de definir o gateway de dados, o tipo de
autenticação e as credenciais necessárias para estabelecer uma conexão com sua
fonte de dados.

Depois de definir uma conexão no Power Query Online, você poderá reutilizar a mesma
conexão posteriormente sem inserir todas essas informações novamente. O campo
Conexão oferece um menu suspenso onde você seleciona suas conexões já definidas.
Depois de selecionar sua conexão já definida, não será necessário inserir outros detalhes
antes de selecionar Avançar.

Depois de selecionar uma conexão nesse menu, você também poderá fazer alterações
nas credenciais, no nível de privacidade e em outros campos específicos do conector
para sua fonte de dados em seu projeto. Selecione Editar conexão e altere qualquer um
dos campos fornecidos.
2. Visualização dos dados
O objetivo do estágio de versão prévia de dados é fornecer uma maneira amigável de
visualizar e selecionar os dados.

Dependendo do conector sendo usado, você pode visualizar os dados com:

Janela do Navegador
Caixa de diálogo de visualização da tabela

Janela do navegador (tabela de navegação) no Power Query Online


A janela Navegador consiste em duas seções principais:

O painel de seleção de objeto é exibido no lado esquerdo da janela. O usuário


pode interagir e selecionar esses objetos.

O painel de visualização de dados no lado direito da janela mostra uma


visualização dos dados do objeto selecionado.

Caixa de diálogo de visualização da tabela no Power Query Online


A caixa de diálogo de visualização da tabela consiste em apenas uma seção para
visualização de dados. Um exemplo de um conector que fornece essa experiência e
janela é o conector Pasta.

3. Editor de consultas
Para o Power Query Online, você precisará carregar os dados no editor do Power Query,
onde poderá transformar e enriquecer ainda mais a consulta se optar por fazer isso.

Informações adicionais
Para entender melhor como obter dados usando as diferentes integrações de produtos
do Power Query, acesse Onde obter dados.
Onde obter dados
Artigo • 05/10/2023

Obter dados de fontes de dados disponíveis geralmente é o primeiro encontro que você
tem com o Power Query. Este artigo fornece as etapas básicas para obter dados de cada
um dos produtos da Microsoft que incluem o Power Query.

7 Observação

Cada uma dessas experiências de obtenção de dados do Power Query contêm


conjuntos de recursos diferentes. Mais informações: Onde você pode usar o Power
Query?

Obter dados no Power BI Desktop


Os procedimentos de onde começar a obter dados no Power BI Desktop são descritos
em Fontes de dados no Power BI Desktop.

No Power BI Desktop, você também pode selecionar diretamente uma planilha do Excel,
um conjunto de dados do Power BI, um banco de dados do SQL Server ou dados do
Dataverse sem usar a opção Obter dados. Você também pode fazer a inserção direta de
dados em uma tabela ou selecionar uma fonte de dados que foi usada recentemente.

Obter dados no Excel (Windows ou Mac)


Para obter dados no Excel para Windows ou Excel para Mac:

1. Na faixa de opções Dados, selecione Obter dados.

2. Percorra pelas seleções de categoria no menu de contexto de obtenção de dados


e selecione o conector que você deseja usar.
Em seguida, será solicitado que você preencha as informações necessárias para acessar
os dados. Acesse os artigos de conectores individuais para obter as informações
necessárias.

No Excel, você também pode selecionar diretamente dados do Texto/CVS, da Web e da


planilha do Excel sem usar a opção Obter dados. Você também pode selecionar uma
fonte de dados que foi usada recentemente e tabelas ou conexões existentes.

7 Observação

Nem todas as versões do Excel são compatíveis com os mesmos conectores do


Power Query. Para obter uma lista completa dos conectores do Power Query
compatíveis com todas as versões do Excel para Windows e Excel para Mac, acesse
Fontes de dados do Power Query em versões do Excel .
Obter dados no serviço do Power BI
Para obter dados no serviço do Power BI:

1. Do lado esquerdo do serviço do Power BI, selecione Workspaces (mas não My


Workspace).

2. No menu de contexto Workspace, selecione o workspace que você deseja usar.

3. No workspace (neste exemplo, TestWorkspace01), selecione o menu de contexto


ao lado de +Novo.

4. No menu de contexto Novo, selecione Fluxo de dados.

5. Em Definir novas tabelas, selecione Adicionar novas tabelas.

6. Na página Escolher fonte de dados, use Pesquisar para pesquisar pelo nome do
conector, ou selecione Ver mais no lado direito do conector para ver uma lista de
todos os conectores disponíveis no serviço Power BI.

7. Caso você escolha ver mais conectores, você ainda pode usar Pesquisar para
pesquisar pelo nome do conector, ou escolher uma categoria para ver uma lista de
conectores associados com essa categoria.

Obter dados no Power Apps


Há vários locais no Power Apps em que você pode obter dados, importando dados para
uma tabela ou criando um fluxo de dados.

Para importar dados para uma nova tabela no Power Apps:

1. No lado esquerdo do Power Apps, selecione Dataverse>Tabelas.


2. No painel Tabelas, no canto superior esquerdo, selecione Importar>Importar
dados.

Você também pode optar por obter dados diretamente de uma planilha do Excel
sem usar a opção Importar dados.

3. Na página Escolher fonte de dados, use Pesquisar para pesquisar pelo nome do
conector, ou selecione Ver mais no lado direito do conector para ver uma lista de
todos os conectores disponíveis no serviço Power BI.

4. Caso você escolha ver mais conectores, você ainda pode usar Pesquisar para
pesquisar pelo nome do conector, ou escolher uma categoria para ver uma lista de
conectores associados com essa categoria.

Para importar dados para uma tabela existente no Power Apps:

1. No lado esquerdo do Power Apps, selecione Dataverse>Tabelas.

2. No painel Tabelas:

Selecione uma tabela no painel Tabelas para a qual você quer importar dados
e, em seguida, selecione Importar>Importar dados.
Abra a tabela em seu painel individual e, em seguida, selecione
Importar>Importar dados.

Em ambos os casos, você também pode optar por obter dados diretamente de
uma planilha do Excel sem usar a opção Importar dados.

3. Selecione o conector na lista de fontes de dados.

Para obter dados no Power Apps ao criar um fluxo de dados:


1. No lado esquerdo do Power Apps, selecione Dataverse>Fluxos de dados.

2. Já existe um fluxo de dados:


a. Clique duas vezes no fluxo de dados.
b. No editor de Power Query, selecione Obter dados.
c. Selecione o conector na lista de fontes de dados.

3. Se nenhum fluxo de dados existir e você quiser criar um novo:

a. Selecione Novo fluxo de dados.

b. Na caixa de diálogo Novo fluxo de dados, insira um nome para o novo fluxo de
dados.

c. Selecione Criar.

d. Selecione o conector na lista de fontes de dados.

Obter dados no Customer Insights do


Dynamics 365
Para obter dados no Customer Insights:

1. No lado esquerdo do Customer Insights, selecione Dados>Fonte de dados.


2. No painel Fontes de dados, selecione Adicionar fonte de dados.

3. Em Escolher seu método de importação, escolha Microsoft Power Query.

4. Em Salvar fonte de dados como, insira um nome para sua fonte de dados.

5. Selecione Avançar.

6. Na página Escolher fonte de dados, use Pesquisar para pesquisar pelo nome do
conector, ou selecione Ver mais no lado direito do conector para ver uma lista de
todos os conectores disponíveis no serviço Power BI.

7. Caso você escolha ver mais conectores, você ainda pode usar Pesquisar para
pesquisar pelo nome do conector, ou escolher uma categoria para ver uma lista de
conectores associados com essa categoria.

Obtenha dados do Data Factory no Microsoft


Fabric (versão prévia)
Para obter dados no Data Factory:

1. Do lado esquerdo do Data Factory, selecione Workspaces (mas não My


Workspace).

2. Do seu espaço de trabalho do Data Factory, selecione Novo>Fluxo de dados Gen2


(versão prévia) para criar um novo fluxo de dados.

3. No Power Query, selecione Obter dados na faixa de opções ou selecione Obter


dados de outra fonte no modo de exibição atual.

4. Na página Escolher fonte de dados, use Pesquisar para pesquisar pelo nome do
conector, ou selecione Ver mais no lado direito do conector para ver uma lista de
todos os conectores disponíveis no serviço Power BI.

5. Caso você escolha ver mais conectores, você ainda pode usar Pesquisar para
pesquisar pelo nome do conector, ou escolher uma categoria para ver uma lista de
conectores associados com essa categoria.

Obter dados no Analysis Services


Com o Analysis Services, uma solução é desenvolvida no Visual Studio com a extensão
de projetos do Analysis Services. Em seguida, a solução é implantada em um workspace
do SQL Server Analysis Services, Azure Analysis Services ou Power BI Premium.

A documentação do Analysis Services contém as seguintes informações que descrevem


o processo de obtenção de dados:
Para configurar uma solução do Visual Studio com a extensão de projetos do
Analysis Services: Criar um projeto de modelo tabular

Para obter dados: Obter dados

Obter dados no Power Automate


Há alguns locais no Power Automate em que você pode obter dados, seja importando
tabelas ou no consultor de processos.

Para obter dados ao importar tabelas:

1. No lado esquerdo do Power Automate, selecione Dados>Tabelas. Neste ponto,


uma nova guia com o Power Apps será aberta no navegador.

2. Na guia Power Apps, siga as instruções para importar dados para uma nova tabela
ou para uma tabela existente na seção Power Apps.

Para obter informações sobre como obter dados no assistente de processo, acesse
Conectar-se a uma fonte de dados.

Obter dados no Azure Data Factory


O Azure Data Factory não usa a mesma interface de obtenção de dados do Power Query
que os outros aplicativos descritos neste artigo. Em vez disso, o Azure Data Factory usa
sua própria funcionalidade interna para importar dados.

No entanto, o Azure Data Factory usa o Power Query para transformar dados na
estruturação de dados. Os seguintes artigos do Azure Data Factory descrevem como
usar o Power Query para a estruturação de dados:

O que é estruturação de dados?


Atividade do Power Query no Azure Data Factory
Preparar dados com estruturação de dados

Obter dados no SQL Server Integration Services


O SSIS (SQL Server Integration Services) não usa a mesma interface de obtenção de
dados do Power Query que os outros aplicativos descritos neste artigo. Em vez disso, o
SSIS usa sua própria funcionalidade interna para importar dados.
Para obter informações sobre como instalar, configurar e usar o Power Query Source
para SSIS, acesse Power Query Source.
Obter experiência de dados
Artigo • 04/10/2023

Obter dados de fontes de dados disponíveis geralmente é o primeiro encontro que você
tem com o Power Query. Este artigo fornece uma explicação dos diferentes módulos na
experiência moderna de obter dados.

7 Observação

Cada uma dessas experiências de obtenção de dados do Power Query contêm


conjuntos de recursos diferentes. Mais informações: Onde você pode usar o Power
Query?

Experiência moderna de obter dados


A experiência de obter dados permite que você descubra e se conecte aos seus dados.

Os procedimentos de onde começar a obter dados no Power BI Desktop são descritos


em Fontes de dados no Power BI Desktop.

A nova experiência modular no Power Query Online é separada em diferentes módulos


localizados na barra de navegação do lado esquerdo. Esses módulos incluem:

Página Inicial (todos)


Modelos (somente no serviço do Power BI)
OneLake Data Hub (somente Fabric)
Novo (todos)
Carregar (todos)
Tabela em branco (todos)
Consulta em branco (todos)

Página Inicial
A página inicial funciona como um resumo de todos os módulos e apresenta diferentes
opções para agilizar o processo e aproximar você dos seus dados. Normalmente, este
módulo contém quaisquer fontes de dados existentes e oferece a opção de usar uma
nova fonte de dados, tabela e fazer upload de arquivos. Na página inicial, você pode
selecionar Exibir mais no lado direito das seções Novas fontes e Hub de dados do
OneLake para visitar esses módulos.

Modelos
Um modelo de fluxo de dados fornece um conjunto predefinido de entidades e
mapeamentos de campo para habilitar o fluxo de dados da origem para o destino, no
Common Data Model. Um modelo de fluxo de dados facilita a movimentação de dados,
o que, por sua vez, reduz a carga geral e o custo para um usuário corporativo. Ele
fornece uma vantagem inicial para ingerir dados em que você não precisa se preocupar
em conhecer e mapear as entidades e campos de origem e destino - nós fazemos isso
para você, por meio de modelos de fluxo de dados. Para obter mais informações sobre
modelos, acesse Introdução aos modelos de fluxo de dados; uma maneira rápida e
eficiente de criar seu placar de líderes de vendas e obter visibilidade sobre seu pipeline
de vendas .

Hub de dados do OneLake


O hub de dados do OneLake facilita a localização, a exploração e o uso dos itens de
dados do Fabric em sua organização aos quais você tem acesso. Ele fornece
informações sobre os itens e pontos de entrada para trabalhar com eles. Para obter mais
informações sobre o hub de dados do OneLake, acesse OneLake Data Hub.

Novo
O novo módulo fornece uma lista completa de conectores que você pode selecionar.
Nesta página, você pode pesquisar um conector em todas as categorias usando a barra
de pesquisa na parte superior da página. Você também pode navegar pelas categorias
para encontrar um conector específico com o qual se integrar. Selecionar um conector
aqui abre a janela de configurações de conexão, que inicia o processo de conexão. Para
obter mais informações sobre como usar conectores, acesse Visão geral de obtenção de
dados.

Upload
O módulo Upload permite que você carregue seus arquivos diretamente. Os seguintes
conectores oferecem suporte a esse recurso:

Excel
JSON
PDF
Texto/CSV
XML

Este módulo é uma extensão desse recurso e permite que você selecione o botão
Procurar para fazer upload de um arquivo local, ou até mesmo arrastar e soltar um
arquivo. Para obter mais informações sobre como carregar arquivos, acesse Fazer
upload um arquivo.

Tabela em branco
O módulo Tabela em branco fornece um início rápido na criação de uma tabela em um
fluxo de dados.

Consulta em branco
O módulo Consulta em branco permite que você escreva ou cole seu próprio script M
para criar uma nova consulta.
Autenticação com uma fonte de dados
Artigo • 23/03/2023

Ao tentar se conectar a uma fonte de dados usando um conector pela primeira vez,
você poderá ser solicitado a selecionar o método de autenticação a ser usado ao
acessar os dados. Depois de selecionar o método de autenticação, você não será
solicitado a selecionar um método de autenticação para o conector usando os
parâmetros de conexão especificados. No entanto, se você precisar alterar o método de
autenticação posteriormente, poderá fazer isso.

Selecionar um método de autenticação


Conectores diferentes mostram diferentes métodos de autenticação. Por exemplo, o
conector OData Feed no Power BI Desktop e no Excel exibe a caixa de diálogo do
método de autenticação a seguir.

Se você estiver usando um conector de um aplicativo online, como o serviço do Power


BI ou o Power Apps, verá uma caixa de diálogo do método de autenticação para o
conector do OData Feed que se parece com a imagem a seguir.
Como você pode ver, uma seleção diferente de métodos de autenticação é apresentada
para um aplicativo online. Além disso, alguns conectores podem solicitar que você insira
o nome de um gateway de dados local para poder se conectar aos seus dados.

Definir o nível do método de autenticação


Em conectores que exigem que você insira uma URL, você será solicitado a selecionar o
nível ao qual o método de autenticação será aplicado. Por exemplo, se você selecionar o
conector da Web com uma URL
https://contoso.com/2020data/List_of_countries_and_capitals , a configuração de nível
padrão para o método de autenticação será https://contoso.com .

O nível selecionado para o método de autenticação escolhido para esse conector


determina qual parte de uma URL terá o método de autenticação aplicado a ela. Se você
selecionar o endereço Web de nível superior, o método de autenticação selecionado
para esse conector será usado para esse endereço de URL ou qualquer subendereço
dentro desse endereço.

No entanto, talvez você não queira definir o endereço de nível superior para um
método de autenticação específico porque subendereços diferentes podem exigir
métodos de autenticação diferentes. Um exemplo poderia ser se você estivesse
acessando duas pastas separadas de um único site do SharePoint e quisesse usar contas
diferentes da Microsoft para acessar cada uma delas.

Depois de definir o método de autenticação para o endereço específico de um


conector, você não precisará selecionar o método de autenticação para esse conector
usando esse endereço de URL ou qualquer subendereço novamente. Por exemplo,
digamos que você selecione o endereço https://contoso.com/ como o nível ao qual
deseja aplicar as configurações da URL do conector da Web. Sempre que você usar um
conector da Web para acessar qualquer página da Web que comece com esse endereço,
não será necessário selecionar o método de autenticação novamente.

Alterar o método de autenticação


Em alguns casos, talvez seja necessário alterar o método de autenticação usado em um
conector para acessar uma fonte de dados específica.

Para editar o método de autenticação no Power BI Desktop ou no Excel

1. Realize um dos seguintes procedimentos:

No Power BI Desktop, na guia Arquivo, selecione Opções e


configurações>Configurações da fonte de dados.
No Excel, na guia Dados, selecione Obter Dados>Configurações da Fonte de
Dados.
2. Na caixa de diálogo Configurações da fonte de dados, selecione Permissões
globais, escolha o site em que você deseja alterar a configuração de permissão e
selecione Editar Permissões.

3. Na caixa de diálogo Editar Permissões, em Credenciais, selecione Editar.


4. Altere as credenciais para o tipo exigido pelo site, selecione Salvar e, por fim,
selecione OK.

Você também pode excluir as credenciais de um determinado site na etapa 3


selecionando Limpar Permissões para um site específico ou selecionando Limpar Todas
as Permissões para todos os sites listados.

Para editar o método de autenticação em serviços online, como em fluxos de dados


no serviço do Power BI e no Microsoft Power Platform

1. Selecione o conector e clique em Editar conexão.

2. Faça as alterações necessárias e selecione Avançar.


Conectar-se ao Azure Active Directory usando
os conectores Web e OData
Ao conectar-se a fontes de dados e serviços que exigem autenticação por meio da
autenticação baseada no OAuth ou no Azure Active Directory, em determinados casos
em que o serviço está configurado corretamente, você pode usar os conectores Web ou
OData internos para autenticar e conectar-se a dados sem exigir um conector
personalizado ou específico do serviço.

Esta seção descreve os sintomas de conexão quando o serviço não está configurado
corretamente. Ela também fornece informações sobre como o Power Query interage
com o serviço quando ele está configurado corretamente.

Sintomas do serviço que não está configurado


corretamente
Se você encontrar o erro Não foi possível conectar porque esse tipo de credencial não
tem suporte para esse recurso. Escolha outro tipo de credencial, esse erro significa que
o serviço não dá suporte ao tipo de autenticação.

Um exemplo disso é o serviço OData da Northwind.

1. Insira o ponto de extremidade da Northwind na experiência "Obter Dados" usando


o conector OData.

2. Selecione OK para inserir a experiência de autenticação. Normalmente, como o


Northwind não é um serviço autenticado, você usaria Anônima. Para demonstrar a
falta de suporte para o Azure Active Directory, escolha Conta organizacional e
selecione Entrar.
3. Você encontrará o erro, indicando que a autenticação do OAuth ou do Azure
Active Directory não tem suporte no serviço.

Fluxo de trabalho com suporte


Um exemplo de um serviço com suporte funcionando corretamente com o OAuth é o
CRM, por exemplo, https://*.crm.dynamics.com/api/data/v8.2 .

1. Insira a URL na experiência "Obter Dados" usando o conector OData.


2. Selecione Conta Organizacional e, em seguida, selecione Entrar para continuar
com a conexão usando o OAuth.

3. A solicitação é bem-sucedida e o fluxo do OAuth continua para permitir que você


se autentique com êxito.

Quando você seleciona Entrar na Etapa 2 acima, o Power Query envia uma solicitação
para o ponto de extremidade de URL fornecido com um Cabeçalho de autorização com
um token de portador vazio.

GET https://*.crm.dynamics.com/api/data/v8.2 HTTP/1.1


Authorization: Bearer
User-Agent: Microsoft.Data.Mashup (https://go.microsoft.com/fwlink/?
LinkID=304225)
Host: pbi.crm.dynamics.com
Connection: Keep-Alive

Espera-se que o serviço responda com uma resposta 401 com um cabeçalho
WWW_Authenticate indicando o URI de autorização do Azure AD a ser usado. Essa
resposta deve incluir o locatário para entrar ou /common/ se o recurso não estiver
associado a um locatário específico.

HTTP/1.1 401 Unauthorized


Cache-Control: private
Content-Type: text/html
Server:
WWW-Authenticate: Bearer
authorization_uri=https://login.microsoftonline.com/3df2eaf6-33d0-4a10-8ce8-
7e596000ebe7/oauth2/authorize
Date: Wed, 15 Aug 2018 15:02:04 GMT
Content-Length: 49

O Power Query pode iniciar o fluxo OAuth no authorization_uri. O Power Query solicita
um valor de Recurso ou Audiência do Azure AD igual ao domínio da URL que está
sendo solicitada. Esse valor seria o valor que você usaria como valor de URL da ID do
Aplicativo do Azure no registro da API/do serviço. Por exemplo, se estiver acessando
https://api.myservice.com/path/to/data/api , o Power Query esperaria que o valor da

URL da ID do Aplicativo fosse igual a https://api.myservice.com .

As seguintes IDs de cliente do Azure Active Directory são usadas pelo Power Query.
Talvez seja necessário permitir explicitamente que essas IDs de cliente acessem seu
serviço e a API, dependendo das configurações gerais do Azure Active Directory.

ID do Cliente Título Descrição

a672d62c-fc7b-4e81-a576- Power Query para Cliente público, usado no Power BI


e60dc46e951d Excel Desktop e no Gateway.

b52893c8-bc2e-47fc-918b- Atualização de Dados Cliente confidencial, usado no serviço do


77022b299bbc do Power BI Power BI.

7ab7862c-4c57-491e- Power Apps e Power Cliente confidencial, usado no Power Apps


8a45-d52a7e023983 Automate e no Power Automate.

Talvez seja necessário permitir explicitamente que essas IDs de cliente acessem seu
serviço e a API, dependendo das configurações gerais do Azure Active Directory. Confira
a etapa 8, Adicionar um escopo, para obter mais detalhes.

Se você precisar de mais controle sobre o fluxo OAuth (por exemplo, se seu serviço
precisar responder com um 302 em vez de um 401 ), ou se a URL da ID do Aplicativo ou
o valor do Recurso do Azure AD não corresponder à URL do seu serviço, você precisará
usar um conector personalizado. Para obter mais informações sobre como usar nosso
fluxo interno do Azure AD, acesse a Autenticação do Azure Active Directory.
Conexões e autenticação no Power
Query Online
Artigo • 05/10/2023

No Power Query Online, uma conexão refere-se ao identificador exclusivo e às


credenciais associadas usadas para estabelecer uma conexão com uma fonte de dados
específica. Um recurso conveniente das conexões no Power Query é que você pode criar
várias conexões na mesma fonte de dados com credenciais diferentes.

Existem duas categorias de conexões:


Nome da categoria ícone Descrição
de conexão

Nuvem Qualquer conexão para fonte de dados que é baseada em


nuvem e que não usa um gateway.

No local Qualquer conexão que requer um gateway.

Criar uma conexão


Durante a experiência de obter dados no Power Query Online, você encontrará uma
caixa de diálogo onde insere informações para criar e estabelecer uma conexão com sua
fonte de dados. O processo é padrão para todos os conectores no Power Query, mas
alguns conectores podem exigir mais informações para criar uma conexão.

Criando uma conexão de nuvem


Usando o conector de banco de dados do Azure SQL Server como exemplo, você pode
inserir as configurações do conector para estabelecer uma conexão. Para o conector do
Azure SQL Server, a configuração obrigatória é apenas o nome do servidor, mas você
também pode inserir o nome do banco de dados e selecionar quaisquer outras opções
avançadas disponíveis para o conector.

Depois de inserir os valores para as configurações do conector na seção Configurações


de conexão, você pode continuar com a seção Credenciais de conexão. Nesta seção,
você pode criar uma conexão específica para as configurações de conexão inseridas
anteriormente.
A tabela a seguir contém os campos e valores usados na seção Configurações de
conexão.

Campo Descrição Valor de exemplo

Nome da O nome que você pode inserir para sua nova Exemplo de conexão
Conexão conexão.

Gateway de Um campo opcional que permite associar um nenhum


dados gateway à sua conexão. Para conexões de nuvem,
não há associação de gateway à conexão.

Tipo de O tipo de autenticação que você seleciona para usar Conta organizacional
autenticação que é compatível com o conector.

Credenciais Dependendo do tipo de autenticação selecionado, Derivado do fluxo


haverá um conjunto contextual de campos para OAuth2, mas é mostrado
inserir suas credenciais, um botão para iniciar um como um botão Entrar
fluxo OAuth2 ou até mesmo nenhum campo para na imagem
um tipo de autenticação, como Anônimo.
7 Observação

Por padrão, o campo para o nome da conexão tenta fornecer um nome padrão
quando você cria uma conexão usando as informações das configurações de
conexão.

Depois de concluir a seção Configurações de conexão, selecione o botão Avançar para


avançar na experiência de obter dados.

 Dica

Alguns conectores fornecem uma experiência de entrada automática. Para saber


mais sobre essa funcionalidade, acesse entrada automática.

Criando uma conexão local


Como alternativa, você também pode associar um gateway à sua conexão, convertendo
sua conexão de uma conexão de nuvem em uma conexão local.

7 Observação

Para criar um gateway, você pode ler o artigo sobre como usar um gateway de
dados local em fluxos de dados.

Usando um banco de dados local do SQL Server como exemplo, insira as configurações
do conector para estabelecer uma conexão. Para o conector do SQL Server, a
configuração obrigatória é apenas o nome do servidor, mas você também pode inserir o
nome do banco de dados e selecionar quaisquer outras opções avançadas disponíveis
para o conector. Para fins de demonstração, o nome do servidor e o banco de dados
foram inseridos.
Depois de inserir os valores para o conector em Configurações de conexão, você pode
continuar com a seção Credenciais de conexão. Nesta seção, você pode criar uma
conexão específica para as configurações de conexão inseridas anteriormente.

A tabela a seguir contém os campos e valores usados na seção Configurações de


conexão.
Campo Descrição Valor de exemplo

Nome da O nome que você pode inserir para sua nova localhost;AdventureWorks2019
Conexão conexão.

Gateway de Um campo opcional que permite associar um Mike Test


dados gateway à sua conexão.

Tipo de O tipo de autenticação que você seleciona para Basic


autenticação usar que é compatível com o conector.

Credenciais Dependendo do tipo de autenticação Nome de usuário e senha


selecionado, haverá um conjunto contextual de
campos para inserir suas credenciais, um botão
para iniciar um fluxo OAuth2 ou até mesmo
nenhum campo para um tipo de autenticação,
como Anônimo.

Depois de concluir a seção Configurações de conexão, selecione o botão Avançar para


avançar na experiência de obter dados.

Componentes de uma conexão


Cada conexão é composta por um conjunto de componentes. A tabela a seguir contém
mais informações para cada componente.

Nome de Obrigatório Descrição Amostra


componente ou opcional

Tipo de Fonte Obrigatório A fonte de dados para a qual a SQL Server, Arquivo,
de Dados conexão está sendo estabelecida. Pasta, Azure Data
Lake Storage

Caminho da Obrigatório Uma cadeia de caracteres que Nome do Servidor,


Fonte de Dados representa os valores ou Nome do Banco de
parâmetros usados para estabelecer Dados
uma conexão com sua fonte de
dados.

Autenticação Obrigatório Engloba o método de autenticação Windows, OAuth2,


e as credenciais usadas para Anônimo
autenticação.

Gateway Opcional Usado quando um gateway é Qualquer gateway


necessário para estabelecer a
conexão e executar qualquer
avaliação de consulta.
Nome de Obrigatório Descrição Amostra
componente ou opcional

Nível de Opcional Estabelece a segurança para cada Nenhum, Público,


privacidade conexão, que é levada em Organizacional,
consideração quando consultas de Privado
diferentes conexões são
combinadas.

) Importante

Atualmente, o nível de privacidade está definido como Nenhum para quaisquer


novas conexões criadas. Quando você tenta combinar várias fontes de dados, uma
nova caixa de diálogo solicita que você defina os níveis de privacidade de dados
das fontes de dados que você deseja combinar.

Conexões conhecidas
Quando o Power Query reconhece um conjunto de configurações de conexão, ele tenta
procurar em seu respectivo armazenamento de credenciais para ver se há uma conexão
que corresponda a essas configurações e, em caso afirmativo, seleciona
automaticamente essa conexão.
Para substituir esse comportamento, você pode executar uma das duas ações a seguir:

Exiba o menu suspenso para examinar uma lista de conexões disponíveis para as
configurações de conexão especificadas. Em seguida, você pode selecionar a que
deseja usar ou criar uma nova.
Selecione Editar conexão para modificar a conexão existente ou selecione Criar
nova conexão no menu suspenso para criar uma nova conexão nomeada.
Mais recursos
Lista de conectores no Power Query
Documentação dos gateways de dados locais
Alterar o gateway usado em um fluxo de dados
Solução de problemas de fluxo de dados: conexão com a fonte de dados
Entrada automática em fontes de dados
do Azure Active Directory
Artigo • 05/10/2023

O recurso de entrada automática tenta entrar automaticamente como o usuário atual ao


se conectar a fontes de dados no Power Query por meio do Azure Active Directory
como um dos tipos de autenticação. Ele realiza essa entrada automática para agilizar o
processo de autenticação e reduzir o tempo necessário para começar a trabalhar com
dados.

Em nível mais técnico, o recurso de entrada automática para fontes de dados do Azure
Active Directory usa as informações obtidas do usuário autenticado no momento na
experiência do Power Query Online. Essas informações são usadas para solicitar um
novo token de acesso para uma fonte de dados selecionada durante as configurações
de conexão e as etapas de autenticação do processo de obtenção de dados.

7 Observação

No momento, essa funcionalidade só está disponível no Power Query Online e está


habilitada por padrão para um conjunto selecionado de conectores. A habilitação
desse recurso não exige uma configuração específica.

Ao selecionar um conector com esse recurso, ele conecta você automaticamente à


conta organizacional definida como o tipo de autenticação.
 Dica

Se você quiser se autenticar com outra conta, selecione o link Alternar conta que
aparece na caixa de diálogo.

Leitura adicional
Autenticação no Power Query Online
Plataforma de identidade da Microsoft e o fluxo On-Behalf-Of de OAuth 2.0
Carregar um arquivo (versão prévia)
Artigo • 23/03/2023

Você pode carregar arquivos em seu projeto de Power Query ao usar Power Query
Online.

Atualmente, os conectores a seguir dão suporte ao envio de um recurso de arquivo.

Excel
JSON
PDF
Texto/CSV
XML

7 Observação

Somente arquivos com as seguintes extensões têm suporte para upload: .csv, .json,
.pdf, .prn, .tsv, .txt, .xl, .xls, .xlsb, .xlsm, .xlsw, .xlsx .xml.

Carregar uma experiência de arquivo


Quando você seleciona um conector que oferece a experiência de carregar arquivo ,
você observará um botão de opção na parte superior que habilita esse recurso.
Quando você seleciona Carregar arquivo, a opção abaixo abre uma caixa de diálogo
simples para permitir que você arraste um arquivo ou navegue no sistema de arquivos
local para carregar um arquivo.

Depois de selecionar o arquivo, uma barra de progresso mostra como o processo de


carregamento está indo. Depois que o processo de carregamento for concluído, você
poderá ver uma marca de seleção verde abaixo do nome do arquivo, com a mensagem
Carregamento bem-sucedido e o tamanho do arquivo ao lado dele.

7 Observação

Os arquivos carregados por meio desse recurso são armazenados em sua conta de
Microsoft OneDrive for Business pessoal.

Antes de selecionar o próximo botão, você precisa alterar o tipo de autenticação do


Anônimo para a conta organizacional e passar pelo processo de autenticação. Inicie
esse processo selecionando Entrar.

Depois de passar pelo processo de autenticação, uma mensagem Você está atualmente
assinada sob a seleção do Tipo de Autenticação, vamos saber que você entrou com
êxito. Depois de entrar, selecione Avançar. Em seguida, o arquivo é armazenado em sua
conta de Microsoft OneDrive for Business pessoal e uma nova consulta é criada com
base no arquivo que você carregou.

Experiência de arrastar e soltar no editor de consultas


Ao usar o editor de Power Query, você pode soltar um arquivo no modo de exibição de
diagrama ou no painel de consultas para carregar um arquivo.
Ao soltar o arquivo em qualquer uma das seções mencionadas anteriormente, uma
caixa de diálogo com a página de configurações do conector apropriada será mostrada,
com base na extensão de arquivo do arquivo que está sendo carregado.
Importação de arquivos do SharePoint e
do OneDrive for Business
Artigo • 23/03/2023

O Power Query oferece uma série de maneiras de obter acesso a arquivos hospedados
no SharePoint ou OneDrive for Business.

Procurar arquivos

7 Observação

Atualmente, você só pode procurar arquivos OneDrive for Business do usuário


autenticado dentro do Power Query Online para PowerApps.

2 Aviso

Esse recurso exige que seu navegador permita cookies de terceiros. Se o navegador
tiver bloqueado cookies de terceiros, a caixa de diálogo Procurar será exibida, mas
ficará completamente em branco sem nenhuma opção para fechar a caixa de
diálogo.

Power Query fornece um botão Pesquisar no OneDrive ao lado do caminho do arquivo


ou caixa de texto de URL quando você cria um fluxo de dados no PowerApps usando
qualquer um desses conectores:

Excel
JSON
PDF
XML
TXT/CSV
Ao selecionar esse botão, você será solicitado a passar pelo processo de autenticação.
Depois de concluir esse processo, uma nova janela será exibida com todos os arquivos
dentro do OneDrive for Business do usuário autenticado.

Você pode selecionar o arquivo de sua escolha e, em seguida, selecionar o botão Abrir.
Depois de selecionar Abrir, você será levado de volta para a página de configurações de
conexão inicial em que verá que o caminho do arquivo ou a caixa de texto de URL
agora contém a URL exata para o arquivo selecionado no OneDrive for Business.
Você pode selecionar o botão Avançar no canto inferior direito da janela para continuar
o processo e obter seus dados.

No conector da Web usando uma URL de


arquivo
1. Navegue até o local do seu OneDrive for Business usando um navegador. Clique
no arquivo que você deseja usar e selecione Abrir no Excel.

7 Observação

A interface do navegador pode não ser exatamente igual à imagem a seguir.


Há várias maneiras de selecionar Abrir no Excel para arquivos em sua
interface de navegador do OneDrive for Business. Você pode usar qualquer
opção que permite abrir o arquivo no Excel.
2. No Excel, selecione Arquivo>Informações e selecione o botão Copiar caminho.

Para usar o link que você acabou de copiar no Power Query, execute as seguintes
etapas:
1. Selecione Obter Dados>Web.

2. Na caixa de diálogo Da Web, selecione a opção Básico e cole o link na URL.

3. Remova a cadeia de caracteres ?web=1 no final do link para que o Power Query
possa navegar corretamente até o arquivo e, em seguida, selecione OK.
4. Se o Power Query solicitar suas credenciais, escolha Windows (para sites locais do
SharePoint) ou Conta Organizacional (para sites do Microsoft 365 ou do OneDrive
for Business). Selecione Conectar.

U Cuidado

Ao trabalhar com arquivos hospedados no OneDrive for Home, o arquivo ao


qual você deseja se conectar precisa estar disponível publicamente. Ao definir
o método de autenticação para essa conexão, selecione a opção Anônimo .

Quando a caixa de diálogo do Navegador é exibida, selecione na lista de tabelas as


planilhas e intervalos encontrados na pasta de trabalho do Excel. De lá, você pode usar
o arquivo do OneDrive for Business da mesma forma que qualquer outro arquivo do
Excel. Você pode criar relatórios e usá-los em conjuntos de dados como faria com
qualquer outra fonte de dados.

7 Observação
Para usar um arquivo do OneDrive for Business como fonte de dados no serviço do
Power BI, com Atualização de Serviço habilitada para esse arquivo, selecione
OAuth2 como o Método de autenticação ao configurar as definições de
atualização. Caso contrário, você pode encontrar um erro (como Falha ao atualizar
as credenciais de fonte de dados) ao tentar se conectar ou atualizar. Selecionar
OAuth2 como método de autenticação resolve esse erro de credenciais.

Conector de pasta do SharePoint


Você pode ler um guia passo a passo detalhado sobre como se conectar aos arquivos
hospedados em seu site do SharePoint no artigo da pasta do SharePoint.

Depois de estabelecer a conexão com êxito, você será solicitado com uma visualização
de tabela que mostra os arquivos em seu site do SharePoint. Selecione o botão
Transformar dados na parte inferior direita da janela.

Selecionar o botão Transformar Dados levará você a uma exibição dos dados chamados
de exibição do Sistema de arquivos. Cada uma das linhas nesta tabela representa um
arquivo que foi encontrado em seu site do SharePoint.
A tabela tem uma coluna chamada Conteúdo que contém seu arquivo em um formato
binário. Os valores na coluna Conteúdo têm uma cor diferente do restante dos valores
nas outras colunas da tabela, o que indica que eles são selecionáveis.

Ao selecionar um valor binário na coluna Conteúdo, o Power Query adicionará


automaticamente uma série de etapas em sua consulta para navegar até o arquivo e
interpretar seu conteúdo sempre que possível.

Por exemplo, na tabela mostrada na imagem anterior, você pode selecionar a segunda
linha em que o campo Nome tem um valor de 02-February.csv. O Power Query criará
automaticamente uma série de etapas para navegar e interpretar o conteúdo do arquivo
como um arquivo CSV.

7 Observação
Você pode interagir com a tabela aplicando filtros, classificações e outras
transformações antes de navegar até o arquivo de sua escolha. Depois de concluir
essas transformações, selecione o valor binário que você deseja exibir.

Experiência OneDrive for Business


O conector de pasta do SharePoint e sua experiência também funcionam para arquivos
hospedados em OneDrive for Business. No entanto, a URL que você precisa usar é
diferente daquela que você usaria para um site do SharePoint. Para localizar sua URL
exclusiva, acesse seu portal de OneDrive for Business e copie a URL do navegador. Por
exemplo, ela deve ser semelhante à seguinte:

https://contoso-
my.sharepoint.com/personal/user123_contoso_com/_layouts/15/onedrive.aspx

Você não precisa da URL completa, mas apenas das primeiras partes. A URL que você
precisa usar no Power Query terá o seguinte formato:

https://<unique_tenant_name>.sharepoint.com/personal/<user_identifier>

Por exemplo:

https://contoso-my.sharepoint/personal/user123_contoso_com

Função SharePoint.Contents
Embora o conector de pasta do SharePoint ofereça uma experiência em que você possa
ver todos os arquivos disponíveis em seu site do SharePoint ou OneDrive for Business
de uma só vez, você também pode optar por uma experiência diferente. Nessa
experiência, você pode navegar pelas pastas do SharePoint ou OneDrive for Business e
acessar a pasta ou os arquivos nos quais está interessado.

Essa experiência é fornecida por meio da função SharePoint.Contents. Execute as


seguintes etapas para usar esta função:

1. Crie uma consulta em branco.

2. Altere o código na barra de fórmulas para estar SharePoint.Contents("url") onde


url está o mesmo formato usado para o conector de pasta do SharePoint. Por
exemplo:

SharePoint.Contents("https://contoso.sharepoint.com/marketing/data")
7 Observação

Por padrão, essa função tenta usar a API do SharePoint versão 14 para se
conectar. Se você não tiver certeza da versão da API que está sendo usada
pelo seu site do SharePoint, talvez queira tentar usar o seguinte código de
exemplo:
SharePoint.Contents("https://contoso.sharepoint.com/marketing/data",

[ApiVersion="Auto"]) .

3. O Power Query solicitará que você adicione um método de autenticação para sua
conexão. Use o mesmo método de autenticação que você usaria para o conector
de arquivos do SharePoint.

4. Navegue pelos diferentes documentos até a pasta ou os arquivos específicos nos


quais você está interessado.

Por exemplo, imagine um site do SharePoint com uma pasta Documentos


Compartilhados. Você pode selecionar o valor Tabela na coluna Conteúdo dessa
pasta e navegar diretamente para essa pasta.

Dentro dessa pasta Documentos Compartilhados, há uma pasta em que a empresa


armazena todos os relatórios de vendas. Essa pasta se chama Relatórios de Vendas.
Você pode selecionar o valor Tabela na coluna Conteúdo dessa linha.
Com todos os arquivos dentro da pasta Relatórios de Vendas, você pode selecionar
o botão Combinar arquivos (consulte Visão geral sobre combinar arquivos) para
combinar os dados de todos os arquivos nessa pasta com uma única tabela. Ou
você pode navegar diretamente para um único arquivo de sua escolha
selecionando o valor binário na coluna Conteúdo.

7 Observação

A experiência fornecida pela função é ideal para ambientes SharePoint.Contents


do SharePoint e OneDrive for Business com um grande número de arquivos.
Falta de suporte para o Microsoft Graph
no Power Query
Artigo • 05/10/2023

A conexão com o Microsoft Graph (às APIs REST) do Power Query não é recomendada
ou não é compatível. Assim, recomendamos que os usuários explorem soluções
alternativas para recuperar dados de análise baseados no Graph, como a conexão de
dados do Microsoft Graph.

Você pode achar que pode fazer com que determinadas chamadas REST para pontos de
extremidade da API do Microsoft Graph funcionem por meio das funções Web.Contents
ou OData.Feed , mas essas abordagens não são confiáveis como soluções de longo
prazo.

Este artigo descreve os problemas associados à conectividade do Microsoft Graph a


partir do Power Query e explica por que ela não é recomendada.

Autenticação
O fluxo interno de autenticação de Conta Organizacional das funções Web.Contents e
OData.Feed do Power Query não é compatível com a maioria dos pontos de
extremidade do Graph. Especificamente, o cliente do Azure Active Directory (Azure AD)
do Power Query solicita o escopo user_impersonation , que não é compatível com o
modelo de segurança do Graph. O Graph usa um conjunto avançado de permissões que
não estão disponíveis em nossos conectores Web e OData genéricos.

A implementação de seus próprios fluxos de recuperação de credenciais do Azure AD


diretamente na consulta ou usar credenciais codificadas ou inseridas também não é
recomendado por motivos de segurança.

Incompatibilidade das bibliotecas do OData


Determinados pontos de extremidade do Graph e extensões para o Graph podem
requerer o uso de bibliotecas e recursos OData que não têm suporte da função
OData.Feed interna do Power Query, pois o Graph e o Power Query podem estar usando

duas versões diferentes de bibliotecas OData. Esses problemas geralmente resultam em


erros ao recuperar o documento $metadata do serviço. Você pode descobrir diretrizes
comuns relacionadas à passagem da opção Implementation = "2.0" para a chamada de
função OData.Feed para garantir que as bibliotecas OData mais recentes com suporte
sejam usadas. Embora essa abordagem resolva certas incompatibilidades do OData,
você ainda pode encontrar erros ao longo do tempo, pois o Graph e o Power Query
adotam novas versões das bibliotecas OData em momentos diferentes.

Desempenho
A API do Microsoft Graph foi projetada para dar suporte a muitos cenários de aplicativo,
mas é subótima para a recuperação de dados em larga escala, necessária na maioria dos
cenários de análise. Se você tentar recuperar grandes quantidades de dados de APIs do
Graph, poderá se deparar com problemas de desempenho. Detalhes sobre a
aplicabilidade do cenário podem ser encontrados na documentação do Graph.

Usar um conector personalizado


Alguns usuários do Power Query habilitaram a conectividade do Graph por meio de
conectores personalizados, limitando a funcionalidade a determinadas partes da API do
Graph. Essa abordagem permite que os desenvolvedores de conectores resolvam
problemas gerais de autenticação definindo os próprios clientes do Azure AD com
permissões específicas do Graph. Alguns conectores personalizados contornam os
desafios do OData usando Web.Contents e simulando o suporte do OData dentro da
lógica do conector. No entanto, essa abordagem não é recomendada, pois os usuários
frequentemente acabam se deparando com os problemas de desempenho e
escalabilidade descritos acima. Os desenvolvedores que adotam essa rota devem ter
essas limitações sempre em mente.
Alternativas à conectividade pronta para
uso no Power BI Desktop
Artigo • 13/05/2023

Embora Power BI Desktop ofereça conectividade pronta para mais de 150 fontes de
dados, pode haver casos em que você deseja se conectar a uma fonte de dados para a
qual nenhum conector pronto para uso está disponível.

Conectividade por meio de interfaces genéricas


Pode ser possível conectar-se a determinadas fontes de dados sem um conector interno
pronto para uso usando conectores de interface genéricos.

Por exemplo, o conector ODBC pode se conectar a serviços com interfaces ODBC e o
conector Web pode se conectar a serviços com interfaces de API REST.

O uso de conectores de interface genéricos disponíveis do Power BI para se conectar


por meio de interfaces compatíveis com a fonte de dados final permite que você se
conecte a muito mais fontes de dados na Internet do que há conectores prontos para
uso específicos.

Para saber mais sobre conectividade por meio de interfaces genéricas, acesse Conectar-
se a dados usando interfaces genéricas.

Conectividade por meio de um conector


personalizado
O SDK Power Query permite criar conectores personalizados para desbloquear cenários
de conectividade para Power BI Desktop. Você pode criar e distribuir conectores
personalizados para serviços finais e fontes de dados às quais eles podem se autenticar.

Membros da comunidade e organizações também podem compartilhar conectores


personalizados que eles criaram. Embora a Microsoft não ofereça suporte, propriedade
ou garantias para esses conectores personalizados, talvez você possa usá-los para seus
cenários. O Programa de Parceiros do Power BI também inclui muitos parceiros que
podem criar conectores personalizados. Para saber mais sobre o programa ou encontrar
um parceiro, acesse Entrar em contato com um parceiro do Power BI .

Os usuários que possuem um serviço final ou uma fonte de dados podem criar um
conector personalizado e podem ser qualificados para certificar o conector para que ele
seja disponibilizado publicamente em Power BI Desktop.

Solicitar ao proprietário da fonte de dados para


compilar e certificar um conector
Como somente o proprietário da fonte de dados ou um terceiro aprovado pode criar e
certificar um conector personalizado para qualquer serviço, os usuários finais são
incentivados a compartilhar a demanda por um conector diretamente com o
proprietário da fonte de dados para incentivar o investimento na criação e certificação
de um.

Solicitação no fórum ideias do Power BI


Além de envolver diretamente o proprietário da fonte de dados, você também deve
criar ou votar em ideias no Fórum de Ideias do Power BI para demonstrar a
necessidade e a demanda por um conector. Esses comentários também ajudam a
incentivar o proprietário da fonte de dados a investir em um conector certificado
disponível para usuários prontos para uso no Power BI Desktop.
Conectar-se a dados usando interfaces
genéricas
Artigo • 07/04/2023

Conecte-se a uma variedade de fontes de dados diferentes usando conectores de dados


integrados que vão desde bancos de dados do Access até recursos do Zendesk.
Conecte-se também a todos os outros tipos de fontes de dados para expandir ainda
mais as opções de conectividade ao usar as interfaces genéricas (como ODBC ou APIs
REST) integradas no Power Query Desktop e no Power Query Online.

interfaces de dados do Power Query


O Power Query inclui uma coleção cada vez maior de conectores desenvolvidos para se
conectarem a uma fonte de dados específica. Por exemplo, o conector Lista do
SharePoint fornece campos específicos e informações de apoio durante a sequência de
conexão, projetado para listas do SharePoint. Outras fontes de dados encontradas na
janela que aparece quando você escolhe obter os dados (no Power Query Desktop) ou
escolher uma fonte de dados (no Power Query Online) funcionam da mesma maneira.

Além disso, também é possível conectar-se a fontes de dados que não estão
identificadas na obtenção de dados e na escolha das listas de fontes de dados ao usar
uma das seguintes interfaces genéricas de dados:

ODBC
OLE DB
OData
APIs REST
Scripts de R

Ao fornecer os parâmetros apropriados nas janelas de conexão fornecidas por essas


interfaces genéricas, a quantidade de fontes de dados que você pode acessar e usar no
Power Query aumenta consideravelmente.

Nas seções a seguir, encontre várias listas de fontes de dados que podem ser acessadas
por essas interfaces genéricas.

Fontes de dados acessíveis por meio do ODBC


O conector para ODBC do Power Query permite que você importe os dados de qualquer
driver ODBC de terceiros bastando especificar um DSN (Nome da Fonte de Dados) ou
uma cadeia de conexão. Como opção, especifique também uma instrução SQL para ser
executada no driver ODBC.
Fontes de dados acessíveis por meio do OLE DB
O conector OLE DB do Power Query permite que você importe os dados de qualquer
driver OLE DB de terceiros bastando especificar uma cadeia de conexão. Como opção,
especifique também uma instrução SQL para ser executada no driver OLE DB.
A lista a seguir fornece detalhes de alguns exemplos de fontes de dados às quais o
Power Query pode se conectar usando a interface genérica do OLE DB.

Conector genérico do Power Fonte de dados Link para mais informações


Query externa

OLE DB OLE DB para SAS Provedor SAS para OLE DB

OLE DB OLE DB para Sybase Provedor Sybase para OLE


DB

Fontes de dados acessíveis por meio do OData


O conector feed OData no Power Query permite que você importe os dados de
qualquer URL do OData bastando digitar ou calor a URL do OData. Adicione várias
partes da URL digitando ou colando esses links nas caixas de texto fornecidas na janela
feed OData.
A lista a seguir fornece detalhes de alguns exemplos de fontes de dados às quais o
Power Query pode se conectar usando a interface genérica do OData.

Conector genérico do Fonte de dados Link para mais informações


Power Query externa

OData Em breve Verifique novamente em breve para ver as


fontes de dados OData

Fontes de dados acessíveis por meio das APIs


REST
Conecte-se a fontes de dados usando as APIs REST e, portanto, use dados de todos os
tipos de fontes de dados que dão suporte ao REST.
A lista a seguir fornece detalhes sobre alguns exemplos de fontes de dados às quais o
Power BI Desktop pode se conectar usando a interface genérica das APIs REST.

Conector genérico do Power BI Fonte de dados Link para mais informações


Desktop externa

APIs REST Couchbase DB Informações sobre a API REST do


Couchbase

Fontes de dados acessíveis por meio do Script


do R
Use scripts do R para acessar fontes de dados e use esses dados no Power BI Desktop.
A lista a seguir fornece detalhes sobre alguns exemplos de fontes de dados às quais o
Power BI Desktop pode se conectar usando a interface genérica dos scripts do R.

Conector genérico do Power BI Fonte de dados Link para mais informações


Desktop externa

Script do R Arquivos SAS Diretrizes do CRAN sobre o script


do R

Script do R Arquivos SPSS Diretrizes do CRAN sobre o script


do R

Script do R Arquivos estatísticos Diretrizes do CRAN sobre o script


do R do R
Gerenciar conexões (Versão Preliminar)
Artigo • 22/09/2023

7 Observação

No momento, esse recurso está disponível apenas no Power Query Online e está
em visualização pública. Este recurso atualmente está disponível apenas no Power
Query Online e está em prévia pública.

Com o Power Query, você pode se conectar a uma infinidade de fontes de dados.
Quando você se conecta a uma fonte de dados, você fundamentalmente cria uma
conexão com ela. Quando você se conecta a uma fonte de dados, fundamentalmente
você cria uma conexão com ela. Essa conexão consiste em sua fonte de dados,
credenciais e mais informações, como níveis de privacidade e parâmetros opcionais para
cada fonte de dados. Essa conexão consiste na sua fonte de dados, credenciais e
informações adicionais, como níveis de privacidade e parâmetros opcionais para cada
fonte de dados. A caixa de diálogo Gerenciar conexões é uma maneira centralizada em
seu projeto do Power Query de gerenciar as conexões que estão sendo referenciadas
pelo seu projeto.

A entrada para a caixa de diálogo Gerenciar conexões está disponível na guia Página
Inicial do Power Query na faixa de opções do grupo Fontes de dados.

Gerenciar conexões exibe uma lista de todas as conexões que estão sendo
referenciadas em seu projeto do Power Query. Também é possível desvincular e editar
qualquer uma das conexões em seu projeto.

Desvincular uma conexão


Bem ao lado do nome da conexão e antes da coluna Tipo de fonte, há um ícone para
desvincular a conexão.

Quando você desvincula uma conexão, você está simplesmente removendo a referência
da conexão do seu projeto. Desvincular significa que a definição da conexão não é
removida do back-end, mas não pode ser usada em seu projeto.

Um novo prompt solicita que você confirme que deseja desvincular a conexão.

7 Observação

Se você deseja excluir uma conexão de dentro de uma integração de produto


específico, como o Microsoft Power BI ou o Microsoft Fabric, certifique-se de
consultar a documentação de cada produto sobre como um portal de conexões
centralizado pode ser usado.

Editar uma conexão


Bem ao lado do nome da conexão e antes do ícone de desconexão, há um ícone para
editar a conexão.

A funcionalidade de edição permite alterar os seguintes valores:

Gateway de dados: se a sua fonte de dados usar um gateway de dados, você


poderá modificar o gateway usando a lista suspensa desse campo.
Credenciais de tipo de autenticação: &dependendo do conector, são
apresentadas várias opções de tipo de autenticação disponíveis para estabelecer
uma conexão e campos nos quais você insere suas credenciais.
Mais recursos
Experiência de Obter Dados no Power Query
Conectores disponíveis no Power Query
Alterar o gateway usado em um projeto
de fluxo de dados
Artigo • 13/05/2023

Ao criar um novo projeto de fluxo de dados no Power Query Online, você pode
selecionar o gateway de dados local usado para suas fontes de dados específicas
durante a experiência de obtenção de dados. Este artigo mostra como você pode
modificar ou atribuir um gateway a um projeto de fluxo de dados existente.

7 Observação

Antes de poder alterar um gateway, verifique se você já tem os gateways


necessários registrados em seu locatário e com acesso para os autores do projeto
de fluxo de dados. Você pode saber mais sobre gateways de dados usando um
gateway de dados local em fluxos de dados do Power Platform.

Alterando o gateway
Para mostrar como alterar o gateway em um projeto de fluxo de dados, este artigo usa
uma consulta que se conecta a uma pasta local como exemplo.

Essa consulta usou anteriormente um gateway chamado "Gateway A" para se conectar à
pasta. Mas o "Gateway A" não tem mais acesso à pasta devido a novas políticas da
empresa. Um novo gateway chamado "Gateway B" foi registrado e agora tem acesso à
pasta necessária para a consulta. A meta é alterar o gateway usado neste projeto de
fluxo de dados para que ele use o novo "Gateway B".

Para alterar o gateway:

1. Na guia Página Inicial no Power Query, selecione Opções.

2. No menu suspenso, selecione Opções do Projeto.


3. Na caixa de diálogo Opções do Projeto, selecione o gateway a ser usado para seu
projeto, nesse caso, o Gateway B.
 Dica

Se houver alterações recentes em seus gateways, selecione o ícone de


atualização pequeno à direita do menu suspenso para atualizar a lista de
gateways disponíveis.

4. Depois de selecionar o gateway correto para o projeto, nesse caso, o Gateway B,


selecione OK para voltar ao editor de Power Query.

Validar a sua conexão de fonte de dados


Depois de alterar o gateway de dados, recomendamos que você verifique seus
caminhos de fonte de dados para garantir que suas consultas estejam se conectando às
fontes de dados conforme o esperado.

7 Observação

O mecanismo da M identifica uma fonte de dados usando uma combinação de seu


Tipo e Caminho.

O tipo define qual função de conector ou de fonte de dados está sendo usada,
como SQL Server, pasta, pasta de trabalho do Excel ou outros.
O valor do caminho é derivado dos parâmetros necessários da função de fonte de
dados e, para este exemplo, esse seria o caminho da pasta.

A melhor maneira de validar o caminho da fonte de dados é ir para a consulta em que


sua função de fonte de dados está sendo usada e verificar os parâmetros que estão
sendo usados para ela. Para este exemplo, há apenas uma consulta que se conecta a
uma pasta e essa consulta tem a etapa De origem com o caminho da fonte de dados
definido nela. Você pode clicar duas vezes na etapa De origem para obter a caixa de
diálogo que indica os parâmetros usados para sua função de fonte de dados. Verifique
se o caminho da pasta, ou os parâmetros corretos para a função de fonte de dados, é o
correto em relação ao gateway que está sendo usado.

Modificar autenticação
Para modificar as credenciais usadas em sua fonte de dados, selecione Obter dados na
faixa de opções do editor Power Query para iniciar a caixa de diálogo Escolher fonte de
dados e, em seguida, definir uma conexão nova ou existente com sua fonte de dados.
Para a finalidade deste exemplo, o conector usado é o conector pasta.
Uma vez nas configurações de Conexão, crie uma nova conexão ou selecione ou
modifique uma conexão diferente para sua fonte de dados.
Depois de definir os detalhes da conexão, selecione Avançar no canto inferior direito e
valide se a consulta está sendo carregada no editor de Power Query.

7 Observação

Esse processo é o mesmo que se você se conectasse novamente à fonte de dados.


Mas, fazendo o processo novamente, você está refinando efetivamente quais
métodos de autenticação e credenciais usar em sua fonte de dados.
Interface do usuário do Power Query
Artigo • 16/11/2023

Com o Power Query, é possível conectar a várias fontes de dados diferentes e


transformar os dados do jeito que você quiser.

Neste artigo, você aprenderá a criar consultas com o Power Query descobrindo:

Como a experiência "Obter Dados" funciona no Power Query.


Como usar e aproveitar a interface do usuário do Power Query.
Como executar transformações comuns, como agrupar e mesclar dados.

Iniciante no Power Query? Inscreva-se em uma avaliação gratuita do Power BI antes


de começar. É possível usar fluxos de dados do Power BI para experimentar as
experiências do Power Query Online descritas neste artigo.

Você também pode baixar o Power BI Desktop gratuitamente .

Os exemplos neste artigo estão relacionados e usam o feed OData Northwind .

https://services.odata.org/V4/Northwind/Northwind.svc/

Conectar-se a um feed OData

7 Observação

Para saber mais sobre onde obter dados de cada um dos produtos da Microsoft
que incluem o Power Query, vá para Onde obter dados.

Para iniciar, localize o conector do feed OData na experiência "Obter Dados". Você pode
procurar OData na barra de pesquisa no canto superior direito.
Depois de selecionar esse conector, a tela exibirá as configurações e as credenciais de
conexão.

Em URL, insira a URL para o feed OData Northwind mostrada na seção anterior.
Em Gateway de dados local, não defina nada.
Em Tipo de autenticação, deixe como anônimo.

Selecione o botão Avançar.

O Navegador agora é abre e permite selecionar as tabelas às quais você quer se


conectar na fonte de dados. Selecione a tabela Clientes para carregar uma visualização
dos dados e selecione Transformar dados.

Em seguida, a caixa de diálogo carrega os dados da tabela Clientes no editor do Power


Query.

A experiência acima de se conectar aos dados, especificar o método de autenticação e


selecionar o objeto ou a tabela específica à qual se conectar é chamada de experiência
de obtenção de dados. Essa experiência é documentada com mais detalhes no artigo
Obtendo dados .

7 Observação

Para saber mais sobre o conector de feed OData, vá para Feed OData.

Experiência do usuário no editor do Power


Query
O editor do Power Query representa a interface do usuário do Power Query. Nessa
interface do usuário, você pode adicionar ou modificar consultas, gerenciar consultas
agrupando ou adicionando descrições às etapas de consulta ou visualizar suas consultas
e sua estrutura com diferentes modos de exibição. A interface do usuário do Power
Query tem cinco componentes distintos.

1. Faixa de opções: a experiência de navegação na faixa de opções conta com várias


guias para adicionar transformações, selecionar opções para a consulta e acessar
diferentes botões a fim de concluir diversas tarefas.
2. Painel Consultas: exibição de todas as consultas disponíveis.
3. Exibição atual: exibição de trabalho atual, que por padrão mostra uma pré-
visualização dos dados da consulta. Também é possível habilitar a exibição de
diagrama junto com a pré-visualização de dados. Além disso, você pode alternar
entre a exibição de esquema e a pré-visualização de dados, mantendo a exibição
de diagrama.
4. Configurações de consulta: exibição da consulta selecionada no momento com
informações relevantes, como nome, etapas e vários indicadores.
5. Barra de status: uma barra que mostra informações relevantes sobre a consulta,
como tempo de execução, total de colunas e linhas e status de processamento.
Essa barra também contém botões para alterar a exibição atual.

7 Observação

Atualmente, as exibições de esquema e diagrama só estão disponíveis no Power


Query Online.

Usar o editor do Power Query


Nesta seção, você começa a transformar seus dados usando o Power Query. Mas antes
de começar a trabalhar na transformação dos dados, discutimos alguns dos painéis da
interface do usuário que podem ser expandidos ou recolhidos, dependendo de seu
contexto. Selecionar os painéis apropriados permite se concentrar na exibição que mais
importa para você. Também discutimos os diferentes modos de exibição disponíveis na
interface do usuário do Power Query.

A faixa de opções
A faixa de opções é o componente onde você encontra a maioria das transformações e
ações que pode fazer no editor do Power Query. Ela tem várias guias, cujos valores
dependem da integração do produto. Cada uma das guias fornece botões e opções
específicos, alguns dos quais podem ser redundantes em toda a experiência do Power
Query. Esses botões e opções fornecem acesso fácil às transformações e ações que você
pode precisar.

A interface do Power Query é responsiva e tenta ajustar a resolução de tela para mostrar
a melhor experiência. Em cenários em que você gostaria de usar uma versão compacta
da faixa de opções, também há um botão de recolhimento no canto inferior direito da
faixa para ajudar a alternar para a faixa de opções compacta.

Você pode voltar para o modo de exibição padrão da faixa de opções selecionando o
ícone de expansão no canto inferior direito da faixa de opções.

Expandir e recolher painéis


Você pode notar que, em toda a interface do usuário do Power Query, há ícones que
ajudam a recolher ou expandir determinados modos de exibição ou seções. Por
exemplo, há um ícone no canto superior direito do painel "Consultas" que recolhe esse
seção quando selecionado e expande quando clicado novamente.

Alternar entre exibições


Além de poder recolher determinados painéis e seções na interface do usuário do
Power Query, você também pode alternar quais exibições são mostradas. Para alternar
modos de exibição, vá para a guia Exibir na faixa de opções, onde você encontra os
grupos Visualizar e Layout, que controlam a aparência da interface do usuário do
Power Query.

Experimente todas essas opções para encontrar a exibição e o layout com os quais você
se sente mais confortável trabalhando. Como exemplo, selecione a faixa de opções
Exibição de esquema.

O lado direito da barra de status também contém ícones para exibições de diagrama,
dados e esquema. Você pode usar esses ícones para alternar entre exibições. Também é
possível usar esses ícones para habilitar ou desabilitar a exibição de sua escolha.

O que é a exibição de esquema


A exibição de esquema oferece uma maneira rápida e simples de interagir apenas com
os componentes do esquema para sua tabela, como os nomes de coluna e os tipos de
dados. Recomendamos a exibição de esquema quando você quiser executar ações
relacionadas ao esquema. Essas ações podem ser remover colunas, renomear colunas,
alterar tipos de dados de coluna, reordenar colunas ou duplicar colunas.

7 Observação

Para saber mais sobre o modo de exibição de esquema, vá para Usando o modo
de exibição de esquema.

Por exemplo, na exibição de esquema, marque a opção ao lado das colunas Orders e
CustomerDemographics e, na faixa de opções, selecione a ação Remover colunas. Essa
seleção aplica uma transformação para remover essas colunas de seus dados.

O que é a exibição de diagrama


Agora você pode alternar de volta para o modo de exibição de visualização de dados e
ativar o modo de exibição de diagrama para usar uma perspectiva mais visual dos
dados e da consulta.

A exibição de diagrama ajuda você a visualizar como sua consulta é estruturada e como
ela pode interagir com outras consultas em seu projeto. Cada etapa em sua consulta
tem um ícone distinto para ajudar a reconhecer a transformação usada. Há também
linhas que conectam etapas para ilustrar dependências. Como as exibições de
visualização de dados e diagrama estão habilitadas, a exibição de diagrama aparece na
parte superior da visualização de dados.

7 Observação

Para saber mais sobre o modo de exibição de diagrama, vá para Modo de exibição
de diagrama.

Começar a transformar seus dados


Com a exibição de diagrama habilitado, selecione o sinal de adição. Você pode
pesquisar uma nova transformação para adicionar à consulta. Pesquise Agrupar por e
selecione a transformação.

A caixa de diálogo Agrupar por é exibida. Você pode definir a operação Agrupar por
para agrupar pelo país e contar o número de linhas de cliente por país.

1. Mantenha o botão de opção Básico selecionado.


2. Selecione País para agrupar.
3. Insira Clientes como o nome da nova coluna e selecione Contar linhas como a
operação.

Clique em OK para realizar a operação. Sua visualização de dados é atualizada para


mostrar o número total de clientes por país.

Uma maneira alternativa de iniciar a caixa de diálogo Agrupar por é usar o botão
Agrupar por na faixa de opções ou clicar com o botão direito do mouse na coluna País.


Para mais praticidade, as transformações no Power Query geralmente podem ser
acessadas de vários locais, para que os usuários possam optar por usar a experiência
que preferem.

Adicionar uma nova consulta


Agora que você tem uma consulta que fornece o número de clientes por país, adicione
contexto a esses dados encontrando o número total de fornecedores para cada
território.

Primeiro, você precisa adicionar os dados de fornecedores . Selecione Obter Dados. Em


Escolher fonte de dados, procure OData. Em seguida, selecione o conector OData .

A experiência de conexão OData reaparece. Insira as configurações de conexão


conforme descrito em Conectar-se a um feed OData para se conectar ao feed OData
Northwind. Na experiência do Navegador, pesquise e selecione a tabela Fornecedores.

Selecione Criar para adicionar a nova consulta ao editor do Power Query. Expanda o
painel Consultas, que agora exibe a consulta Clientes e Fornecedores.

Abra a caixa de diálogo Agrupar por novamente, desta vez selecionando o botão
Agrupar por na faixa de opções na guia Transformar.
Na caixa de diálogo Agrupar por, defina a operação Agrupar por para agrupar por país
e contar o número de linhas de fornecedores por país.

1. Mantenha o botão de opção Básico selecionado.


2. Selecione País para agrupar.
3. Insira Fornecedores em Novo nome da coluna e selecione Contar linhas em
Operação.

7 Observação

Para saber mais sobre a transformação Agrupar por, vá para Agrupar ou resumir
linhas.

Referenciar consultas
Agora que você tem uma consulta para clientes e uma para fornecedores, a próxima
meta é combinar essas consultas em uma. Há muitas maneiras de fazer isso, incluindo
usar a opção Mesclar na tabela Clientes, duplicar uma consulta ou referenciar uma
consulta. Para este exemplo, você cria uma referência clicando com o botão direito do
mouse na tabela Clientes e selecionando Referência, o que efetivamente cria uma nova
consulta que faz referência à consulta Clientes.

Depois de criar essa nova consulta, altere o nome dela para Análise de país e desabilite
a carga da tabela Clientes, desmarcando a opção Habilitar carga da consulta
Fornecedores.

Mesclar consultas
Uma operação de mesclagem de consultas une duas tabelas existentes com base em
valores correspondentes de uma ou várias colunas. Neste exemplo, o objetivo é unir as
tabelas Clientes e Fornecedores em uma tabela somente para os países/regiões que
têm Clientes e Fornecedores.

Dentro da consulta Análise de país, selecione a opção Mesclar consultas na guia Página
Inicial da faixa de opções.

Uma nova caixa de diálogo para a operação de mesclagem é exibida. Em seguida, você
pode selecionar a consulta a ser mesclada com a consulta atual. Na tabela Direita para
mesclagem, selecione a consulta Fornecedores e, em seguida, selecione o campo País
de ambas as consultas. Por fim, selecione o tipo de ingresso Interno, pois você deseja
apenas os países/regiões onde tem Clientes e Fornecedores para essa análise.
Depois de selecionar o botão OK , uma nova coluna é adicionada à consulta Análise de
País que contém os dados da consulta Fornecedores . Selecione o ícone ao lado do
campo Fornecedores, que exibe um menu para selecionar quais campos você deseja
expandir. Selecione apenas o campo Fornecedores e clique no botão OK.
O resultado dessa operação de expansão é uma tabela com apenas 12 linhas. Renomeie
o campo Fornecedores.1 para apenas Fornecedores clicando duas vezes no nome do
campo e inserindo o novo nome.

7 Observação

Para saber mais sobre o recurso Mesclar consultas, vá para Visão geral de
mesclagem de consultas.

Etapas aplicadas
Cada transformação aplicada à sua consulta é salva como uma etapa na seção Etapas
aplicadas do painel de configurações de consulta. Se você precisar verificar como sua
consulta é transformada de etapa em etapa, selecione uma etapa e visualize como a
consulta é resolvida nesse ponto específico.

Você também pode clicar com o botão direito do mouse em uma consulta e selecionar
a opção Propriedades para alterar o nome ou adicionar uma descrição à consulta. Por
exemplo, clique com o botão direito do mouse na etapa Mesclar consultas da consulta
Análise de país e altere o nome da consulta para Mesclar com Fornecedores e a
descrição para Obter dados da consulta Fornecedores para Fornecedores por País.

Após essa alteração, você pode passar o mouse sobre o ícone de consulta de
mesclagem no modo de exibição de diagrama ou passar o mouse sobre o novo ícone
ao lado da etapa no painel Etapas aplicadas para ler sua descrição.
7 Observação

Para saber mais sobre Etapas aplicadas, vá para Usando a lista Etapas aplicadas.

Antes de passar para a próxima seção, desative o Modo de exibição de diagrama para
usar somente a Visualização de dados.

Adicionando uma nova coluna


Com os dados para clientes e fornecedores em uma única tabela, agora você pode
calcular a proporção de clientes para fornecedores em cada país. Selecione a última
etapa da consulta Análise de país e selecione as colunas Clientes e Fornecedores. Na
guia Adicionar coluna na faixa de opções e dentro do grupo Do número, selecione
Padrão e, em seguida, Dividir (Inteiro) na lista suspensa.


Essa alteração cria uma nova coluna chamada Divisão de inteiro que você pode
renomear para Proporção. Essa alteração é a etapa final da consulta e fornece a relação
cliente/fornecedor para os países/regiões onde os dados têm clientes e fornecedores.

Criação de perfil de dados


Outro recurso do Power Query que ajuda a entender melhor seus dados é a Criação de
Perfil de Dados. Ao habilitar os recursos de criação de perfil de dados, você obtém
comentários sobre os dados dentro de seus campos de consulta, como distribuição de
valor, qualidade da coluna e muito mais.

É recomendável usar esse recurso durante o desenvolvimento de consultas, mas você


sempre pode habilitar e desabilitar quando quiser. A imagem a seguir mostra todas as
ferramentas de criação de perfil de dados habilitadas para a consulta Análise de país.
7 Observação

Para saber mais sobre Criação de perfil de dados, acesse Usando as ferramentas
de criação de perfil de dados.

Editor Avançado
Se quiser ver o código que o editor do Power Query está criando a cada etapa ou se
quiser criar seu próprio código de modelagem, você pode usar o editor avançado. Para
abrir o Editor Avançado, selecione a guia Exibir na faixa de opções e clique em Editor
Avançado. Uma janela aparece, mostrando o código de consulta existente.

Você pode editar o código diretamente na janela Editor Avançado . O editor indica se o
código está livre de erros de sintaxe. Para fechar a janela, selecione o botão Concluído
ou Cancelar .

Acessar a ajuda do Power Query


Há vários níveis de ajuda que podem ser acessados nos aplicativos da Microsoft que
usam o Power Query. Esta seção descreve esses níveis de ajuda.

Ajuda do Power Query no Excel


Há algumas maneiras de acessar as informações de ajuda do Power Query que se
aplicam especificamente ao Power Query no Excel. Uma maneira de acessar a
documentação online do Power Query do Excel é selecionar Arquivo>Ajuda>Ajuda no
editor do Power Query.

Para acessar as informações de ajuda embutidas do Power Query no Excel, selecione a


guia Ajuda na fita do Excel e, em seguida, insira Power Query na caixa de texto de
pesquisa.
Ajuda do Power Query no Power BI Desktop
Há uma guia Ajuda no editor do Power Query em execução no Power BI Desktop, mas,
no momento, todas as opções vão para locais que fornecem informações do Power BI.
Você também pode acessar essas mesmas informações da Ajuda do Power BI no editor
do Power Query no Power BI Desktop selecionando Arquivo>Ajuda e selecionando uma
das opções de ajuda.

Ajuda do Power Query no serviço do Power BI, Power


Apps, Customer Insights e Azure Data Factory
A guia Ajuda do Power Query no serviço do Power BI, Power Apps, Dynamics 365
Customer Insights e Azure Data Factory contém links para fontes importantes de
informações sobre o Power Query.

As opções na guia Ajuda incluem links para:

Documentação do Power Query: links para a documentação do Power Query


Atalhos de teclado: links para o artigo Atalhos de teclado na documentação do
Power Query.
Suporte: links para o site de suporte do produto Microsoft no qual o Power Query
está sendo executado no momento.
Web site do Power Query: ligações para o Web site do Power Query.
Blog do Power Query : links para o blog do Power Query
Comunidade do Power Query : links para a comunidade do Power Query.
Enviar uma ideia: links para o site de ideias do produto Microsoft no qual o Power
Query está sendo executado no momento.
Enviar comentários: abre uma janela no Power Query. A janela pede-lhe para
classificar a sua experiência com o Power Query e para fornecer quaisquer
informações adicionais que pretenda fornecer.

7 Observação
Atualmente, o Azure Analysis Services não contém nenhum link de ajuda embutido
do Power Query. No entanto, é possível obter ajuda para as funções do Power
Query M. Veja mais informações na próxima seção.

Ajuda para funções M do Power Query


Além das funções de ajuda do Power Query listadas nas seções anteriores, você também
pode obter ajuda para funções M individuais de dentro do editor do Power Query. As
etapas a seguir descrevem como chegar a essa ajuda embutida.

1. Com o editor do Power Query aberto, selecione o botão inserir etapa ( ).


2. Na barra de fórmulas, insira o nome de uma função que você deseja verificar.
a. Se estiver a utilizar o Power Query Desktop, introduza um sinal de igual, um
espaço e o nome de uma função.
b. Se estiver a utilizar o Power Query Online, introduza o nome de uma função.
3. Selecione as propriedades da função.
a. Se estiver a utilizar o Power Query Desktop, no painel Definições de Consulta,
em Propriedades, selecione Todas as propriedades.
b. Se estiver a utilizar o Power Query Online, no painel Definições de Consulta,
selecione Propriedades.

Essas etapas abrem as informações de ajuda embutidas para a função selecionada e


permitem que você insira propriedades individuais usadas pela função.

Resumo
Neste artigo, você criou uma série de consultas com o Power Query que fazem uma
análise de proporção de clientes para fornecedores no nível do país para a empresa
Northwind.

Você aprendeu os componentes da interface do usuário do Power Query, como criar


novas consultas dentro do editor de consultas, consultas de referência, mesclar
consultas, entender a seção de etapas aplicadas e adicionar novas colunas. Você
também aprendeu a usar as ferramentas de criação de perfil de dados para entender
melhor seus dados.

O Power Query é uma ferramenta poderosa que permite conectar a várias fontes de
dados diferentes e transformar os dados do jeito que você quiser. Os cenários descritos
neste artigo são exemplos para mostrar como você pode usar o Power Query para
transformar dados brutos em insights de negócios importantes e acionáveis.
Usar a lista de Etapas Aplicadas
Artigo • 23/03/2023

Todas as transformações em seus dados serão mostradas na lista Etapas Aplicadas . Por
exemplo, se você alterar o nome da primeira coluna, ele será exibido na lista Etapas
Aplicadas como Colunas Renomeada.

Selecionar qualquer etapa mostrará os resultados dessa etapa específica, para que você
possa ver exatamente como seus dados são alterados à medida que você adiciona
etapas à consulta.

Use a lista Etapas aplicadas


Selecione a guia Exibir na faixa de opções e selecione Configurações de Consulta.

O menu Configurações de Consulta será aberto à direita com a lista Etapas Aplicadas.
Renomear etapa
Para renomear uma etapa, clique com o botão direito do mouse na etapa e selecione
Renomear.

Insira o nome desejado e selecione Enter ou clique longe da etapa.


Excluir etapa
Para excluir uma etapa, clique com o botão direito do mouse na etapa e selecione
Excluir.

Como alternativa, selecione o x ao lado da etapa.

Excluir até o fim


Para excluir uma série de etapas, clique com o botão direito do mouse na primeira etapa
da série e selecione Excluir até o fim. Essa ação excluirá a etapa selecionada e todas as
etapas subsequentes.
Selecione Excluir na nova janela.

A imagem a seguir mostra a lista de etapas aplicadas depois de usar a opção Excluir até
o fim.

Inserir etapa seguinte


Para adicionar uma nova etapa, clique com o botão direito do mouse na última etapa da
lista e selecione Inserir etapa posterior.
Para inserir uma nova etapa intermediária, clique com o botão direito do mouse em
uma etapa e selecione Inserir etapa posterior. Em seguida, selecione Inserir na nova
janela.

Para definir uma transformação para a nova etapa, selecione a nova etapa na lista e faça
a alteração nos dados. Ele vinculará automaticamente a transformação à etapa
selecionada.

Mover etapa
Para mover um passo acima de uma posição na lista, clique com o botão direito do
mouse na etapa e selecione Mover para cima.
Para mover um passo para baixo de uma posição na lista, clique com o botão direito do
mouse na etapa e selecione Mover para baixo.
Como alternativa, ou para mover mais de uma única posição, arraste e solte a etapa
para o local desejado.

Extrair as etapas anteriores na consulta


Você também pode separar uma série de transformações em uma consulta diferente.
Isso permite que a consulta seja referenciada para outras fontes, o que pode ser útil se
você estiver tentando aplicar a mesma transformação a vários conjuntos de dados. Para
extrair todas as etapas anteriores para colocar em uma nova consulta, clique com o
botão direito do mouse na primeira etapa que você não deseja incluir na consulta e
selecione Extrair anterior.
Nomeie a nova consulta e selecione OK. Para acessar a nova consulta, navegue até o
painel Consultas no lado esquerdo da tela.

Editar nomes de etapas e suas descrições


Para editar a etapa, clique com o botão direito do mouse na etapa e selecione
Propriedades.
Na janela, você pode alterar o nome da etapa e a descrição e salvar as alterações
selecionando OK.
7 Observação

Adicionar uma descrição a uma etapa adicionará um pequeno ícone ao lado da


etapa para indicar que a etapa tem uma descrição. Você pode passar o mouse
sobre esse ícone para exibir a descrição como uma dica de ferramenta.
Caixa de pesquisa global (versão prévia)
Artigo • 05/10/2023

A caixa de pesquisa global permite pesquisar:

Consultas encontradas em seu projeto.


Ações disponíveis na sua versão do Power Query que são normalmente
encontradas na fita.
Conectores Obter dados que também podem ser encontrados por meio da caixa
de diálogo Obter Dados.

A caixa de pesquisa global está localizada no centro superior do editor do Power Query.
A caixa de pesquisa segue os mesmos princípios de design da Pesquisa da Microsoft no
Office , mas contextualizada ao Power Query.

Resultados da Pesquisa
Para usar a caixa de pesquisa global, selecione a caixa de pesquisa ou pressione Alt + Q.
Antes de inserir qualquer coisa, você verá algumas opções padrão para escolher.
Quando você começar a inserir algo para pesquisar, os resultados serão atualizados em
tempo real, exibindo consultas, ações e conectores de obtenção de dados que
correspondem ao texto inserido.

Se quiser ver todas as opções disponíveis para uma determinada consulta de pesquisa,
você também pode selecionar a opção Ver mais resultados para. Essa opção é
posicionada como o último resultado da consulta da caixa de pesquisa quando há várias
correspondências para sua consulta.

Visão geral da avaliação e da dobragem
de consultas no Power Query
Artigo • 23/03/2023

Neste artigo, você terá uma visão geral básica de como as consultas M são processadas
e transformadas em solicitações de fonte de dados.

Script M do Power Query


Toda consulta, seja criada no Power Query, escrita manualmente no Editor Avançado ou
inserida por um documento em branco, é formada por funções e sintaxe da linguagem
de fórmula M do Power Query. Essa consulta é interpretada e avaliada pelo mecanismo
do Power Query para gerar resultados. O script M serve como o conjunto de instruções
necessárias para avaliar a consulta.

 Dica

Pense no script M como uma receita que descreve como preparar seus dados.

O jeito mais comum de criar um script M é com o editor do Power Query. Por exemplo,
quando você se conecta a uma fonte de dados, como um banco de dados SQL Server,
vê no lado direito da tela a seção Etapas aplicadas, que exibe todas as etapas ou
transformações usadas na consulta. Dessa maneira, o editor do Power Query serve
como uma interface que ajuda a criar o script M adequado para as transformações que
você deseja, além de garantir que o código usado seja válido.

7 Observação

O script M é usado no editor do Power Query para:

exibir a consulta como uma série de etapas e permitir a criação ou


modificação de novas etapas;
mostrar uma visualização de diagrama.
A imagem anterior enfatiza a seção "Etapas aplicadas", que mostra:

Fonte: faz a conexão com a fonte de dados. Nesse caso, é uma conexão com um
banco de dados SQL Server.
Navegação: navega para uma tabela específica no banco de dados.
Outras colunas removidas: seleciona as colunas da tabela que serão mantidas.
Linhas classificadas: classifica a tabela usando uma ou mais colunas.
Kept top rows: filtra para manter apenas um determinado número de linhas da
parte superior da tabela.

Esse conjunto de nomes de etapas é uma maneira simples de exibir o script M que
Power Query criou para você. Há várias maneiras de exibir o script M completo. No
Power Query, é possível selecionar Editor Avançado na guia Exibir. Outra opção é
selecionar Editor Avançado no grupo Consulta na guia Página Inicial. Em algumas
versões do Power Query, você também pode alterar a exibição da barra de fórmulas
para mostrar o script de consulta. Basta acessar a guia Exibir e, no grupo Layout,
selecionar Exibição de script>Script de consulta.
Grande parte dos nomes encontrados no painel Etapas aplicadas também são usados
como estão no script M. Vale lembrar que as etapas de uma consulta são nomeadas de
acordo com os identificadores na linguagem M. Às vezes, caracteres extras encapsulam
nomes de etapas em M, mas não são mostrados nas etapas aplicadas. Um exemplo é
#"Kept top rows" , categorizado como um identificador entre aspas devido a esses
caracteres extras. Um identificador entre aspas permite que qualquer sequência de zero
ou mais caracteres Unicode seja usada como um identificador, incluindo palavras-chave,
espaço em branco, comentários, operadores e pontuadores. Para saber mais sobre
identificadores na linguagem M, acesse Estrutura lexical.

Todas as alterações feitas na consulta por meio do editor do Power Query atualizam
automaticamente o script M da sua consulta. Use a imagem anterior como ponto de
partida. Por exemplo, se você alterar o nome da etapa Linhas superiores mantidas para
20 primeiras linhas, essa modificação aparecerá automaticamente na exibição de script.
Embora seja recomendável usar o editor do Power Query para criar todo o script M (ou
grande parte dele), é possível adicionar ou modificar manualmente trechos do script M.
Para saber mais, acesse o site oficial da documentação da linguagem M.

7 Observação

O script M, também conhecido como código M, é um termo usado para qualquer


código que use a linguagem M. No contexto deste artigo, o script M também se
refere ao código encontrado dentro de uma consulta do Power Query e acessível
por meio da janela do Editor Avançado ou pela exibição do script na barra de
fórmulas.

Avaliação de consultas no Power Query


Veja no diagrama a seguir o processo que ocorre quando uma consulta é avaliada no
Power Query.
1. O script M, encontrado no Editor Avançado, é enviado para o mecanismo do
Power Query. Outras informações importantes também são incluídas, como
credenciais e níveis de privacidade da fonte de dados.
2. O Power Query determina quais informações precisam ser extraídas da fonte de
dados e envia uma solicitação à fonte de dados.
3. A fonte de dados responde com a transferência dos dados solicitados para o
Power Query.
4. O Power Query recebe os dados de entrada da fonte de dados e faz todas as
transformações usando o mecanismo do Power Query, se necessário.
5. Os resultados derivados do ponto anterior são carregados em um destino.

7 Observação

Embora este exemplo mostre uma consulta com um Banco de Dados SQL como
fonte de dados, o conceito se aplica a consultas com ou sem uma fonte de dados.

Quando o Power Query lê o script M, ele executa o script por meio de um processo de
otimização para avaliar sua consulta com mais eficiência. Nesse processo, ele determina
quais etapas (transformações) da consulta podem ser descarregadas para a fonte de
dados. Além disso, identifica quais outras etapas precisam ser avaliadas com o
mecanismo do Power Query. Esse processo de otimização é chamado de dobragem de
consultas, ou seja, o Power Query tenta enviar o máximo possível da execução à fonte
de dados, a fim de otimizar a execução da consulta.
) Importante

Todas as regras da linguagem de fórmula M do Power Query (também conhecida


como linguagem M) são seguidas. Mais notavelmente, a avaliação lenta
desempenha um papel importante durante o processo de otimização. Nesse
processo, o Power Query entende quais transformações específicas da consulta
precisam ser avaliadas. O Power Query também reconhece quais outras
transformações não precisam ser avaliadas porque não são necessárias na saída da
consulta.

Além disso, quando várias fontes estão envolvidas, o nível de privacidade de dados
de cada fonte de dados é levado em consideração ao avaliar a consulta. Mais
informações: Bastidores do Firewall de Privacidade de Dados

Veja no diagrama a seguir as etapas desse processo de otimização.

1. O script M, encontrado no Editor Avançado, é enviado para o mecanismo do


Power Query. Outras informações importantes também são incluídas, como
credenciais e níveis de privacidade da fonte de dados.
2. O mecanismo de dobragem de consultas envia solicitações de metadados à fonte
de dados para determinar recursos, esquemas de tabela, relações entre diferentes
entidades na fonte de dados e muito mais.
3. Com base nos metadados recebidos, o mecanismo de dobragem de consultas
identifica quais informações extrair da fonte de dados e quais conjuntos de
transformações precisam acontecer dentro do mecanismo do Power Query. Ele
envia as instruções para dois outros componentes que cuidam da recuperação dos
dados da fonte de dados e da transformação dos dados de entrada no mecanismo
do Power Query, se necessário.
4. Depois que as instruções forem recebidas pelos componentes internos, o Power
Query enviará uma solicitação à fonte de dados usando uma consulta de fonte de
dados.
5. A fonte de dados recebe a solicitação do Power Query e transfere os dados para o
mecanismo do Power Query.
6. Depois que os dados chegarem ao Power Query, o mecanismo de transformação
(também conhecido como mecanismo de mashup) faz as transformações que não
poderiam ser dobradas ou descarregadas para a fonte de dados.
7. Os resultados derivados do ponto anterior são carregados em um destino.

7 Observação

Dependendo das transformações e da fonte de dados usadas no script M, o Power


Query determina se transmitirá ou armazenará os dados de entrada em buffer.

Visão geral da dobragem de consultas


O objetivo da dobragem de consultas é descarregar ou enviar por push a maior parte
da avaliação de uma consulta para uma fonte de dados que possa calcular as
transformações da consulta.

O mecanismo de dobragem de consultas atinge essa meta traduzindo o script M para


uma linguagem que pode ser interpretada e executada pela fonte de dados. Em
seguida, ele envia a avaliação para a fonte de dados e encaminha o resultado dessa
avaliação ao Power Query.

Essa operação geralmente proporciona uma execução de consulta muito mais rápida do
que a extração de todos os dados necessários da fonte de dados e a execução de todas
as transformações obrigatórias no mecanismo do Power Query.

Ao usar a experiência Obter dados, o Power Query orienta você pelo processo que, em
última análise, permite que se conectar à sua fonte de dados. Ao fazer isso, o Power
Query usa uma série de funções na linguagem M categorizadas como funções de acesso
a dados. Essas funções específicas usam mecanismos e protocolos para se conectar à
fonte de dados usando uma linguagem compatível com sua fonte de dados.

No entanto, as etapas a seguir na consulta são as etapas ou transformações que o


mecanismo de dobragem de consultas tenta otimizar. Em seguida, ele verifica se elas
podem ser descarregadas na fonte de dados em vez de serem processadas com o
mecanismo do Power Query.

) Importante

Todas as funções de fonte de dados, comumente mostradas como a etapa de


Fonte de uma consulta, consultam os dados na fonte de dados em sua linguagem
nativa. O mecanismo de dobragem de consultas é utilizado em todas as
transformações aplicadas à consulta após a função de fonte de dados, para que
elas possam ser convertidas e combinadas em uma única consulta de fonte de
dados ou em transformações que podem ser descarregadas na fonte de dados.

Dependendo de como a consulta é estruturada, pode haver três resultados possíveis


para o mecanismo de dobragem de consultas:

Dobragem de consultas completa: quando todas as transformações de consulta


são enviadas de volta à fonte de dados e ocorre um processamento mínimo no
mecanismo do Power Query.
Dobragem de consultas parcial: quando apenas algumas transformações na
consulta, e não todas, podem ser enviadas de volta à fonte de dados. Nesse caso,
apenas um subconjunto das transformações é feita na fonte de dados, e o restante
ocorre no mecanismo do Power Query.
Nenhuma dobragem de consultas: quando a consulta contém transformações
que não podem ser convertidas para a linguagem de consulta nativa da fonte de
dados, seja porque as transformações não são compatíveis ou porque o conector
não aceita a dobragem de consultas. Nesse caso, o Power Query obtém os dados
brutos da fonte de dados e usa o mecanismo do Power Query para alcançar a
saída desejada processando as transformações necessárias no nível do mecanismo
do Power Query.

7 Observação

O mecanismo de dobragem de consultas está disponível principalmente em


conectores para fontes de dados estruturadas, como, entre outros, Microsoft SQL
Server e OData Feed. Durante a fase de otimização, o mecanismo pode às vezes
reordenar as etapas na consulta.

Aproveitar uma fonte de dados que tenha mais recursos de processamento e


funcionalidades de dobragem de consultas agiliza os tempos de carregamento da
consulta, pois o processamento ocorre na fonte de dados, e não no mecanismo do
Power Query.
Próximas etapas
Para ver exemplos detalhados dos três possíveis resultados do mecanismo de dobragem
de consultas, acesse Exemplos de dobragem de consultas.

Para saber mais sobre os indicadores de dobragem de consultas encontrados no painel


Etapas aplicadas, acesse Indicadores de dobragem de consultas.
Dobragem de consultas do Power Query
Artigo • 05/10/2023

Este artigo se destina a modeladores de dados que estão desenvolvendo modelos no


Power Pivot ou no Power BI Desktop. Ele descreve o que é a dobragem de consultas do
Power Query e por que ela é importante nos designs de modelo de dados. O artigo
também descreve as fontes de dados e as transformações que podem obter a
dobragem de consultas e como determinar se suas consultas do Power Query podem
ser dobradas de maneira completa ou parcial.

A dobragem de consultas é a capacidade de uma consulta do Power Query gerar uma


única instrução de consulta para recuperar e transformar dados de origem. O
mecanismo de mashup do Power Query se esforça para obter a dobragem de consultas
sempre que possível por questão de eficiência.

O dobramento de consultas é um tópico importante para a modelagem de dados por


vários motivos:

Importar tabelas de modelo: a atualização de dados ocorrerá com eficiência para


importar tabelas de modelos (do Power Pivot ou Power BI Desktop) em termos de
utilização de recursos e duração da atualização.
Tabelas do modo de armazenamento Duplo e DirectQuery: cada tabela do modo
de armazenamento Duplo e DirectQuery (somente Power BI) deve ser baseada em
uma consulta do Power Query que possa ser dobrada.
Atualização incremental: a atualização de dados incremental (somente Power BI)
será eficiente em termos de utilização de recursos e duração da atualização. Na
verdade, a janela de configuração de Atualização Incremental do Power BI
notificará você com um aviso caso determine que a dobragem de consultas para a
tabela não pode ser obtida. Se ela não puder ser obtida, a meta da atualização
incremental será perdida. O mecanismo de mashup seria necessário para recuperar
todas as linhas de origem e, em seguida, aplicar filtros para determinar alterações
incrementais.

O dobramento de consultas pode ocorrer para uma consulta inteira do Power Query ou
para um subconjunto das etapas. Quando a dobragem de consultas não pode ser
obtida, parcial ou totalmente, o mecanismo de mashup do Power Query deverá
compensar processando as transformações de dados em si. Esse processo pode
envolver a recuperação dos resultados da consulta da origem, o que, em grandes
conjuntos de dados, consome muitos recursos e é lento.
Recomendamos que os você busque alcançar eficiência em seus designs de modelo,
garantindo que a dobragem de consultas ocorra sempre que possível.

Fontes que dão suporte à dobragem


A maioria das fontes de dados que têm o conceito de uma linguagem de consulta
oferece suporte à dobragem de consultas. Essas fontes de dados podem incluir bancos
de dados relacionais, feeds OData (incluindo listas do SharePoint), Exchange e Active
Directory. No entanto, fontes de dados como arquivos simples, blobs e Web
normalmente não o fazem.

Transformações que podem realizar a


dobragem
As transformações de fonte de dados relacionais que podem ser dobradas para consulta
são aquelas que podem ser gravadas como uma única instrução SELECT. Uma instrução
SELECT pode ser construída com as cláusulas WHERE, GROUP BY e JOIN adequadas. Ele
também pode conter expressões de coluna (cálculos) que usam funções internas
comuns suportadas por bancos de dados SQL.

Em geral, a lista a seguir descreve as transformações que podem obter a dobragem de


consultas.

Remoção de colunas.

Renomear colunas (SELECIONAR aliases de coluna).

Filtrar linhas, com valores estáticos ou parâmetros do Power Query (predicados de


cláusula WHERE).

Agrupar e resumir (cláusula GROUP BY).

Expandir colunas de registro (colunas de chave estrangeira de origem) para obter


uma junção de duas tabelas de origem (cláusula JOIN).

Realizar a mesclagem não difusa de consultas dobráveis com base na mesma


origem (cláusula JOIN).

Acrescentar consultas dobráveis com base na mesma fonte (operador UNION ALL).

Adicionar colunas personalizadas com lógica simples (expressões de coluna


SELECT). A lógica simples implica em operações não complicadas, possivelmente
incluindo o uso de funções da M que têm funções equivalentes na fonte de dados
SQL, como funções matemáticas ou de manipulação de texto. Por exemplo, as
expressões a seguir retornam o componente ano do valor da coluna OrderDate
(para retornar um valor numérico).

Power Query M

Date.Year([OrderDate])

Dinamizar e transformar colunas em linhas (operadores PIVOT e UNPIVOT).

Transformações que impedem a dobragem


Em geral, a lista a seguir descreve as transformações que impedem a dobragem de
consultas. Esta lista não tem objetivo de ser exaustiva.

Mesclar consultas com base em fontes diferentes.

Acrescentar consultas (union-ing) com base em fontes diferentes.

Adicionar colunas personalizadas com lógica complexa. A lógica complexa implica


o uso de funções M que não têm funções equivalentes na fonte de dados. Por
exemplo, as expressões a seguir formatam o valor da coluna OrderDate (para
retornar um valor de texto).

Power Query M

Date.ToText([OrderDate], "yyyy")

Adicionar colunas de índice.

Quando uma consulta do Power Query engloba várias fontes de dados, a


incompatibilidade dos níveis de privacidade da fonte de dados pode impedir que a
dobra da consulta ocorra. Para obter mais informações, confira o artigo Níveis de
privacidade do Power BI Desktop.

Determinar quando uma consulta pode ser


dobrada
Na janela do Editor do Power Query, é possível determinar quando uma consulta do
Power Query pode ser dobrada. No painel Configurações de Consulta, ao clicar com o
botão direito do mouse na última etapa aplicada, se a opção Exibir Consulta Nativa
estiver habilitada (não esmaecida), toda a consulta poderá ser dobrada.
7 Observação

A opção Exibir Consulta Nativa só está disponível para determinados conectores


relacionais da geração de BD/SQL. Ele não funciona em conectores baseados em
OData, por exemplo, mesmo que haja dobragem ocorrendo no back-end. O
recurso Diagnóstico de Consulta é a melhor maneira de ver qual dobragem ocorreu
em conectores que não são do SQL (embora as etapas que dobram não sejam
explicitamente identificadas, basta ver a URL resultante que foi gerada).

Para exibir a consulta dobrada, selecione a opção Exibir Consulta Nativa. Em seguida,
será apresentada a você a consulta nativa que o Power Query usará para obter dados.
Se a opção Exibir Consulta Nativa não estiver habilitada (esmaecida), será uma
evidência de que nem todas as etapas da consulta podem ser dobradas. No entanto,
isso pode significar que um subconjunto de etapas ainda pode ser dobrado.
Trabalhando na ordem inversa da última etapa, você poderá verificar cada etapa para
ver se a opção Exibir Consulta Nativa está habilitada. Se isso ocorrer, você saberá em
que lugar da sequência de etapas a dobragem de consultas não pôde mais ser obtida.
Próximas etapas
Para obter mais informações sobre dobramento de consulta e artigos relacionados,
confira os seguintes recursos:

Visão geral da avaliação e da dobragem de consultas no Power Query


Diretrizes de dobragem de consultas no Power BI Desktop
Exemplos de dobragem de consultas
Indicadores de dobragem de consultas
Plano de consulta para o Power Query
Dobragem de consultas em consultas nativas
Exemplos de dobramento de consulta
Artigo • 13/05/2023

Este artigo fornece alguns cenários de exemplo para cada um dos três resultados
possíveis para dobramento de consulta. Ele também inclui algumas sugestões sobre
como aproveitar ao máximo o mecanismo de dobramento de consulta e o efeito que
ele pode ter em suas consultas.

O cenário
Imagine um cenário em que, usando o banco de dados Wide World Importers para o
banco de dados SQL do Azure Synapse Analytics, você tem a tarefa de criar uma
consulta no Power Query que se conecta à fact_Sale tabela e recupera as últimas 10
vendas com apenas os seguintes campos:

Chave de Venda
Chave de Cliente
Chave da Data da Fatura
Descrição
Quantidade

7 Observação

Para fins de demonstração, este artigo usa o banco de dados descrito no tutorial
sobre como carregar o banco de dados Wide World Importers no Azure Synapse
Analytics. A principal diferença neste artigo é que a fact_Sale tabela contém
apenas dados para o ano 2000, com um total de 3.644.356 linhas.

Embora os resultados possam não corresponder exatamente aos resultados


obtidos seguindo o tutorial da documentação do Azure Synapse Analytics, o
objetivo deste artigo é mostrar os principais conceitos e o impacto que a dobra de
consulta pode ter em suas consultas.
Este artigo mostra três maneiras de obter a mesma saída com diferentes níveis de
dobramento de consulta:

Sem dobramento de consultas


Dobramento parcial de consultas
Dobramento total de consultas

Sem dobramento de consultas (exemplo)

) Importante

Consultas que dependem exclusivamente de fontes de dados não estruturadas ou


que não têm um mecanismo de computação, como arquivos CSV ou Excel, não têm
recursos de dobramento de consulta. Isso significa que Power Query avalia todas as
transformações de dados necessárias usando o mecanismo Power Query.

Depois de se conectar ao banco de dados e navegar até a fact_Sale tabela, selecione a


transformação Manter linhas inferiores encontradas dentro do grupo Reduzir linhas da
guia Página Inicial .
Depois de selecionar essa transformação, uma nova caixa de diálogo será exibida. Nesta
nova caixa de diálogo, você pode inserir o número de linhas que deseja manter. Para
esse caso, insira o valor 10 e selecione OK.

 Dica

Para esse caso, a execução dessa operação gera o resultado das últimas dez
vendas. Na maioria dos cenários, recomendamos que você forneça uma lógica mais
explícita que defina quais linhas são consideradas por último aplicando uma
operação de classificação na tabela.

Depois, selecione a transformação Escolher colunas encontradas dentro do grupo


Gerenciar colunas da guia Página Inicial. Em seguida, você pode selecionar as colunas
que deseja manter da tabela e remover o restante.

Por fim, dentro da caixa de diálogo Escolher colunas, selecione as colunas Sale Key ,
Customer Key , Invoice Date Key , Description e Quantity , em seguida, selecione OK.
O exemplo de código a seguir é o script M completo para a consulta que você criou:

Power Query M

let
Source = Sql.Database(ServerName, DatabaseName),
Navigation = Source{[Schema = "wwi", Item = "fact_Sale"]}[Data],
#"Kept bottom rows" = Table.LastN(Navigation, 10),
#"Choose columns" = Table.SelectColumns(#"Kept bottom rows", {"Sale Key",
"Customer Key", "Invoice Date Key", "Description", "Quantity"})
in
#"Choose columns""

Nenhum dobramento de consulta: compreendendo a


avaliação da consulta
Em Etapas aplicadas no editor de Power Query, você observará que os indicadores de
dobramento de consulta para linhas inferiores mantidas e colunas escolha são
marcados como etapas que serão avaliadas fora da fonte de dados ou, em outras
palavras, pelo mecanismo Power Query.

Você pode clicar com o botão direito do mouse na última etapa da consulta, a chamada
Escolher colunas e selecionar a opção Ver plano de consulta. O objetivo do plano de
consulta é fornecer uma visão detalhada de como sua consulta é executada. Para saber
mais sobre o recurso, acesse Plano de consulta.

Cada caixa na imagem anterior é chamada de nó. Um nó representa a divisão da


operação para atender a essa consulta. Nós que representam fontes de dados, como
SQL Server no exemplo acima e no nó Value.NativeQuery , representam qual parte da
consulta é descarregada para a fonte de dados. O restante dos nós, nesse caso
Table.LastN e Table.SelectColumns realçados no retângulo na imagem anterior, são
avaliados pelo mecanismo Power Query. Esses dois nós representam as duas
transformações que você adicionou, as linhas inferiores mantidas e as colunas
Escolher. O restante dos nós representa operações que ocorrem no nível da fonte de
dados.
Para ver a solicitação exata enviada à fonte de dados, selecione Exibir detalhes no nó
Value.NativeQuery .

Essa solicitação de fonte de dados está no idioma nativo da fonte de dados. Para esse
caso, esse idioma é SQL e essa instrução representa uma solicitação para todas as linhas
e campos da tabela fact_Sale .

Consultar essa solicitação de fonte de dados pode ajudar a entender melhor a história
que o plano de consulta tenta transmitir:

Sql.Database : esse nó representa o acesso à fonte de dados. Conecta-se ao banco


de dados e envia solicitações de metadados para entender seus recursos.
Value.NativeQuery : representa a solicitação gerada pelo Power Query para atender
à consulta. O Power Query envia as solicitações de dados em uma instrução SQL
nativa para a fonte de dados. Nesse caso, isso representa todos os registros e
campos (colunas) da tabela fact_Sale . Para esse cenário, esse caso é indesejável,
pois a tabela contém milhões de linhas e o interesse é apenas nos últimos 10.
Table.LastN : depois que Power Query recebe todos os registros da tabela
fact_Sale , ele usa o mecanismo Power Query para filtrar a tabela e manter apenas

as últimas 10 linhas.
Table.SelectColumns : o Power Query usará a saída do Table.LastN nó e aplicará
uma nova transformação chamada Table.SelectColumns , que seleciona as colunas
específicas que você deseja manter de uma tabela.

Para sua avaliação, essa consulta teve que baixar todas as linhas e campos da tabela
fact_Sale . Essa consulta levou uma média de 6 minutos e 1 segundo para ser

processada em uma instância padrão de fluxos de dados do Power BI (que contabiliza a


avaliação e o carregamento de dados para fluxos de dados).
Exemplo de dobramento de consulta parcial
Depois de se conectar ao banco de dados e navegar até a tabela fact_Sale , você
começa selecionando as colunas que deseja manter da tabela. Selecione a
transformação Escolher colunas encontradas dentro do grupo Gerenciar colunas na
guia Página Inicial. Essa transformação ajuda você a selecionar explicitamente as
colunas que você deseja manter da tabela e remover o restante.

Dentro da caixa de diálogo Escolher colunas, selecione as colunas Sale Key , Customer
Key , Invoice Date Key , Description e Quantity , em seguida, selecione OK.
Agora, você vai criar uma lógica que classificará a tabela para ter as últimas vendas na
parte inferior da tabela. Selecione a coluna Sale Key , que é a chave primária e a
sequência incremental ou o índice da tabela. Classifique a tabela usando somente esse
campo em ordem crescente do menu de contexto da coluna.

Em seguida, selecione o menu contextual da tabela e escolha a transformação Manter


linhas inferiores.
Em Manter linhas inferiores, insira o valor 10 e selecione OK.

O exemplo de código a seguir é o script M completo para a consulta que você criou:

Power Query M

let
Source = Sql.Database(ServerName, DatabaseName),
Navigation = Source{[Schema = "wwi", Item = "fact_Sale"]}[Data],
#"Choose columns" = Table.SelectColumns(Navigation, {"Sale Key", "Customer
Key", "Invoice Date Key", "Description", "Quantity"}),
#"Sorted rows" = Table.Sort(#"Choose columns", {{"Sale Key",
Order.Ascending}}),
#"Kept bottom rows" = Table.LastN(#"Sorted rows", 10)
in
#"Kept bottom rows"

Exemplo de dobramento de consulta parcial:


compreendendo a avaliação da consulta
Ao verificar o painel de etapas aplicadas, você vai perceber que os indicadores de
dobramento de consulta estão mostrando que a última transformação adicionada, Kept
bottom rows está marcada como uma etapa que será avaliada fora da fonte de dados ou,
em outras palavras, pelo mecanismo Power Query.

Você pode clicar com o botão direito do mouse na última etapa da consulta, aquela
nomeada Kept bottom rows e selecionar a opção de plano de consulta para entender
melhor como sua consulta pode ser avaliada.
Cada caixa na imagem anterior é chamada de nó. Um nó representa todos os processos
que precisam acontecer (da esquerda para a direita) para que sua consulta seja avaliada.
Alguns desses nós podem ser avaliados em sua fonte de dados, enquanto outros, como
o nó para Table.LastN , representado pela etapa de linhas inferiores mantidas, são
avaliados usando o mecanismo Power Query.

Para ver a solicitação exata enviada à fonte de dados, selecione Exibir detalhes no nó
Value.NativeQuery .
Essa solicitação está no idioma nativo da fonte de dados. Para esse caso, esse idioma é
SQL e essa instrução representa uma solicitação para todas as linhas, com apenas os
campos solicitados da tabela fact_Sale ordenada pelo campo Sale Key .

Consultar essa solicitação de fonte de dados pode ajudá-lo a entender melhor a história
que o plano de consulta completo tenta transmitir. A ordem dos nós é um processo
sequencial que começa solicitando os dados de sua fonte de dados:

Sql.Database : Conecta-se ao banco de dados e envia solicitações de metadados


para entender seus recursos.
Value.NativeQuery : representa a solicitação gerada pelo Power Query para atender
à consulta. O Power Query envia as solicitações de dados em uma instrução SQL
nativa para a fonte de dados. Para esse caso, isso representa todos os registros,
com apenas os campos solicitados da fact_Sale tabela no banco de dados
classificados em ordem crescente pelo campo Sales Key .
Table.LastN : depois que Power Query recebe todos os registros da tabela
fact_Sale , ele usa o mecanismo Power Query para filtrar a tabela e manter apenas

as últimas 10 linhas.

Para sua avaliação, essa consulta teve que baixar todas as linhas e somente os campos
solicitados da tabela fact_Sale . Levou em média 3 minutos e 4 segundos para ser
processado em uma instância padrão de fluxos de dados do Power BI (que explica a
avaliação e o carregamento de dados para fluxos de dados).
Exemplo completo de dobramento de consulta
Depois de se conectar ao banco de dados e navegar até a tabela fact_Sale , selecione
as colunas que deseja manter da tabela. Selecione a transformação Escolher colunas
encontradas dentro do grupo Gerenciar colunas na guia Página Inicial. Essa
transformação ajuda você a selecionar explicitamente as colunas que você deseja
manter da tabela e remover o restante.

Em Escolher colunas, selecione as Sale Key , Customer Key , Invoice Date Key ,
Description e Quantity , em seguida, selecione OK.
Agora você cria uma lógica que classificará a tabela para ter as últimas vendas na parte
superior da tabela. Selecione a coluna Sale Key , que é a chave primária e a sequência
incremental ou o índice da tabela. Classifique a tabela apenas usando esse campo em
ordem decrescente do menu de contexto da coluna.

Em seguida, selecione o menu contextual da tabela e escolha a transformação Manter


linhas superiores.
Em Manter linhas superiores, insira o valor 10 e selecione OK.

O exemplo de código a seguir é o script M completo para a consulta que você criou:

Power Query M
let
Source = Sql.Database(ServerName, DatabaseName),
Navigation = Source{[Schema = "wwi", Item = "fact_Sale"]}[Data],
#"Choose columns" = Table.SelectColumns(Navigation, {"Sale Key", "Customer
Key", "Invoice Date Key", "Description", "Quantity"}),
#"Sorted rows" = Table.Sort(#"Choose columns", {{"Sale Key",
Order.Descending}}),
#"Kept top rows" = Table.FirstN(#"Sorted rows", 10)
in
#"Kept top rows"

Exemplo completo de dobramento de consulta:


compreendendo a avaliação da consulta
Ao verificar o painel de etapas aplicadas, você observará que os indicadores de
dobramento de consulta estão mostrando que as transformações adicionadas, escolher
colunas, linhas classificadas e linhas superiores mantidas são marcadas como etapas
que serão avaliadas na fonte de dados.

Você pode clicar com o botão direito do mouse na última etapa da consulta, a chamada
Manter linhas superiores e selecionar a opção Ver plano de consulta.
Essa solicitação está no idioma nativo da fonte de dados. Para esse caso, esse idioma é
SQL e essa instrução representa uma solicitação para todas as linhas e campos da tabela
fact_Sale .

Consultar essa consulta de fonte de dados pode ajudar a entender melhor a história que
o plano de consulta completo tenta transmitir:

Sql.Database : Conecta-se ao banco de dados e envia solicitações de metadados

para entender seus recursos.


Value.NativeQuery : representa a solicitação gerada pelo Power Query para atender
à consulta. O Power Query envia as solicitações de dados em uma instrução SQL
nativa para a fonte de dados. Para esse caso, isso representa uma solicitação
somente para os 10 principais registros da tabela fact_Sale , com apenas os
campos necessários depois de serem classificados em ordem decrescente usando
o campo Sale Key .

7 Observação

Embora não haja nenhuma cláusula que possa ser usada para SELECIONAR as
linhas inferiores de uma tabela na linguagem T-SQL, há uma cláusula TOP que
recupera as linhas superiores de uma tabela.
Para sua avaliação, essa consulta baixa apenas 10 linhas, com apenas os campos que
você solicitou da tabela fact_Sale . Essa consulta levou em média 31 segundos para ser
processada em uma instância padrão de fluxos de dados do Power BI (que é
responsável pela avaliação e carregamento de dados para fluxos de dados).

Comparação de desempenho
Para entender melhor o efeito que a dobra de consulta tem nessas consultas, você pode
atualizar suas consultas, registrar o tempo necessário para atualizar totalmente cada
consulta e compará-las. Para simplificar, este artigo fornece os tempos médios de
atualização capturados usando a mecânica de atualização de fluxos de dados do Power
BI ao conectar-se a um ambiente dedicado Azure Synapse Analytics com DW2000c
como o nível de serviço.

O tempo de atualização para cada consulta foi o seguinte:

Exemplo Label Tempo em segundos

Sem dobramento de consultas Nenhum 361

Dobramento parcial de consultas Parcial 184

Dobramento total de consultas Completo 31

Geralmente, é o caso de que uma consulta totalmente dobra para a fonte de dados
supera consultas semelhantes que não se dobram completamente para a fonte de
dados. Pode haver muitas razões pelas quais este é o caso. Esses motivos vão desde a
complexidade das transformações executadas por sua consulta até as otimizações de
consulta implementadas em sua fonte de dados, como índices e computação dedicada
e recursos de rede. Ainda assim, há dois processos importantes específicos que a dobra
de consultas tenta usar que minimiza o efeito que ambos os processos têm com Power
Query:

Dados em trânsito
Transformações executadas pelo mecanismo Power Query

As seções a seguir explicam o efeito que esses dois processos têm nas consultas
mencionadas anteriormente.

Dados em trânsito
Quando uma consulta é executada, ela tenta buscar os dados da fonte de dados como
uma de suas primeiras etapas. Quais dados são obtidos da fonte de dados são definidos
pelo mecanismo de dobramento de consulta. Esse mecanismo identifica as etapas da
consulta que podem ser descarregadas para a fonte de dados.

A tabela a seguir lista o número de linhas solicitadas da tabela fact_Sale do banco de


dados. A tabela também inclui uma breve descrição da instrução SQL enviada para
solicitar esses dados da fonte de dados.

Exemplo Label Linhas Descrição


solicitadas

Sem Nenhum 3644356 Solicitação para todos os campos e todos os registros


dobramento da tabela fact_Sale
de consultas

Dobramento Parcial 3644356 Solicitação para todos os registros, mas apenas campos
parcial de necessários da tabela fact_Sale depois que ele foi
consultas classificado pelo campo Sale Key

Dobramento Completo 10 Solicitar somente os campos necessários e os registros


total de TOP 10 da tabela fact_Sale depois de serem
consultas classificados em ordem decrescente pelo campo Sale
Key
Ao solicitar dados de uma fonte de dados, a fonte de dados precisa calcular os
resultados da solicitação e, em seguida, enviar os dados ao solicitante. Embora os
recursos de computação já tenham sido mencionados, os recursos de rede de mover os
dados da fonte de dados para Power Query e, em seguida, Power Query poder receber
efetivamente os dados e prepará-los para as transformações que ocorrerão localmente
podem levar algum tempo dependendo do tamanho dos dados.

Para os exemplos exibidos, Power Query precisou solicitar mais de 3,6 milhões de linhas
da fonte de dados para os exemplos de dobramento sem consulta e de dobramento de
consulta parcial. Para o exemplo de dobramento de consulta completo, ele solicitou
apenas 10 linhas. Para os campos solicitados, o exemplo sem dobramento de consulta
solicitou todos os campos disponíveis da tabela. Tanto a dobra parcial da consulta
quanto os exemplos completos de dobramento de consulta enviaram apenas uma
solicitação para exatamente os campos necessários.

U Cuidado

Recomendamos que você implemente soluções de atualização incrementais que


aproveitem a dobra de consulta para consultas ou entidades com grandes
quantidades de dados. Diferentes integrações de produtos de Power Query
implementam tempos limite para encerrar consultas de longa execução. Algumas
fontes de dados também implementam tempos limite em sessões de execução
longa, tentando executar consultas caras em seus servidores. Mais informações:
usando a atualização incremental com fluxos de dados e atualização incremental
para conjuntos de dados
Transformações executadas pelo mecanismo Power
Query
Este artigo mostrou como você pode usar o plano de consulta para entender melhor
como sua consulta pode ser avaliada. Dentro do plano de consulta, você pode ver os
nós exatos das operações de transformação que serão executadas pelo mecanismo
Power Query.

A tabela a seguir mostra os nós dos planos de consulta das consultas anteriores que
teriam sido avaliadas pelo mecanismo Power Query.

Exemplo Label Nós de transformação do mecanismo Power


Query

Sem dobramento de consultas Nenhum Table.LastN , Table.SelectColumns

Dobramento parcial de Parcial Table.LastN


consultas

Dobramento total de consultas Completo —

Para os exemplos mostrados neste artigo, o exemplo de dobramento de consulta


completo não exige que nenhuma transformação aconteça dentro do mecanismo de
Power Query, pois a tabela de saída necessária vem diretamente da fonte de dados. Por
outro lado, as outras duas consultas exigiram que alguma computação acontecesse no
mecanismo de Power Query. Devido à quantidade de dados que precisam ser
processados por essas duas consultas, o processo para esses exemplos leva mais tempo
do que o exemplo de dobramento de consulta completo.
As transformações podem ser agrupados nas seguintes categorias:

Tipo de Descrição
operador

Remoto Operadores que são nós de fonte de dados. A avaliação desses operadores ocorre
fora de Power Query.

Streaming Os operadores são operadores de passagem. Por exemplo, com um filtro simples
Table.SelectRows geralmente pode filtrar os resultados conforme eles passam pelo
operador e não precisarão coletar todas as linhas antes de mover os dados.
Table.SelectColumns e Table.ReorderColumns são outros exemplos desses tipos de
operadores.

Verificação Operadores que precisam coletar todas as linhas antes que os dados possam passar
completa para o próximo operador na cadeia. Por exemplo, para classificar dados, o Power
Query precisa coletar todos os dados. Outros exemplos de operadores de
verificação completa são Table.Group , Table.NestedJoin e Table.Pivot .

 Dica

Embora nem toda transformação seja a mesma do ponto de vista do desempenho,


na maioria dos casos, ter menos transformações geralmente é melhor.

Considerações e sugestões
Siga as práticas recomendadas ao criar uma nova consulta, conforme indicado nas
práticas recomendadas no Power Query.
Use os indicadores de dobramento de consulta para verificar quais etapas estão
impedindo que sua consulta dobre. Reordene-os, se necessário, para aumentar a
dobra.
Use o plano de consulta para determinar quais transformações estão acontecendo
no mecanismo de Power Query para uma etapa específica. Considere modificar sua
consulta existente reorganizando suas etapas. Em seguida, verifique o plano de
consulta da última etapa da consulta novamente e veja se o plano de consulta está
melhor do que o anterior. Por exemplo, o novo plano de consulta tem menos nós
do que o anterior, e a maioria dos nós são nós de "Streaming" e não "verificação
completa". Para fontes de dados que dão suporte à dobra, todos os nós no plano
de consulta que não sejam Value.NativeQuery e os nós de acesso da fonte de
dados representam transformações que não foram dobradas.
Quando disponível, você pode usar a opção Exibir Consulta Nativa (ou Exibir
consulta de fonte de dados) para garantir que sua consulta possa ser dobrada
novamente para a fonte de dados. Se essa opção estiver desabilitada para sua
etapa e você estiver usando uma origem que normalmente a habilita, você criou
uma etapa que interrompe a dobragem de consulta. Se você estiver usando uma
origem que não dá suporte a essa opção, poderá contar com os indicadores de
dobramento de consulta e o plano de consulta.
Use as ferramentas de diagnóstico de consulta para entender melhor as
solicitações que estão sendo enviadas à fonte de dados quando os recursos de
dobramento de consulta estiverem disponíveis para o conector.
Ao combinar dados provenientes do uso de vários conectores, o Power Query
tenta enviar o máximo de trabalho possível para ambas as fontes de dados,
cumprindo os níveis de privacidade definidos para cada fonte de dados.
Leia o artigo sobre níveis de privacidade para proteger suas consultas de serem
executadas em um erro do Firewall de Privacidade de Dados.
Use outras ferramentas para verificar o dobramento de consulta da perspectiva da
solicitação que está sendo recebida pela fonte de dados. Com base no exemplo
neste artigo, você pode usar o Microsoft SQL Server Profiler para verificar as
solicitações que estão sendo enviadas por Power Query e recebidas pelo Microsoft
SQL Server.
Se você adicionar uma nova etapa a uma consulta totalmente dobrada e a nova
etapa também tiver dobramento, Power Query poderá enviar uma nova solicitação
à fonte de dados em vez de usar uma versão armazenada em cache do resultado
anterior. Na prática, esse processo pode resultar em operações aparentemente
simples em uma pequena quantidade de dados demorando mais para serem
atualizadas na versão prévia do que o esperado. Essa atualização mais longa deve-
se a Power Query requerimento da fonte de dados em vez de trabalhar em uma
cópia local dos dados.
Indicadores de dobramento de
consultas
Artigo • 23/03/2023

7 Observação

Antes de ler este artigo, recomendamos que você leia a visão geral da avaliação de
consulta e do dobramento de consultas no Power Query para entender melhor
como funciona a dobra no Power Query.

Os indicadores de dobramento de consulta ajudam você a entender as etapas que


dobram ou não dobram.

Com indicadores de dobramento de consulta, torna-se óbvio quando você faz uma
alteração que quebra a dobra. Esse recurso ajuda você a resolver problemas com mais
facilidade rapidamente, evitar problemas de desempenho em primeiro lugar e ter uma
melhor visão de suas consultas. Na maioria dos casos em que você encontrar, as etapas
terão dobramento ou não. Mas há muitos casos em que o resultado não é tão óbvio, e
esses casos são discutidos em indicadores de diagnóstico de etapa (Dinâmico, Opaco e
Desconhecido).

7 Observação

O recurso indicadores de dobramento de consulta está disponível apenas para o


Power Query Online.

Interpretando o diagnóstico de dobramento de


consulta
Quando você examina o indicador de dobramento de consulta ao lado de uma etapa, o
mais importante a entender é que o estado de diagnóstico não é sequencial. Em outras
palavras, o indicador dessa etapa descreve se a consulta como um todo, até esse ponto,
dobra ou não. Se você tiver um indicador que mostre que a consulta não é dobrada,
seguido por um indicador que mostra que ela é dobrada, isso significa que sua consulta
até esse ponto dobra.

Essa interpretação funciona mesmo com uma consulta simples em uma fonte SQL. Por
exemplo, usando o banco de dados de exemplo Adventureworks, conecte-se à tabela
Production.Product e carregue os dados. Carregar este exemplo pelo navegador Power
Query fornece a seguinte consulta:

Power Query M

let
Source = Sql.Database("ServerName", "AdventureWorks"),
Navigation = Source{[Schema = "Production", Item = "Product"]}[Data]
in
Navigation

Se você examinar como esse código aparece em indicadores de dobramento de


consulta, você observará que a primeira etapa é inconclusiva. Mas a segunda etapa
dobra, o que significa que a consulta até esse ponto dobra.

Neste exemplo, as etapas iniciais não podem ser confirmadas para dobrar (é
inconclusiva), mas a etapa final gerada quando você carrega os dados inicialmente
dobra. A maneira como as primeiras etapas (origem e, às vezes, outras etapas de
navegação ) são tratadas depende do conector. Com o SQL, por exemplo, ele é tratado
como um valor de tabela de catálogo, que não é dobrado. No entanto, assim que você
selecionar dados para esse conector, ele será dobrado.

Por outro lado, isso também pode significar que sua consulta se dobra até um ponto e,
em seguida, para de dobrar. Ao contrário do caso em que você tem um indicador de
dobramento para a etapa que mostra que tudo se dobra, quando você tem um
indicador não dobrável, isso não significa que tudo não se dobra. Em vez disso, significa
que "nem tudo" dobra. Geralmente, tudo até o último indicador dobrável será dobrado,
com mais operações acontecendo depois.

Modificando o exemplo acima, você pode dar uma transformação que nunca dobra —
Capitalize Cada Palavra.

Power Query M

let
Source = Sql.Database("ServerName", "AdventureWorks"),
Navigation = Source{[Schema = "Production", Item = "Product"]}[Data],
#"Capitalized each word" = Table.TransformColumns(Navigation, {{"Name",
each Text.Proper(_), type text}})
in
#"Capitalized each word"

Nos indicadores de dobramento de consulta, você tem os mesmos indicadores que


acima, exceto que a etapa final não é dobrada. Tudo até esta etapa final será executado
na fonte de dados, enquanto a etapa final será executada localmente.

Indicadores de diagnóstico de etapa


Os indicadores de dobramento de consulta usam um plano de consulta subjacente e
exigem que ele seja capaz de obter informações sobre a consulta para reportá-la.
Atualmente, o plano de consulta dá suporte apenas a tabelas, portanto, alguns casos
(listas, registros, primitivos) não serão relatados como dobráveis ou não. Da mesma
forma, tabelas constantes relatam como opacas.

Indicador ícone Descrição

Dobragem O indicador de dobramento informa que a consulta até esta etapa será
avaliada pela fonte de dados.

Não está O indicador “não está dobrando” informa que parte da consulta até esta
dobrando etapa será avaliada fora da fonte de dados. Você pode compará-lo com
o último indicador de dobramento, se houver um, para ver se você pode
reorganizar sua consulta para ser mais performante.

Pode dobrar Indicadores de que algo pode dobrar são incomuns. Eles significam que
“pode ser” que uma consulta dobre. Eles indicam que a dobra ou não
será determinada em runtime, ao extrair resultados da consulta e que o
plano de consulta é dinâmico. Esses indicadores provavelmente só
aparecerão com conexões ODBC ou OData.

Opaco Indicadores opacos dizem que o plano de consulta resultante é


inconclusivo por algum motivo. Geralmente, ele indica que há uma
tabela verdadeira de "constante" ou que essa transformação ou
conector não é compatível com os indicadores e a ferramenta de plano
de consulta.
Indicador ícone Descrição

Desconhecido Indicadores desconhecidos representam uma ausência de um plano de


consulta, seja devido a um erro ou tentativa de executar a avaliação do
plano de consulta em algo diferente de uma tabela (como um registro,
lista ou primitivo).

Exemplo de análise
Para obter uma análise de exemplo, comece conectando-se à tabela
Production.Product em Adventure Works (SQL). A carga inicial, semelhante ao exemplo
acima, se parece com a imagem a seguir.

Adicionar mais etapas que dobram estenderá essa linha verde no lado direito. Essa
extensão ocorre porque essa etapa também é dobrada.

Adicionar uma etapa sem dobramento exibe um indicador diferente. Por exemplo,
maiúsculas de cada palavra nunca têm dobramento. O indicador muda, mostrando que,
a partir desta etapa, ele parou de dobrar. Conforme mencionado anteriormente, as
etapas anteriores ainda terão dobramento.

A adição de mais etapas que dependem do Capitalizar cada etapa continuará a não ser
dobrada.
No entanto, se você remover a coluna à qual aplicou a capitalização para que o plano
de consulta otimizado possa ser dobrado mais uma vez, você obterá um resultado
como a imagem a seguir. Porém, algo assim é incomum. Esta imagem ilustra como não
é apenas a ordem das etapas, mas também as transformações reais que se aplicam.
Plano de consulta para o Power Query
(versão prévia)
Artigo • 23/03/2023

O plano de consulta para o Power Query é um recurso que fornece uma visão melhor da
avaliação da consulta. É útil ajudar a determinar por que uma consulta específica pode
não dobrar em uma etapa específica.

Por meio de um exemplo prático, este artigo demonstrará o caso de uso principal e os
benefícios potenciais de usar o recurso de plano de consulta para examinar as etapas de
consulta. Os exemplos usados neste artigo foram criados usando o banco de dados de
exemplo AdventureWorksLT para o Azure SQL Server, que você pode baixar dos bancos
de dados de exemplo do AdventureWorks.

7 Observação

O recurso de plano de consulta para o Power Query só está disponível no Power


Query Online.

Este artigo foi dividido em uma série de etapas recomendadas para interpretar o plano
de consulta. Essas etapas são:

1. Examine os indicadores de dobragem de consultas.


2. Selecione a etapa de consulta para examinar seu plano de consulta.
3. Implemente as alterações na consulta.

Use as etapas a seguir para criar a consulta em seu próprio ambiente do Power Query
Online.

1. Em Power Query – Escolha a fonte de dados, selecione Consulta em branco.

2. Substitua o script da consulta em branco pela consulta a seguir.


Power Query M

let
Source = Sql.Database("servername", "database"),
Navigation = Source{[Schema = "Sales", Item = "SalesOrderHeader"]}
[Data],
#"Removed other columns" = Table.SelectColumns(Navigation,
{"SalesOrderID", "OrderDate", "SalesOrderNumber",
"PurchaseOrderNumber", "AccountNumber", "CustomerID", "TotalDue"}),
#"Filtered rows" = Table.SelectRows(#"Removed other columns", each
[TotalDue] > 1000),
#"Kept bottom rows" = Table.LastN(#"Filtered rows", 5)
in
#"Kept bottom rows"

3. Altere servername e database pelos nomes corretos para seu próprio ambiente.

4. (Opcional) Se você estiver tentando se conectar a um servidor e banco de dados


para um ambiente local, configure um gateway para esse ambiente.

5. Selecione Avançar.

6. No Editor do Power Query, selecione Configurar conexão e forneça as credenciais


para sua fonte de dados.

7 Observação

Para obter mais informações sobre como se conectar a um SQL Server, acesse
Banco de dados do SQL Server.

Depois de seguir estas etapas, sua consulta será semelhante à imagem a seguir.

Essa consulta se conecta à tabela SalesOrderHeader e seleciona algumas colunas dos


últimos cinco pedidos com um valor TotalDue acima de 1000.
7 Observação

Este artigo usa um exemplo simplificado para demonstrar esse recurso, mas os
conceitos descritos neste artigo se aplicam a todas as consultas. Recomendamos
que você tenha um bom conhecimento da dobragem de consultas antes de ler o
plano de consulta. Para saber mais sobre a dobragem de consultas, acesse as
Noções básicas sobre dobragem de consultas.

1. Examine os indicadores de dobragem de


consultas

7 Observação

Antes de ler esta seção, recomendamos que você examine o artigo sobre
Indicadores de dobragem de consultas.

Sua primeira etapa nesse processo é examinar sua consulta e prestar muita atenção aos
indicadores de dobragem de consultas. A meta é examinar as etapas marcadas como
não dobradas. Em seguida, você pode ver se fazer alterações na consulta geral faz com
que essas transformações sejam dobradas completamente.
Neste exemplo, a única etapa que não pode ser dobrada é Manter linhas inferiores, o
que é fácil de identificar por meio do indicador de etapa não dobrada. Essa etapa
também é a última etapa da consulta.

O objetivo agora é examinar essa etapa e entender o que está sendo dobrado para a
fonte de dados e o que não pode ser dobrado.

2. Selecionar a etapa de consulta para examinar


seu plano de consulta
Você identificou a etapa Linhas inferiores mantidas como uma etapa de interesse, pois
ela não é dobrada para a fonte de dados. Clique com o botão direito do mouse na
etapa e selecione a opção Exibir plano de consulta. Essa ação exibe um novo diálogo
que contém um diagrama do plano de consulta da etapa selecionada.

O Power Query tenta otimizar sua consulta aproveitando a avaliação lenta e a dobragem
de consultas, conforme mencionado nas Noções básicas de dobragem de consultas.
Esse plano de consulta representa a tradução otimizada da consulta M para a consulta
nativa enviada para a fonte de dados. Ele também inclui todas as transformações
executadas pelo Mecanismo do Power Query. A ordem na qual os nós são exibidos
segue a ordem da consulta a partir da última etapa ou saída da consulta, que é
representada no extremo esquerdo do diagrama e, nesse caso, é o nó Table.LastN que
representa a etapa Linhas inferiores mantidas.
Na parte inferior do diálogo, há uma barra com ícones que ajudam você a ampliar ou
reduzir o modo de exibição do plano de consulta e outros botões para ajudá-lo a
gerenciar a exibição. Para a imagem anterior, a opção Ajustar para exibir dessa barra foi
usada para apreciar melhor os nós.

7 Observação

O plano de consulta representa o plano otimizado. Quando o mecanismo está


avaliando uma consulta, ele tenta dobrar todos os operadores em uma fonte de
dados. Em alguns casos, ele pode até mesmo fazer uma reordenação interna das
etapas para maximizar a dobragem. Com isso em mente, os nós/operadores
deixados neste plano de consulta otimizado normalmente contêm a consulta de
fonte de dados "dobrada" e todos os operadores que não puderam ser dobrados e
são avaliados localmente.

Identificar nós dobrados de outros nós


Você pode identificar os nós neste diagrama como dois grupos:

Nós dobrados: esse nó pode ser Value.NativeQuery ou nós de "fonte de dados",


como Sql.Database . Eles também podem ser identificados com o rótulo remoto
abaixo do nome de função.
Nós não dobrados: outros operadores de tabela, como Table.SelectRows ,
Table.SelectColumns e outras funções que não puderam ser dobradas. Eles
também podem ser identificados com os rótulos Verificação completa e
Streaming.

A imagem a seguir mostra os nós dobrados no retângulo vermelho. O restante dos nós
não pôde ser dobrado para a fonte de dados. Você precisará examinar o restante dos
nós, pois a meta é tentar fazer com que esses nós sejam dobrados para a fonte de
dados.

Você pode selecionar Exibir detalhes na parte inferior de alguns nós para exibir
informações estendidas. Por exemplo, os detalhes do nó Value.NativeQuery mostram a
consulta nativa (no SQL) que será enviada à fonte de dados.

A consulta mostrada aqui pode não ser exatamente a mesma consulta enviada à fonte
de dados, mas é uma boa aproximação. Nesse caso, ele informa exatamente quais
colunas serão consultadas da tabela SalesOrderHeader e, em seguida, como ela filtrará
essa tabela usando o campo TotalDue para obter apenas as linhas em que o valor desse
campo é maior que 1000. O nó ao lado, Table.LastN, é calculado localmente pelo
mecanismo de Power Query, pois não pode ser dobrado.

7 Observação

Os operadores podem não corresponder exatamente às funções usadas no script


da consulta.

Examine os nós não dobrados e considere ações para


fazer sua dobra de transformação
Agora você determinou quais nós não puderam ser dobrados e serão avaliados
localmente. Esse caso só tem o nó Table.LastN , mas em outros cenários poderia ter
muito mais.

O objetivo é aplicar alterações à sua consulta para que a etapa possa ser dobrada.
Algumas alterações que você pode implementar podem variar desde a reorganização
de suas etapas até a aplicação de uma lógica alternativa à consulta mais explícita à fonte
de dados. Isso não significa que todas as consultas e todas as operações sejam
dobráveis aplicando algumas alterações. Mas é uma boa prática determinar por
tentativa e erro se sua consulta pode ser dobrada novamente.

Como a fonte de dados é um banco de dados SQL Server, se a meta for recuperar os
últimos cinco pedidos da tabela, uma boa alternativa seria aproveitar as cláusulas TOP e
ORDER BY no SQL. Como não há nenhuma cláusula BOTTOM no SQL, a transformação
Table.LastN no PowerQuery não pode ser convertida em SQL. Você pode remover a
etapa Table.LastN e substituí-la por:

Uma etapa de classificação decrescente pela coluna SalesOrderID na tabela, uma


vez que esta coluna determina qual ordem irá primeiro e qual foi inserida por
último.
Selecione as cinco primeiras linhas desde que a tabela foi classificada. Essa
transformação realiza o mesmo que uma Linha inferior mantida ( Table.LastN ).

Essa alternativa é equivalente à consulta original. Embora essa alternativa, em teoria,


pareça boa, você precisa fazer as alterações para ver se isso fará com que esse nó volte
totalmente para a fonte de dados.

3. Implementar as alterações na consulta


Implemente a alternativa discutida na seção anterior:

1. Feche o diálogo do plano de consulta e volte para o Editor do Power Query.

2. Remova a etapa Linhas inferiores mantidas.

3. Classifique a coluna SalesOrderID em ordem descendente.

4. Selecione o ícone de tabela no canto superior esquerdo da exibição de


visualização de dados e selecione a opção Manter linhas superiores. Na caixa de
diálogo, passe o número cinco como o argumento e pressione OK.
Depois de implementar as alterações, verifique os indicadores de dobragem de
consultas novamente e veja se oferecem um indicador dobrado.

Agora é hora de examinar o plano de consulta da última etapa, que agora é Manter
linhas superiores. Agora só há nós dobrados. Selecione Exibir detalhes em
Value.NativeQuery para verificar qual consulta está sendo enviada ao banco de dados.


Embora este artigo sugira qual alternativa aplicar, o objetivo principal é que você saiba
como usar o plano de consulta para investigar a dobragem de consultas. Este artigo
também fornece visibilidade do que está sendo enviado para a fonte de dados e quais
transformações serão feitas localmente.

Você pode ajustar seu código para ver o impacto que ele tem em sua consulta. Usando
os indicadores de dobragem de consultas, você também terá uma ideia melhor de quais
etapas estão impedindo que sua consulta dobre.
Dobramento de consultas em consultas
nativas
Artigo • 23/03/2023

No Power Query, você pode definir uma consulta nativa e executá-la em sua fonte de
dados. O artigo Importar dados de um banco de dados usando consulta de banco de
dados nativo explica como fazer esse processo com várias fontes de dados. Mas, usando
o processo descrito nesse artigo, sua consulta não aproveitará nenhuma dobra de
consulta das etapas de consulta subsequentes.

Este artigo mostra um método alternativo para criar consultas nativas em relação à
fonte de dados usando a função Value.NativeQuery e manter o mecanismo de
dobramento de consulta ativo para as etapas subsequentes da consulta.

7 Observação

Recomendamos que você leia a documentação sobre dobramento de consulta e


os indicadores de dobramento de consulta para entender melhor os conceitos
usados ao longo deste artigo.

Conectores de dados com suporte


O método descrito nas próximas seções se aplica aos seguintes conectores de dados:

Amazon Redshift
Dataverse(ao usar computação aprimorada)
Google BigQuery
PostgreSQL
SAP HANA
Snowflake
SQL Server

Conectar-se ao destino da fonte de dados

7 Observação

Para mostrar esse processo, este artigo usa o conector SQL Server e o banco de
dados de exemplo AdventureWorks2019. A experiência pode variar de conector
para conector, mas este artigo mostra os conceitos básicos sobre como habilitar
recursos de dobramento de consulta em consultas nativas para os conectores com
suporte.

Ao se conectar à fonte de dados, é importante que você se conecte ao nó ou ao nível


em que deseja executar sua consulta nativa. Para o exemplo neste artigo, esse nó será o
nível de banco de dados dentro do servidor.

Depois de definir as configurações de conexão e fornecer as credenciais para sua


conexão, você será levado para a caixa de diálogo de navegação da fonte de dados.
Nessa caixa de diálogo, você verá todos os objetos disponíveis aos quais você pode se
conectar.

Nessa lista, você precisa selecionar o objeto em que a consulta nativa é executada
(também conhecida como destino). Para este exemplo, esse objeto é o nível do banco
de dados.

Na janela do navegador no Power Query, clique com o botão direito do mouse no nó


do banco de dados na janela do navegador e selecione a opção Transformar Dados.
Selecionar essa opção cria uma nova consulta da exibição geral do banco de dados, que
é o destino necessário para executar sua consulta nativa.
Depois que a consulta chegar ao editor de Power Query, somente a etapa De origem
deverá ser exibida no painel Etapas Aplicadas. Esta etapa contém uma tabela com todos
os objetos disponíveis em seu banco de dados, semelhante à forma como eles foram
exibidos na janela Navegador.

Usar a função Value.NativeQuery


O objetivo desse processo é executar o código SQL a seguir e aplicar mais
transformações com Power Query que podem ser dobradas de volta para a origem.

SQL

SELECT DepartmentID, Name FROM HumanResources.Department WHERE GroupName =


'Research and Development'

A primeira etapa foi definir o destino correto, que nesse caso é o banco de dados em
que o código SQL será executado. Depois que uma etapa tiver o destino correto, você
poderá selecionar essa etapa , nesse caso, origem nas Etapas Aplicadas e, em seguida,
selecionar o botão fx na barra de fórmulas para adicionar uma etapa personalizada.
Neste exemplo, substitua a Source fórmula pela seguinte fórmula:

Power Query M

Value.NativeQuery(Source, "SELECT DepartmentID, Name FROM


HumanResources.Department WHERE GroupName = 'Research and Development' ",
null, [EnableFolding = true])

O componente mais importante dessa fórmula é o uso do registro opcional para o


próximo parâmetro da função que tem o campo de registro EnableFolding definido
como TRUE.

7 Observação

Você pode ler mais sobre a função Value.NativeQuery no artigo da documentação


oficial.

Depois de inserir a fórmula, será mostrado um aviso que exigirá que você habilite as
consultas nativas a serem executadas para sua etapa específica. Você pode clicar em
continuar para que esta etapa seja avaliada.

Essa instrução SQL produz uma tabela com apenas três linhas e duas colunas.
Testar dobramento de consulta
Para testar o dobramento de consulta de sua consulta, você pode tentar aplicar um filtro
a qualquer uma de suas colunas e ver se o indicador de dobramento de consulta na
seção etapas aplicadas mostra a etapa como dobrada. Nesse caso, você pode filtrar a
coluna DepartmentID para ter valores que não são iguais a dois.

Depois de adicionar esse filtro, você pode verificar se os indicadores de dobramento de


consulta ainda mostram a dobragem de consulta acontecendo nesta nova etapa.
Para validar ainda mais qual consulta está sendo enviada para a fonte de dados, clique
com o botão direito do mouse na etapa Linhas Filtradas e selecione a opção que lê
Exibir plano de consulta para verificar o plano de consulta para essa etapa.

No modo de exibição do plano de consulta, você pode ver que um nó com o nome
Value.NativeQuery no lado esquerdo da tela que tem um texto de hiperlink que lê
Detalhes da exibição. Você pode clicar neste texto de hiperlink para exibir a consulta
exata que está sendo enviada para o banco de dados SQL Server.

A consulta nativa é encapsulada em torno de outra instrução SELECT para criar uma
subconsulta do original. O Power Query fará o seu melhor para criar a consulta mais
ideal, considerando as transformações usadas e a consulta nativa fornecida.
 Dica

Para cenários em que você obtém erros porque o dobramento de consulta não era
possível, é recomendável que você tente validar suas etapas como uma
subconsulta de sua consulta nativa original para verificar se pode haver alguma
sintaxe ou conflitos de contexto.
Usar as ferramentas de criação de perfil
de dados
Artigo • 15/08/2023

As ferramentas de criação de perfil de dados fornecem maneiras novas e intuitivas de


limpar, transformar e entender dados no Editor do Power Query. Eles incluem:

Qualidade da coluna

Distribuição de colunas

Perfil da coluna

Para habilitar as ferramentas de criação de perfil de dados, acesse a guia Exibir na faixa
de opções. No Power Query Desktop, habilite as opções desejadas no grupo
Visualização de dados, conforme mostrado na imagem a seguir.

No Power Query Online, selecione Exibição de dados e habilite as opções desejadas na


lista suspensa.
Depois de habilitar as opções, você verá algo parecido com a imagem a seguir no Editor
do Power Query.
7 Observação

Por padrão, Power Query executa essa criação de perfil de dados nas primeiras
1.000 linhas de seus dados. Para que ele opere em todo o conjunto de dados,
selecione a mensagem Criação de perfil de coluna com base nas 1000 principais
linhas no canto inferior esquerdo da janela do editor para alterar a criação de perfil
de coluna para Criação de perfil de coluna com base em todo o conjunto de
dados.

Qualidade da coluna
O recurso de qualidade da coluna rotula valores em linhas em cinco categorias:

Válido, em verde.

Erro, em vermelho.

Vazio, em cinza escuro.

Desconhecido, em verde pontilhado. Indica quando há erros em uma coluna; a


qualidade dos dados restantes é desconhecida.

Erro inesperado, em vermelho pontilhado.

Esses indicadores são exibidos diretamente abaixo do nome da coluna como parte de
um pequeno gráfico de barras, conforme aparece na imagem a seguir.
O número de registros em cada categoria de qualidade de coluna também é exibido
como uma porcentagem.

Ao passar o mouse sobre qualquer uma das colunas, você vai ver a distribuição
numérica da qualidade dos valores em toda a coluna. Além disso, selecionar o botão de
reticências (...) abre alguns botões de ação rápida para operações nos valores.

Distribuição de colunas
Esse recurso fornece um conjunto de visuais abaixo dos nomes das colunas, os quais
demostram a frequência e a distribuição dos valores em cada uma das colunas. Os
dados nessas visualizações são classificados em ordem decrescente do valor com a
frequência mais alta.

Ao passar o mouse sobre os dados de distribuição em qualquer uma das colunas, você
verá informações sobre os dados gerais na coluna (com contagem distinta e valores
exclusivos). Também é possível selecionar o botão de reticências e escolher em um
menu de operações disponíveis.
Perfil da coluna
Esse recurso fornece uma visão mais detalhada dos dados em uma coluna. Além do
gráfico de distribuição de colunas, ele contém um gráfico de estatísticas de coluna.
Essas informações são exibidas abaixo da seção de visualização de dados, conforme a
imagem a seguir.
Filtrar por valor
Você pode interagir com o gráfico de distribuição de valor no lado direito e selecionar
qualquer uma das barras passando o mouse sobre as partes do gráfico.

Clique com o botão direito do mouse para exibir um conjunto de transformações


disponíveis para esse valor.

Copiar dados
No canto superior direito das seções de distribuição de valor e de estatísticas de coluna,
você pode selecionar o botão de reticências (...) para exibir um menu de atalho Copiar.
Selecione-o para copiar os dados exibidos em qualquer seção para a área de
transferência.
Agrupar por valor
Quando você seleciona o botão de reticências (...) no canto superior direito do gráfico
de distribuição de valor, além de Copiar, pode selecionar Agrupar por. Esse recurso
agrupa os valores em seu gráfico por um conjunto de opções disponíveis.

A imagem abaixo mostra uma coluna de nomes de produtos que foram agrupados por
tamanho de texto. Depois que os valores forem agrupados no gráfico, você poderá
interagir com valores individuais no gráfico, conforme descrito em Filtrar por valor.
Usar o painel Consultas
Artigo • 23/03/2023

No Power Query, você criará muitas consultas diferentes. Seja de obter dados de muitas
tabelas ou de duplicar a consulta original, o número de consultas aumentará.

Você usará o painel Consultas para navegar pelas consultas.

Navegando com o painel Consultas


O uso mais básico do painel Consultas é navegar até todas as consultas. A navegação é
semelhante a um explorador de arquivos. Para alternar entre as consultas, basta
selecionar a consulta para a qual você deseja ir.

7 Observação

Algumas ações no editor do Power Query Online podem ser diferentes das ações
no editor de área de trabalho do Power Query. Essas diferenças serão observadas
neste artigo.

Ações básicas no painel Consulta


Semelhante aos recursos em toda a faixa de opções e no editor, o menu de contexto de
uma consulta permite que você faça transformações diretamente na consulta.
Para acessar essas ações, abra o menu de contexto (o menu de clique com o botão
direito do mouse) no painel Consulta.

Diferenças entre Desktop e Online:

Power Query Online

Power Query Desktop


Para ser mais abrangente, vamos tocar em todas as ações de menu de contexto que são
relevantes para qualquer um deles.

Renomear uma consulta


Para alterar diretamente o nome da consulta, selecione duas vezes o nome da consulta.
Essa ação permitirá que você altere imediatamente o nome.

Outras opções para renomear a consulta são:

Vá para o menu de contexto e selecione Renomear.

Vá para Configurações de Consulta e insira um nome diferente no campo de


entrada Nome.
Excluir uma consulta
Para excluir uma consulta, abra o painel de contexto na consulta e selecione Excluir.
Haverá um pop-up adicional confirmando a exclusão. Para concluir a exclusão, selecione
o botão Excluir.

Duplicando uma consulta


Duplicar uma consulta criará uma cópia da consulta que você está selecionando.

Para duplicar sua consulta, abra o painel de contexto na consulta e selecione Duplicar.
Uma nova consulta duplicada será exibida na lateral do painel de consulta.

Referenciando uma consulta


O referenciamento de uma consulta criará uma nova consulta. A nova consulta usa as
etapas de uma consulta anterior sem precisar duplicar a consulta. Além disso, todas as
alterações na consulta original serão transferidas para a consulta referenciada.

Para referenciar sua consulta, abra o painel de contexto na consulta e selecione


Referenciar. Uma nova consulta referenciada aparecerá na lateral do painel de consulta.
Copiar e colar
Copiar e colar pode ser usado quando você tiver uma consulta copiada para colocar no
editor de Power Query.

7 Observação

Para saber mais sobre como copiar e colar consultas em Power Query, acesse
Compartilhar uma consulta.

Opções do painel de contexto no painel


Consultas
Há algumas opções adicionais do painel de contexto no painel Consultas que você
pode usar. Essas opções são nova consulta, consultas de mesclagem, novo parâmetro
e novo grupo.

Para acessar essas opções, abra o menu de contexto (o menu de clique com o botão
direito do mouse) no painel Consultas.

Diferenças entre Desktop e Online:

Power Query Online


Power Query Desktop

Para ser mais abrangente, descreveremos mais uma vez todas as ações de menu de
contexto relevantes para qualquer um deles.

Nova Consulta
Você pode importar dados para o editor de Power Query como uma opção no menu de
contexto.

Essa opção funciona da mesma forma que o recurso Obter Dados.


7 Observação

Para saber mais sobre como obter dados no Power Query, acesse Obter dados

Mesclar consultas
Quando você seleciona a opção Mesclar consultas no menu de contexto, a tela de
entrada Mesclar consultas é aberta.

Essa opção funciona da mesma forma que o recurso Mesclar consultas localizado na
faixa de opções e em outras áreas do editor.

7 Observação

Para saber mais sobre como usar o recurso Mesclar consultas , acesse Visão geral
de mesclagem de consultas.

Novo Parâmetro
Quando você seleciona a opção Novo parâmetro no menu de contexto, a tela de
entrada Novo parâmetro é aberta.

Essa opção funciona da mesma forma que o recurso Novo parâmetro localizado na
faixa de opções.

7 Observação
Para saber mais sobre Parâmetros no Power Query, acesse Usando parâmetros.

Novo grupo
Você pode criar pastas e mover as consultas para dentro e para fora das pastas para fins
organizacionais. Essas pastas são chamadas de grupos.

Para mover a consulta para um grupo, abra o menu de contexto na consulta específica.

No menu, selecione Mover para o grupo.

Em seguida, selecione o grupo no qual você deseja colocar a consulta.

A movimentação será semelhante à imagem a seguir. Usando as mesmas etapas acima,


você também pode mover a consulta para fora do grupo selecionando Consultas (raiz)
ou outro grupo.
Nas versões da área de trabalho do Power Query, você também pode arrastar e soltar as
consultas nas pastas.
Modo de Exibição de Diagrama
Artigo • 23/03/2023

A exibição de diagrama oferece uma forma visual para preparar dados no editor do
Power Query. Com essa interface, fica fácil criar consultas e visualizar o processo de
preparação de dados. A exibição de diagrama simplifica a experiência de introdução à
estruturação de dados. Ele acelera o processo de preparação de dados e ajuda você a
entender rapidamente o fluxo de dados, tanto a "visão do panorama geral" de como as
consultas estão relacionadas, quanto a "visão detalhada" das etapas de preparação de
dados específicas em uma consulta.

Este artigo fornece uma visão geral das funcionalidades oferecidas pela exibição de
diagrama.

Esse recurso é habilitado selecionando Exibição de diagrama na guia Exibir na faixa de


opções. Com a exibição de diagrama habilitada, o painel de etapas e o painel de
consultas serão recolhidos.

7 Observação
Atualmente, a exibição de diagrama só está disponível no Power Query Online.

Criação de consultas usando a exibição de


diagrama
A exibição de diagrama fornece uma interface visual para criar, exibir ou modificar
consultas. Na exibição de diagrama, você pode se conectar a muitos tipos diferentes de
fontes de dados usando a experiência de obter dados.

A exibição de diagrama também está conectada à Visualização de Dados e à faixa de


opções para que você possa selecionar colunas na Visualização de Dados.

Você pode adicionar uma nova etapa em uma consulta, após a etapa atualmente
selecionada, selecionando o botão + e, em seguida, pesquisar a transformação ou
escolher o item no menu de atalho. Essas são as mesmas transformações que você
encontrará na faixa de opções do editor do Power Query.

Ao pesquisar e selecionar a transformação no menu de atalho, a etapa é adicionada à


consulta, conforme mostrado na imagem a seguir.

7 Observação
Para saber mais sobre como criar consultas no Editor de consultas usando a faixa
de opções do editor do Power Query ou a visualização de dados, acesse Início
Rápido do Power Query.

Ações de nível de consulta


Você pode executar duas ações rápidas em uma consulta: expandir/recolher uma
consulta e realçar consultas relacionadas. Essas ações rápidas aparecem em uma
consulta ativa selecionada ou ao passar o mouse sobre uma consulta.

Você pode executar mais ações de nível de consulta, como duplicata, referência e assim
por diante, selecionando o menu de contexto no nível da consulta (os três pontos
verticais). Você também pode clicar com o botão direito do mouse na consulta para
acessar o mesmo menu de contexto.

Expandir ou recolher consulta


Para expandir ou recolher uma consulta, clique com o botão direito do mouse na
consulta e selecione Expandir/Recolher no menu de contexto da consulta. Você
também pode clicar duas vezes na consulta para expandir ou recolhê-la.
Realçar consultas relacionadas
Para ver todas as consultas relacionadas a uma determinada consulta, clique com o
botão direito do mouse em uma consulta e selecione Realçar consultas relacionadas.
Você também pode selecionar o botão realçar consultas relacionadas no canto superior
direito de uma consulta.
Por exemplo, se você selecionar o botão para realçar consultas relacionadas na consulta
Principais Clientes dos EUA, verá que as consultas Clientes e Pedidos estão realçadas.

consulta Delete
Para excluir uma consulta, clique com o botão direito do mouse em uma consulta e
selecione Excluir no menu de contexto. Haverá um pop-up adicional para confirmar a
exclusão.
Renomear consulta
Para renomear uma consulta, clique com o botão direito do mouse em uma consulta e
selecione Renomear no menu de contexto.
Habilitar carregamento
Para garantir que os resultados fornecidos pela consulta estejam disponíveis para uso
downstream, como na criação de relatórios, por padrão, Habilitar carregamento é
definido como verdadeiro. Caso precise desabilitar o carregamento em uma
determinada consulta, clique com o botão direito do mouse em uma consulta e
selecione Habilitar carregamento. As consultas em que Habilitar carregamento está
definida como falso serão exibidas com um contorno cinza.
Duplicar
Para criar uma cópia de uma determinada consulta, clique com o botão direito do
mouse na consulta e selecione Duplicar. Uma nova consulta duplicada será exibida na
exibição de diagrama.
Referência
O referenciamento de uma consulta criará uma nova consulta. A nova consulta usará as
etapas da consulta anterior sem precisar duplicar a consulta. Além disso, todas as
alterações na consulta original serão transferidas para a consulta referenciada. Para
referenciar uma consulta, clique com o botão direito do mouse na consulta e selecione
Referenciar.
Mover para o grupo
Você pode criar pastas e mover as consultas para essas pastas para fins de organização.
Essas pastas são chamadas de grupos. Para mover uma determinada consulta para um
Grupo de consultas, clique com o botão direito do mouse em uma consulta e selecione
Mover para o grupo. Você pode optar por mover as consultas para um grupo existente
ou criar um grupo de consultas.
Você pode ver os grupos de consultas acima da caixa de consulta na exibição de
diagrama.

Criar função
Quando você precisa aplicar o mesmo conjunto de transformações em diferentes
consultas ou valores, a criação de funções personalizadas do Power Query pode ser
valiosa. Para saber mais sobre funções personalizadas, acesse Usar funções
personalizadas. Para converter uma consulta em uma função reutilizável, clique com o
botão direito do mouse em uma determinada consulta e selecione Criar função.
Converter em parâmetro
Um parâmetro fornece a flexibilidade para alterar dinamicamente a saída de suas
consultas dependendo do valor e promove a reutilização. Para converter um valor não
estruturado, como data, texto, número e assim por diante, clique com o botão direito
do mouse na consulta e selecione Converter em Parâmetro.
7 Observação

Para saber mais sobre parâmetros, acesse Parâmetros do Power Query.

Editor avançado
Com o editor avançado, você pode ver o código que Power Query editor está criando a
cada etapa. Para exibir o código de uma determinada consulta, clique com o botão
direito do mouse na consulta e selecione Editor avançado.
7 Observação

Para saber mais sobre o código usado no editor avançado, acesse Especificação da
linguagem M do Power Query.

Editar nome e descrição da consulta


Para editar o nome de uma consulta ou adicionar uma descrição, clique com o botão
direito do mouse em uma consulta e selecione Propriedades.
Essa ação abrirá uma caixa de diálogo na qual você poderá editar o nome da consulta
ou adicionar/modificar a descrição da consulta.
As consultas com uma descrição terão uma funcionalidade (ícone i ). Você pode ver a
descrição da consulta focalizando perto do nome da consulta.

Acrescentar consultas/Acrescentar consultas como novas


Para acrescentar ou executar uma UNIÃO de consultas, clique com o botão direito do
mouse em uma consulta e selecione Acrescentar consultas. Essa ação exibirá a caixa de
diálogo Acrescentar, na qual você poderá adicionar tabelas à consulta atual. A opção
Acrescentar consultas como novas também exibirá a caixa de diálogo Acrescentar, mas
permitirá que você acrescente várias tabelas em uma nova consulta.

7 Observação

Para saber mais sobre como acrescentar consultas no Power Query, acesse
Acrescentar consultas.
Mesclar consultas/Mesclar consultas como novas
Para mesclar ou fazer JUNÇÃO de consultas, clique com o botão direito do mouse em
uma consulta e selecione Mesclar consultas. Essa ação exibirá a caixa de diálogo
Mesclar, com a consulta selecionada como a tabela à esquerda da operação de
mesclagem. A opção Mesclar consultas como novas também exibirá a caixa de diálogo
Mesclar, mas permitirá mesclar duas tabelas em uma nova consulta.

7 Observação

Para saber mais sobre como mesclar consultas no Power Query, acesse Visão geral
de mesclar consultas.

Ações de nível de etapa


Ao clicar com o botão direito do mouse em uma etapa, você poderá executar ações de
nível de etapa, como Editar configurações, Renomear e assim por diante.
Você também pode executar ações de nível de etapa passando o mouse sobre a etapa e
selecionando as reticências (três pontos verticais).

Editar configurações
Para editar as configurações de nível de etapa, clique com o botão direito do mouse na
etapa e escolha Editar configurações. Você também pode clicar duas vezes na etapa
(que tenha configurações de etapa) e acessar diretamente a caixa de diálogo de
configurações. Na caixa de diálogo de configurações, você pode ver ou alterar as
configurações de nível de etapa. Por exemplo, a imagem a seguir mostra a caixa de
diálogo de configurações da etapa Dividir coluna.
Renomear etapa
Para renomear uma etapa, clique com o botão direito do mouse na etapa e selecione
Renomear. Essa ação abre a caixa de diálogo Definir propriedades. Insira o nome
desejado e selecione OK.

Excluir etapa
Para excluir uma etapa, clique com o botão direito do mouse na etapa e selecione
Excluir. Para excluir uma série de etapas até o final, clique com o botão direito do
mouse na etapa e selecione Excluir até o fim.

Mover para Antes/Mover para Depois


Para mover uma etapa para uma posição anterior, clique com o botão direito do mouse
em uma etapa e selecione Mover para Antes. Para mover uma etapa para uma posição
posterior, clique com o botão direito do mouse em uma etapa e selecione Mover para
Depois.

Extrair anterior
Para extrair todas as etapas anteriores para colocar em uma nova consulta, clique com o
botão direito do mouse na primeira etapa que você não deseja incluir na consulta e
selecione Extrair anterior.

Exitar nome e descrição da etapa


Para adicionar descrições de etapas, clique com o botão direito do mouse em uma
etapa em uma consulta e escolha Propriedades.

Você também pode acessar o menu de contexto de nível de etapa passando o mouse
sobre a etapa e selecionando as reticências (três pontos verticais).
Essa ação abrirá uma caixa de diálogo na qual você pode adicionar a descrição da etapa.
Esta descrição da etapa será útil quando você voltar para a mesma consulta após alguns
dias ou quando compartilhar suas consultas ou fluxos de dados com outros usuários.

Ao passar o mouse sobre cada etapa, você exibe um texto explicativo que mostra o
rótulo da etapa, o nome da etapa e as descrições da etapa (que foram adicionadas).
Ao selecionar uma etapa, você pode exibir a visualização de dados correspondente para
aquela etapa.

Expandir e recolher consultas


Para garantir que você possa ver suas consultas na exibição de diagrama, você pode
recolher as que você não está trabalhando ativamente e expandir as que você tem
interesse. Expanda ou recolha consultas selecionando o botão Expandir/Recolher no
canto superior direito de uma consulta. Como alternativa, clicar duas vezes em uma
consulta expandida a recolherá e vice-versa.

Você também pode expandir ou recolher uma consulta selecionando as ações de nível
de consulta no menu de contexto da consulta.
Para expandir ou recolher todas as consultas, selecione o botão Expandir tudo/Recolher
tudo próximo das opções de layout no painel da exibição de diagrama.

Você também pode clicar com o botão direito do mouse em qualquer espaço vazio no
painel da exibição de diagrama e ver um menu de contexto para expandir ou recolher
todas as consultas.

No modo recolhido, você pode examinar rapidamente as etapas da consulta, passando


o mouse sobre o número de etapas da consulta. Você pode selecionar essas etapas para
navegar até uma etapa específica dentro da consulta.
Opções de layout
Há cinco opções de layout disponíveis na exibição de diagrama: reduzir, ampliar,
minimapa, tela inteira, ajustar à exibição e redefinir.

Reduzir/ampliar
Com essa opção, você pode ajustar o nível de zoom e reduzir ou ampliar para exibir
todas as consultas na exibição de diagrama.

Minimapa
Com essa opção, você pode ativar ou desativar o minimapa da exibição de diagrama.
Mais informações: Mostrar minimapa

Tela inteira
Com essa opção, você pode exibir todas as consultas e suas relações por meio do modo
Tela inteira. O painel da exibição de diagrama se expande para a tela inteira e o painel
de visualização de dados, o painel de consultas e o painel de etapas permanecem
recolhidos.

Ajustar à exibição
Com essa opção, você pode ajustar o nível de ampliação para que todas as consultas e
suas relações possam ser totalmente exibidas na exibição de diagrama.

Redefinir
Com essa opção, você pode redefinir o nível de ampliação de volta para 100% e
redefinir o painel posicionando-o no canto superior à esquerda.

Exibir relações de consulta


Para exibir todas as consultas relacionadas a uma determinada consulta, selecione o
botão Realçar consultas relacionadas. Por exemplo, ao selecionar o botão realçar
consultas relacionadas na consulta Principais Clientes dos EUA, as consultas Clientes e
Pedidos serão realçadas, conforme mostrado na imagem a seguir.
Você também pode selecionar o dongle à esquerda de uma consulta específica para ver
as consultas diretas e indiretas referenciadas.

Da mesma forma, você pode selecionar o dongle à direita para exibir as consultas
dependentes diretas e indiretas.

Você também pode passar o mouse sobre o ícone de link abaixo de uma etapa para
exibir um texto explicativo que mostra as relações da consulta.

Configurações de exibição de diagrama


Há duas maneiras de modificar as configurações da exibição de diagrama. A primeira
maneira é selecionar a metade inferior do botão Exibição de Diagrama dentro da guia
Exibir na faixa de opções.

A segunda maneira de modificar as configurações de exibição de diagrama é clicar com


o botão direito do mouse em uma parte em branco da tela de fundo da exibição de
diagrama.
Rótulos de etapas e nomes de etapas
Mostramos rótulos de etapa por padrão na exibição de diagrama.

Você pode alterar as configurações de exibição de diagrama para mostrar nomes de


etapas para correspondência com as etapas aplicadas no painel de configurações da
consulta.

Realce automático de consultas relacionadas


Ao selecionar Realçar automaticamente consultas relacionadas nas configurações de
exibição de diagrama, as consultas relacionadas serão sempre realçadas para que você
possa observar melhor as dependências da consulta

Exibição compacta
Quando você tem consultas com várias etapas, pode ser complicado rolar
horizontalmente para exibir todas as etapas no visor.
Para resolver isso, a exibição de diagrama oferece o Modo compacto, que compacta as
etapas de cima para baixo, em vez da esquerda para a direita. Essa exibição pode ser
especialmente útil quando você tem consultas com várias etapas, para que você possa
ver o maior número possível de consultas no visor.

Para habilitar esse modo de exibição, navegue até as configurações de exibição do


diagrama e selecione a Exibição compacta dentro da guia Exibir na faixa de opções.

Mostrar minimapa
Depois que o número de consultas começar a exceder a exibição de diagrama, você
poderá usar as barras de rolagem na parte inferior e à direita da exibição de diagrama
para rolar pelas consultas. Outro método de rolagem é usar o controle de minimapa da
exibição de diagrama. O controle de minimapa permite que você acompanhe o "mapa"
do fluxo de dados geral e navegue rapidamente, enquanto observa uma área específica
do mapa na área da exibição de diagrama principal.
Para abrir o minimapa, selecione Mostrar minimapa no menu da exibição de diagrama
ou selecione o botão minimapa nas opções de layout.

Clique com o botão direito do mouse e segure o retângulo no minimapa e movimente o


retângulo para se mover na exibição de diagrama.

Mostrar animações
Quando o item de menu Mostrar animações é selecionado, as transições dos tamanhos
e posições das consultas são animadas. Essas transições são mais fáceis de ver ao
recolher ou expandir as consultas ou ao alterar as dependências de consultas existentes.
Quando desmarcadas, as transições serão imediatas. As animações ficam ativadas por
padrão.
Maximizar a visualização de dados
Pode ser interessante ver mais dados na visualização de dados para entender e analisar
os dados. Para fazer isso, expanda a visualização de dados para que você possa ver
tantos dados quanto antes na visualização de dados, sem sair da exibição de diagrama.

Expandir ou recolher todas as consultas


Por padrão, as consultas na exibição de diagrama ficam recolhidas. Há opções para
expandir ou recolher cada consulta com um único clique.

Você também pode expandir ou recolher consultas relacionadas usando o menu de


contexto do nível de consulta.

Seleção múltipla de consultas


Você seleciona várias consultas na exibição de diagrama mantendo pressionada a tecla
Ctrl e clicando nas consultas. Depois de fazer várias seleções, clicar com o botão direito
do mouse mostrará um menu de contexto que permite executar operações como
mesclagem, acréscimo, migração para grupo, expansão/recolhimento e muito mais.

Renomeação embutida
Você pode clicar duas vezes no nome da consulta para renomeá-la.

Clicar duas vezes no nome da etapa permite renomear a etapa, desde que a
configuração da exibição de diagrama esteja mostrando nomes de etapas.

Quando os rótulos de etapa são exibidos na exibição de diagrama, clicar duas vezes no
rótulo da etapa mostrará a caixa de diálogo para renomear o nome da etapa e fornecer
uma descrição.
Acessibilidade
A exibição de diagrama dá suporte a recursos de acessibilidade, como navegação por
teclado, modo de alto contraste e suporte a leitor de tela. A tabela a seguir descreve os
atalhos de teclado disponíveis na exibição de diagrama. Para saber mais sobre os
atalhos de teclado disponíveis no Power Query Online, acesse atalhos de teclado em
Power Query.

Ação Atalho de teclado

Expandir a consulta selecionada Ctrl + Tecla de seta para a direita

Recolher consulta selecionada Ctrl + Tecla de seta para a esquerda

Mover o foco do nível de consulta para o nível da etapa Alt + Tecla de seta para baixo

Mover o foco do nível da etapa para o nível de consulta Esc

Expandir todas as consultas Ctrl + Shift + Tecla de seta para a


direita

Recolher todas as consultas Ctrl + Shift + Tecla de seta para a


esquerda
Ação Atalho de teclado

Inserir nova etapa usando o botão + (após selecionar a Ctrl+Alt+N


etapa)

Realçar consultas relacionadas Ctrl + Alt + R

Selecionar todas as consultas Ctrl+A

Copiar consultas Ctrl+C

Colar as consultas Ctrl+V


Usando o modo de exibição Esquema
(Visualização)
Artigo • 05/10/2023

A Exibição de esquema é projetada para otimizar o fluxo ao trabalhar em operações no


nível do esquema ao colocar as informações das colunas da consulta na frente e no
centro. O modo de exibição Esquema fornece interações contextuais para moldar sua
estrutura de dados e operações de latência mais baixa, pois requer apenas que os
metadados da coluna sejam computados e não os resultados completos dos dados.

Este artigo orienta você pelo modo de exibição de esquema e pelas funcionalidades que
ele oferece.

7 Observação

O recurso Exibição de esquema está disponível apenas para Power Query Online.

Visão geral
Ao trabalhar em conjuntos de dados com muitas colunas, tarefas simples podem se
tornar incrivelmente complicadas, porque até mesmo encontrar a coluna certa rolando
horizontalmente e analisando todos os dados é ineficiente. A Exibição de esquema
mostra as informações de coluna em uma lista simples de encontrar e analisar, tornando
mais fácil do que nunca trabalhar no esquema.

Além de uma experiência de gerenciamento de coluna otimizada, outro benefício


fundamental do modo de exibição de esquema é que as transformações tendem a gerar
resultados mais rapidamente. Esses resultados são mais rápidos porque a exibição exige
apenas que as informações das colunas sejam computadas em vez de serem uma
exibição dos dados. Portanto, mesmo as consultas de execução prolongada com poucas
colunas se beneficiarão do uso do modo de exibição de esquema.

Para ativar o modo de exibição de esquema, selecione Exibição de esquema na guia


Exibir. Quando estiver pronto para trabalhar em seus dados novamente, selecione
Exibição de dados para retornar.

Reordenação de colunas
Uma tarefa comum ao trabalhar no esquema é reordenar colunas. Na Exibição de
esquema, isso pode ser feito facilmente ao arrastar as colunas na lista e soltando no
local certo até conseguir chegar na ordem desejada das colunas.

Aplicação das transformações


Para aplicar alterações mais avançadas no esquema, é possível encontrar as
transformações mais usadas no nível de coluna diretamente na lista e na guia
Ferramentas de esquema. Além disso, você também pode usar as transformações
disponíveis em outras guias na faixa de opções.
Compartilhar uma consulta
Artigo • 23/03/2023

Você pode usar o Power Query para extrair e transformar os dados de fontes de dados
externas. Essas etapas de extração e transformações são representadas como consultas.
As consultas criadas com o Power Query são expressas usando a linguagem M e
executadas por meio do Mecanismo M.

Você pode compartilhar e reutilizar facilmente as consultas em projetos e também nas


integrações de produtos do Power Query. Este artigo aborda os mecanismos gerais para
compartilhar uma consulta no Power Query.

Copiar/Colar
No painel de consultas, clique com o botão direito do mouse na consulta que deseja
copiar. No menu suspenso, selecione a opção Copiar. A consulta e sua definição serão
adicionadas à área de transferência.

7 Observação
Atualmente, o recurso de copiar não está disponível em instâncias do Power Query
Online.

Para colar a consulta da área de transferência, acesse o painel de consultas e clique com
o botão direito do mouse em qualquer espaço vazio. No menu, selecioneColar.

Ao colar essa consulta em uma instância que tem o mesmo nome de consulta, a
consulta colada terá um sufixo adicionado no nome e ficará com o formato (#) , em que
o sinal de libra será substituído por um número para diferenciar as consultas coladas.

Também é possível colar consultas entre várias instâncias e integrações de produtos. Por
exemplo, é possível copiar a consulta do Power BI Desktop, conforme mostrado nas
imagens anteriores, e colá-la no Power Query para Excel, conforme mostrado na
imagem a seguir.
2 Aviso

Copiar e colar consultas entre integrações de produtos não garante que todas as
funções e funcionalidades encontradas na consulta colada funcionem no destino.
Algumas funcionalidades podem estar disponíveis somente na integração de
produtos da origem.

Copiar o código M
Também é possível copiar o código completo da consulta.
1. Selecione a consulta que deseja compartilhar.
2. Na faixa de opções, selecione a guia Exibir e clique em Editor avançado.
3. Na janela do Editor avançado, selecione e copie todo o código.

Com o código da consulta na área de transferência, escolha os meios para compartilhar


essa consulta. O destinatário desse código precisa criar uma consulta em branco e
seguir as mesmas etapas descritas acima. Porém, em vez de copiar o código, o
destinatário substituirá o código encontrado na consulta em branco pelo código
fornecido.

7 Observação

Para criar uma consulta em branco, acesse a janela Obter dados e selecione
Consulta em branco nas opções.

Recursos de compartilhamento de consulta


específicos do produto
Algumas integrações de produtos do Power Query podem oferecer mais maneiras de
compartilhar as consultas como por exemplo (mas não se limitando a):

No Microsoft Excel — crie uma conexão de dados do Office (.odc) para


compartilhar com outros usuários.
No Power BI Desktop — crie um modelo do Power BI (.pbit) para compartilhar
com outros usuários.

Recomendamos que você leia a documentação da integração do produto na qual está


interessado para saber mais sobre os recursos de compartilhamento de consultas
encontrados nesses produtos.
Usar funções personalizadas
Artigo • 23/03/2023

Se você se deparar com uma situação em que precisa aplicar o mesmo conjunto de
transformações a diferentes consultas ou valores, a criação de uma função
personalizada do Power Query que possa ser reutilizada quantas vezes forem
necessárias poderá ser algo benéfico. Uma função personalizada do Power Query é um
mapeamento de um conjunto de valores de entrada em um único valor de saída e é
criada com base em operadores e funções de M nativas.

Embora você possa criar manualmente sua própria função personalizada do Power
Query usando código, conforme mostrado em Noções básicas de funções da M do
Power Query, a interface do usuário do Power Query oferece recursos para acelerar,
simplificar e aprimorar o processo de criação e gerenciamento de uma função
personalizada.

Este artigo se concentra nessa experiência, fornecida apenas por meio da interface do
usuário Power Query, e mostra como aproveitar isso ao máximo.

) Importante

Este artigo descreve como criar uma função personalizada com o Power Query
usando transformações comuns acessíveis na interface do usuário do Power Query.
Ele se concentra nos principais conceitos para criar funções personalizadas e
oferece links para artigos adicionais na documentação do Power Query para obter
mais informações sobre transformações específicas que são referenciadas neste
artigo.

Criar uma função personalizada com base em


uma referência de tabela

7 Observação

O exemplo a seguir foi criado usando a experiência da área de trabalho disponível


no Power BI Desktop e também pode ser seguido usando a experiência do Power
Query encontrada no Excel para Windows.
Você pode acompanhar este exemplo baixando os arquivos de exemplo usados neste
artigo no link de download a seguir. Para simplificar, este artigo usará o conector
Folder. Para saber mais sobre o conector Folder, acesse Folder. O objetivo deste
exemplo é criar uma função personalizada que possa ser aplicada a todos os arquivos
nessa pasta antes de combinar todos os dados de todos os arquivos em uma única
tabela.

Comece usando a experiência do conector Folder para navegar até a pasta em que seus
arquivos estão localizados e selecione Transformar Dados ou Editar. Isso o levará à
experiência do Power Query. Clique com o botão direito do mouse no valor Binário de
sua preferência no campo Conteúdo e selecione a opção Adicionar como Nova
Consulta. Neste exemplo, você verá que a seleção foi feita para o primeiro arquivo da
lista, que por acaso é o arquivo April 2019.csv.

Essa opção criará efetivamente uma consulta com uma etapa de navegação diretamente
para esse arquivo como um Binário, e o nome dessa nova consulta será o caminho do
arquivo selecionado. Renomeie essa consulta como Arquivo de Exemplo.

Crie um parâmetro com o nome Parâmetro de Arquivo. Use a consulta Arquivo de


Exemplo como o Valor Atual, conforme mostrado na imagem a seguir.
7 Observação

Recomendamos que você leia o artigo sobre Parâmetros para entender melhor
como criar e gerenciar parâmetros no Power Query.

As funções personalizadas podem ser criadas usando qualquer tipo de parâmetro.


Não há nenhum requisito para que uma função personalizada tenha um binário
como parâmetro.

O tipo de parâmetro binário só é exibido dentro do menu suspenso Tipo da caixa


de diálogo Parâmetros quando você tem uma consulta que é avaliada como um
binário.

É possível criar uma função personalizada sem um parâmetro. Isso é


frequentemente visto em cenários em que uma entrada pode ser inferida do
ambiente em que a função está sendo invocada. Por exemplo, uma função que usa
a data e a hora atuais do ambiente e cria uma cadeia de caracteres de texto
específica com base nesses valores.

Clique com o botão direito do mouse no Parâmetro de Arquivo no painel Consultas.


Selecione a opção Referenciar.

Renomeie a consulta recém-criada de Parâmetro de Arquivo (2) para Transformar


Arquivo de exemplo.

Clique com o botão direito do mouse nesta nova consulta Transformar Arquivo de
exemplo e selecione a opção Criar Função.
Essa operação criará efetivamente uma função que será vinculada à consulta
Transformar Arquivo de exemplo. Todas as alterações feitas na consulta Transformar
Arquivo de exemplo serão replicadas automaticamente para sua função personalizada.
Durante a criação dessa função, use Transformar arquivo como o Nome da função.

Depois de criar a função, você observará que um novo grupo será criado para você com
o nome da função. Esse novo grupo conterá:
Todos os parâmetros que foram referenciados em sua consulta Transformar
Arquivo de exemplo.
Sua consulta Transformar Arquivo de exemplo, comumente conhecida como a
consulta de exemplo.
Sua função recém-criada, nesse caso, Transformar arquivo.

Aplicar transformações a uma consulta de exemplo


Com a nova função criada, selecione a consulta com o nome Transformar Arquivo de
exemplo. Essa consulta agora está vinculada à função Transformar arquivo, portanto,
todas as alterações feitas nessa consulta serão refletidas na função. Esse é conhecido
como o conceito de consulta de exemplo vinculada a uma função.

A primeira transformação que precisa acontecer com essa consulta é a que interpretará
o binário. Clique com o botão direito do mouse no binário no painel de visualização e
selecione a opção CSV para interpretar o binário como um arquivo CSV.
O formato de todos os arquivos CSV da pasta é o mesmo. Todos eles têm um cabeçalho
que abrange as quatro primeiras linhas. Os cabeçalhos de coluna estão localizados na
linha cinco e os dados começam da linha seis em diante, conforme mostrado na
imagem a seguir.

O próximo conjunto de etapas de transformação que precisa ser aplicado à consulta


Transformar Arquivo de exemplo é:
1. Remover as quatro primeiras linhas – essa ação se livrará das linhas que são
consideradas parte da seção de cabeçalho do arquivo.

7 Observação

Para saber mais sobre como remover linhas ou filtrar uma tabela por posição
de linha, vá para Filtrar por posição de linha.

2. Promover cabeçalhos – Os cabeçalhos da tabela final agora estão na primeira


linha da tabela. Você pode promovê-los conforme mostrado na próxima imagem.
O Power Query, por padrão, adicionará automaticamente uma nova etapa Tipo Alterado
depois de promover os cabeçalhos de coluna, que detectará automaticamente os tipos
de dados em cada coluna. Sua consulta Transformar Arquivo de exemplo ficará
semelhante à próxima imagem.

7 Observação

Para saber mais sobre como promover e rebaixar cabeçalhos, acesse Promover ou
rebaixar cabeçalhos de coluna.
U Cuidado

Sua função Transformar arquivo depende das etapas executadas na consulta


Transformar Arquivo de exemplo. No entanto, se você tentar modificar
manualmente o código para a função Transformar arquivo, vai se deparar com um
aviso que menciona The definition of the function 'Transform file' is updated
whenever query 'Transform Sample file' is updated. However, updates will stop

if you directly modify function 'Transform file'.

Invocar uma função personalizada como uma nova


coluna
Agora que a função personalizada está criada e todas as etapas de transformação
incorporadas, você pode voltar para a consulta original em que você tem a lista de
arquivos da pasta. Dentro da guia Adicionar Coluna na faixa de opções, selecione
Invocar Função Personalizada no grupo Geral. Dentro da janela Invocar Função
Personalizada, insira Tabela de Saída como Nome da nova coluna. Selecione o nome
da sua função, Transformar arquivo, na lista suspensa Consulta de função. Depois de
selecionar a função no menu suspenso, o parâmetro para a função será exibido e você
poderá selecionar qual coluna da tabela usará como argumento para essa função.
Selecione a coluna Conteúdo como o valor/argumento a ser passado para o Parâmetro
de Arquivo.
Depois de selecionar OK, uma coluna com o nome Tabela de Saída será criada. Esta
coluna tem valores Table em suas células, conforme mostrado na próxima imagem. Para
simplificar, remova todas as colunas dessa tabela, exceto Nome e Tabela de Saída.

7 Observação
Para saber mais sobre como escolher ou remover colunas de uma tabela, acesse
Escolher ou remover colunas.

Sua função foi aplicada a cada linha da tabela que usa os valores da coluna Conteúdo
como o argumento para sua função. Agora que os dados foram transformados na forma
que você está procurando, expanda a coluna Tabela de Saída, conforme mostrado na
imagem abaixo, sem usar nenhum prefixo para as colunas expandidas.

Você pode verificar se tem dados de todos os arquivos na pasta verificando os valores
na coluna Nome ou Data. Para esse caso, você pode verificar os valores da coluna Data,
pois cada arquivo contém apenas dados para um único mês de um determinado ano. Se
você vir mais de um, significa que você combinou com êxito dados de vários arquivos
em uma única tabela.

7 Observação
O que você leu até agora é fundamentalmente o mesmo processo que acontece
durante a experiência Combinar arquivos, mas feito manualmente.

Recomendamos que você também leia o artigo sobre Visão geral de combinação
de arquivos e Combinar arquivos CSV para entender melhor como a experiência
de combinação de arquivos funciona no Power Query e o papel que as funções
personalizadas desempenham.

Adicionar novo parâmetro à função personalizada


existente
Imagine que há um novo requisito além do que você criou. O novo requisito exige que,
antes de combinar os arquivos, você filtre os dados dentro deles para obter apenas as
linhas em que o País é igual a Panamá.

Para fazer colocar esse requisito em prática, crie um parâmetro chamado Mercado com
o tipo de dados de texto. Para o Valor Atual, insira o valor Panamá.
Com esse novo parâmetro, selecione a consulta Transformar Arquivo de exemplo e
filtre o campo País usando o valor do parâmetro Mercado.
7 Observação

Para saber mais sobre como filtrar colunas por valores, acesse Filtrar valores.

A aplicação dessa nova etapa à consulta atualizará automaticamente a função


Transformar arquivo, que agora exigirá dois parâmetros com base nos dois parâmetros
usados pela consulta Transformar Arquivo de exemplo.

Mas a consulta de Arquivos CSV tem um sinal de aviso ao lado dela. Agora que a
função foi atualizada, ela requer dois parâmetros. Portanto, a etapa em que você invoca
a função resulta em valores de erro, já que apenas um dos argumentos foi passado para
a função Transformar arquivo durante a etapa Função Personalizada Invocada.

Para corrigir os erros, clique duas vezes em Função Personalizada Invocada nas Etapas
Aplicadas para abrir a janela Invocar Função Personalizada. No parâmetro Mercado,
insira manualmente o valor Panamá.
Agora você pode verificar sua consulta para validar que somente as linhas em que País é
igual a Panamá aparecem no conjunto de resultados final da consulta Arquivos CSV.

Criar uma função personalizada com base em


uma parte de lógica reutilizável
Se você tiver várias consultas ou valores que exijam o mesmo conjunto de
transformações, você poderá criar uma função personalizada que atue como uma parte
de lógica reutilizável. Posteriormente, essa função personalizada pode ser invocada nas
consultas ou valores de sua escolha. Essa função personalizada pode economizar tempo
e ajudar você a gerenciar seu conjunto de transformações em um local central, que você
pode modificar a qualquer momento.

Por exemplo, imagine uma consulta que tenha vários códigos como uma cadeia de
caracteres de texto e você queira criar uma função que decodificará esses valores, como
na tabela de exemplo a seguir:
code

PTY-CM1090-LAX

LAX-CM701-PTY

PTY-CM4441-MIA

MIA-UA1257-LAX

LAX-XY2842-MIA

Você começa com um parâmetro que tenha um valor que sirva de exemplo. Para esse
caso, será o valor PTY-CM1090-LAX.
Com base nesse parâmetro, você cria outra consulta em que aplica as transformações
necessárias. Para esse caso, você deseja dividir o código PTY-CM1090-LAX em vários
componentes:

Origem = PTY
Destino = LAX
Airline = CM
FlightID = 1090
O código em linguagem M desse conjunto de transformações é mostrado abaixo.

Power Query M

let
Source = code,
SplitValues = Text.Split( Source, "-"),
CreateRow = [Origin= SplitValues{0}, Destination= SplitValues{2},
Airline=Text.Start( SplitValues{1},2), FlightID= Text.End( SplitValues{1},
Text.Length( SplitValues{1} ) - 2) ],
RowToTable = Table.FromRecords( { CreateRow } ),
#"Changed Type" = Table.TransformColumnTypes(RowToTable,{{"Origin", type
text}, {"Destination", type text}, {"Airline", type text}, {"FlightID", type
text}})
in
#"Changed Type"

7 Observação

Para saber mais sobre a linguagem de fórmula M Power Query, acesse Power
Query linguagem de fórmula M.

Em seguida, você pode transformar essa consulta em uma função, clicando com o botão
direito do mouse na consulta e selecionando Criar Função. Por fim, você pode invocar a
função personalizada em qualquer uma de suas consultas ou seus valores, conforme
mostrado na próxima imagem.
Depois de mais algumas transformações, você poderá ver que alcançou a saída
desejada e aproveitou a lógica dessa transformação de uma função personalizada.


Promover ou rebaixar cabeçalhos de
coluna
Artigo • 23/03/2023

Ao criar uma nova consulta de fontes de dados não estruturadas, como arquivos de
texto, o Power Query analisa o conteúdo do arquivo. Se o Power Query identificar um
padrão diferente para a primeira linha, ele tentará promover a primeira linha de dados
para serem os títulos de coluna da tabela. No entanto, o Power Query pode não
identificar o padrão corretamente 100% do tempo, portanto, este artigo explica como
você pode promover ou rebaixar manualmente cabeçalhos de coluna em linhas.

Para promover linhas em cabeçalhos de coluna


No exemplo a seguir, o Power Query não determinou os cabeçalhos de coluna da tabela
porque a tabela contém um conjunto de linhas de cabeçalho nas três primeiras linhas.
Os cabeçalhos de coluna reais da tabela estão contidos na linha 5.

Para promover os cabeçalhos, remova as quatro primeiras linhas da tabela. Para fazer
isso, selecione o menu da tabela no canto superior esquerdo da janela de visualização e
selecione Remover linhas superiores.
Na janela Remover linhas superiores, insira 4 na caixa Número de linhas.

7 Observação

Para saber mais sobre Remover linhas superiores e outras operações de tabela,
acesse Filtrar por posição de linha.

O resultado dessa operação deixará os cabeçalhos como a primeira linha da tabela.


Locais da operação Promover cabeçalhos
A partir daqui, você tem vários locais em que pode selecionar a operação Promover
cabeçalhos:

Na guia Página Inicial, no grupo Transformar.

Na guia Transformar, no grupo Tabela.

No menu da tabela.
Depois de fazer a operação Promover cabeçalhos, sua tabela será semelhante à imagem
a seguir.

7 Observação

Os nomes de colunas de tabela devem ser exclusivos. Se a linha que você deseja
promover em uma linha de cabeçalho contiver várias instâncias da mesma cadeia
de caracteres de texto, o Power Query vai evitar ambiguidade nos títulos de coluna
adicionando um sufixo numérico precedido por um ponto em cada cadeia de
caracteres de texto que não seja exclusiva.
Para rebaixar cabeçalhos de coluna em linhas
No exemplo a seguir, os cabeçalhos de coluna estão incorretos: na verdade, fazem parte
dos dados da tabela. É necessário rebaixar os cabeçalhos para que façam parte das
linhas da tabela.

Locais da operação Rebaixar cabeçalhos


Você tem vários locais em que pode selecionar a operação Rebaixar cabeçalhos:

Na guia Página Inicial, no grupo Transformar.

Na guia Transformar, no grupo Tabela.


Depois de fazer essa operação, sua tabela será semelhante à imagem a seguir.

Como última etapa, selecione cada coluna e digite um novo nome para ela. O resultado
final será semelhante à imagem a seguir.

Confira também
Filtrar por posição da linha
Filtrar uma tabela por posição de linha
Artigo • 23/03/2023

O Power Query tem várias opções para filtrar uma tabela com base nas posições de suas
linhas, mantendo ou removendo essas linhas. Este artigo aborda todos os métodos
disponíveis.

Manter Linhas
O conjunto de funções para manter linhas selecionará um conjunto de linhas da tabela e
removerá as outras linhas que não atendem aos critérios.

Há dois locais em que você encontra os botões Manter linhas:

Na guia Página Inicial, no grupo Reduzir Linhas.

No menu de tabela.
7 Observação

Na seção de visualização de dados, no meio da janela do Power Query, você pode


ver a posição de suas linhas no lado esquerdo da tabela. Cada posição de linha é
representada por um número. A linha superior começa com a posição 1.

Manter linhas superiores


Imagine a tabela a seguir que sai de um sistema com um layout fixo.
Este relatório sempre contém sete linhas de dados e, abaixo dos dados, ele tem uma
seção para comentários com um número desconhecido de linhas. Neste exemplo, você
só deseja manter as primeiras sete linhas de dados. Para fazer isso, selecione Manter as
linhas superiores no menu de tabela. Na caixa de diálogo Manter linhas superiores,
insira 7 na caixa Número de linhas.

O resultado dessa alteração lhe dará a tabela de saída que você está procurando.
Depois de definir os tipos de dados para as colunas, sua tabela ficará semelhante à
imagem a seguir.
Manter linhas inferiores
Imagine a tabela a seguir que sai de um sistema com um layout fixo.

Este relatório sempre contém sete linhas de dados no final da página do relatório.
Acima dos dados, o relatório tem uma seção para comentários com um número
desconhecido de linhas. Neste exemplo, você só deseja manter essas últimas sete linhas
de dados e a linha de cabeçalho.

Para fazer isso, selecione Manter as linhas inferiores no menu de tabela. Na caixa de
diálogo Manter linhas inferiores, insira 8 na caixa Número de linhas.
O resultado dessa operação lhe dará oito linhas, mas agora a linha de cabeçalho faz
parte da tabela.

Você precisa promover os cabeçalhos de coluna da primeira linha da tabela. Para fazer
isso, selecione Usar a primeira linha como cabeçalhos no menu de tabela. Depois de
definir tipos de dados para as colunas, você criará uma tabela semelhante à imagem a
seguir.

Para obter mais informações: Promover ou rebaixar cabeçalhos de coluna

Manter um intervalo de linhas


Imagine a tabela a seguir que sai de um sistema com um layout fixo.
Este relatório sempre contém cinco linhas para o cabeçalho, uma linha de cabeçalhos de
coluna abaixo do cabeçalho, sete linhas de dados abaixo dos cabeçalhos de coluna e,
em seguida, um número desconhecido de linhas para a seção de comentários. Neste
exemplo, você deseja ficar apenas com as oito linhas após a seção de cabeçalho do
relatório.

Para fazer isso, selecione Manter intervalo de linhas no menu de tabela. Na caixa de
diálogo Manter intervalo de linhas, insira 6 na caixa Primeira linha e 8 na caixa Número
de linhas.
Semelhante ao exemplo anterior para manter linhas inferiores, o resultado dessa
operação fornece oito linhas com os cabeçalhos de coluna como parte da tabela. Todas
as linhas acima da Primeira linha definida (linha 6) são removidas.

Você pode executar a mesma operação descrita em Manter linhas inferiores para
promover os cabeçalhos de coluna da primeira linha da tabela. Depois de definir tipos
de dados para as colunas, sua tabela ficará semelhante à imagem a seguir.

Remover linhas
Esse conjunto de funções selecionará um conjunto de linhas da tabela, as removerá e
manterá o restante das linhas na tabela.

Há dois locais em que você encontra os botões Remover linhas:

Na guia Página Inicial, no grupo Reduzir Linhas.


No menu de tabela.

Remover linhas principais


Imagine a tabela a seguir que sai de um sistema com um layout fixo.
Este relatório sempre contém um cabeçalho fixo da linha 1 até a linha 5 da tabela. Neste
exemplo, você deseja remover essas cinco primeiras linhas e manter o restante dos
dados.

Para fazer isso, selecione Remover linhas superiores no menu de tabela. Na caixa de
diálogo Remover linhas superiores, insira 5 na caixa Número de linhas.

Da mesma forma que nos exemplos anteriores de "Manter linhas inferiores" e "Manter
um intervalo de linhas", o resultado dessa operação fornece oito linhas com os
cabeçalhos de coluna como parte da tabela.
Você pode executar a mesma operação descrita nos exemplos anteriores para promover
os cabeçalhos de coluna da primeira linha da tabela. Depois de definir tipos de dados
para as colunas, sua tabela ficará semelhante à imagem a seguir.

Remover linhas inferiores


Imagine a tabela a seguir que sai de um sistema com um layout fixo.
Este relatório sempre contém uma seção fixa ou um rodapé que ocupa as últimas cinco
linhas da tabela. Neste exemplo, você deseja remover essas últimas cinco linhas e
manter o restante dos dados.

Para fazer isso, selecione Remover linhas inferiores no menu de tabela. Na caixa de
diálogo Remover linhas superiores, insira 5 na caixa Número de linhas.

O resultado dessa alteração lhe dará a tabela de saída que você está procurando.
Depois de definir tipos de dados para as colunas, sua tabela ficará semelhante à
imagem a seguir.

Remover linhas alternadas


Imagine a tabela a seguir que sai de um sistema com um layout dinâmico.
A maneira como este relatório é estruturado é com elementos em pares de linhas. Cada
linha ímpar (1, 3, 5...) contém os dados que você precisa. Cada linha par, diretamente
abaixo de cada linha ímpar, contém comentários sobre cada um desses registros. Você
não precisa dos comentários e deseja remover todos eles.

Para fazer isso, selecione Remover linhas alternadas no menu de tabela. Na caixa de
diálogo Remover linhas alternadas, insira os seguintes valores:

Na caixa Primeira linha a ser removida, insira 2.

Você deseja começar a contar da segunda linha em diante. Todas as linhas acima
desta Primeira linha a ser removida serão mantidas.

Na caixa Número de linhas a serem removidas, insira 1.

Aqui você começa a definir o padrão para remover linhas. Depois de encontrar a
segunda linha, você só deseja remover essa linha específica, portanto, especifique
que só precisa remover uma linha.

Na caixa Número de linhas a serem mantidas, insira 1.

Depois de remover uma linha, você mantém a próxima linha. O processo é iniciado
novamente para a próxima linha.
O resultado dessa seleção lhe dará a tabela de saída que você está procurando. Depois
de definir os tipos de dados para as colunas, sua tabela ficará semelhante à imagem a
seguir.
Filtrar por valores em uma coluna
Artigo • 23/03/2023

No Power Query, você pode incluir ou excluir linhas de acordo com um valor específico
em uma coluna. Você pode escolher entre três métodos para filtrar os valores em sua
coluna:

Menu Classificar e Filtrar


Menu de Atalho de Célula
Filtro específico do tipo

Depois de aplicar um filtro a uma coluna, um pequeno ícone de filtro aparece no título
da coluna, conforme mostrado na ilustração a seguir.

Menu Classificar e Filtrar


No cabeçalho da coluna, você verá um ícone com um triângulo inverso. Quando você
seleciona esse ícone, o menu Classificar e Filtrar é exibido. Com esse menu, você pode
aplicar ou remover filtros de ou para sua coluna.
7 Observação

Neste artigo, nos concentraremos em aspectos relacionados à classificação de


dados. Para saber mais sobre as opções de classificação e como classificar colunas
em Power Query, vá para Classificar colunas.

Remover vazio
O comando Remover vazio aplica duas regras de filtro à coluna. A primeira regra se livra
de valores nulos. A segunda regra se livra de quaisquer valores em branco. Por exemplo,
imagine uma tabela com apenas uma coluna de texto com cinco linhas, em que você
tem um valor nulo e uma célula em branco.
7 Observação

Um valor nulo é um valor específico na linguagem do Power Query que não


representa nenhum valor.

Em seguida, selecione Remover vazio do menu classificar e filtrar, conforme mostrado


na imagem a seguir.

Você também pode selecionar essa opção na guia Página Inicial no grupo Reduzir
Linhas nas opções suspensa Remover Linhas, conforme mostrado na próxima imagem.
O resultado da operação Remover vazio fornece a mesma tabela sem os valores vazios.

Limpar filtro
Quando um filtro é aplicado a uma coluna, o comando Limpar filtro aparece no menu
classificar e filtrar.
Filtro Automático
A lista no menu classificar e filtrar é chamada de lista de filtro automático, que mostra os
valores exclusivos em sua coluna. Você pode selecionar ou desmarcar manualmente
quais valores incluir na lista. Todos os valores selecionados serão levados em
consideração pelo filtro; todos os valores que não estiverem selecionados serão
ignorados.

Esta seção de filtro automático também tem uma barra de pesquisa para ajudá-lo a
encontrar os valores da sua lista.
7 Observação

Quando você carrega a lista de filtros automáticos, somente os 1.000 valores


distintos superiores na coluna são carregados. Se houver mais de 1.000 valores
distintos na coluna na qual você está filtrando, uma mensagem será exibida
indicando que a lista de valores na lista de filtros pode estar incompleta e o link
Carregar mais será exibido. Selecione o link Carregar mais para carregar outros
1.000 valores distintos.

Se exatamente 1.000 valores distintos forem encontrados novamente, a lista


será exibida com uma mensagem informando que a lista ainda pode estar
incompleta.
Se menos de 1.000 valores distintos forem encontrados, a lista completa de
valores será mostrada.

Menu de atalho de célula


Você pode clicar com o botão direito do mouse em uma célula específica em uma
coluna para abrir o menu de atalho desse valor. Aponte para o ícone de filtro pequeno e
selecione a opção de filtro que você deseja usar.

7 Observação

O Power Query exibe um filtro específico de tipo com base no tipo de dados da
coluna.

Filtros específicos do tipo


Dependendo do tipo de dados da coluna, você verá comandos diferentes no menu
classificar e filtrar. As imagens a seguir mostram exemplos de data, texto e colunas
numéricas.
Filtrar Linhas
Ao selecionar qualquer um dos filtros específicos do tipo, você usará a caixa de diálogo
Filtrar linhas para especificar regras de filtro para a coluna. A caixa de diálogo é
mostrada na figura a seguir.

A caixa de diálogo Filtrar linhas tem dois modos: Básico e Avançado.

Basic

Com o modo básico, você pode implementar até duas regras de filtro com base em
filtros específicos do tipo. Na imagem anterior, observe que o nome da coluna
selecionada é exibido após o rótulo Manter linhas em que, para informar em qual
coluna essas regras de filtro estão sendo implementadas.
Por exemplo, imagine que, na tabela a seguir, você deseja filtrar o Código da Conta por
todos os valores que começam com PA ou PTY.

Para fazer isso, você pode acessar a caixa de diálogo Filtrar linhas para a coluna Código
da Conta e especificar o conjunto de regras de filtro desejado.

Neste exemplo, primeiro selecione o botão Básico. Em seguida, em Manter linhas em


que "Código da Conta", selecione começar e, em seguida, insiraPA. Selecione o botão
ou . No botão ou, selecione começa com e insiraPTY. Selecione OK.

O resultado dessa operação fornecerá o conjunto de linhas que você está procurando.

Avançado
Com o modo avançado, você pode implementar quantos filtros específicos de tipo
forem necessários de todas as colunas da tabela.

Por exemplo, imagine que, em vez de aplicar o filtro anterior no modo básico, você
queria implementar um filtro no Código da Conta para mostrar todos os valores que
terminam com 4. Além disso, você deseja mostrar valores acima de US$ 100 na coluna
Vendas.

Neste exemplo, primeiro selecione o botão Avançado. Na primeira linha, selecione


Código da Conta no nome da coluna, termina com o Operador e selecione 4 para o
Valor. Na segunda linha, selecione e, em seguida, selecione Vendas em Nome da
Coluna, é maior que em Operador e 100 em Valor. Selecione OK

O resultado dessa operação fornecerá apenas uma linha que atenda a ambos os
critérios.

7 Observação

Você pode adicionar quantas cláusulas desejar selecionando a cláusula Adicionar.


Todas as cláusulas atuam no mesmo nível, portanto, talvez você queira considerar a
criação de várias etapas de filtro se precisar implementar filtros que dependem de
outros filtros.
Escolher ou remover colunas
Artigo • 23/03/2023

Escolher colunas e Remover colunas são operações que ajudam a definir quais colunas
precisam ser mantidas e quais precisam ser removidas em uma tabela. Este artigo
mostrará como usar os comandos Escolher colunas e Remover colunas usando a tabela
de exemplo a seguir para ambas as operações.

A meta é criar uma tabela semelhante à imagem a seguir.

Escolher colunas
Na guia Página Inicial, no grupo Gerenciar colunas, selecione Escolher colunas.

A caixa de diálogo Escolher colunas é exibida, contendo todas as colunas disponíveis na


tabela. É possível selecionar todos os campos que você deseja manter e remover
campos específicos ao desmarcar a respectiva caixa de seleção. Neste exemplo, você
deve remover as colunas GUID e Report created by. Sendo assim, limpe as caixas de
seleção desses campos.
Depois de selecionar OK, você terá criado uma tabela que contém apenas as colunas
Date, Product, SalesPerson e Units.

Remover colunas
Ao selecionar Remover colunas na guia Página Inicial, você terá duas opções:

Remover colunas: remove as colunas selecionadas.


Remova outras colunas: remove todas as colunas da tabela, exceto as
selecionadas.
Remover colunas selecionadas
Usando a tabela de exemplo, selecione as colunas GUID e Report created by. Clique
com o botão direito do mouse para selecionar qualquer um dos títulos de coluna. Um
novo menu de atalho é exibido, em que você pode selecionar o comando Remover
colunas.

Depois de selecionar OK, você terá criado uma tabela que contém apenas as colunas
Date, Product, SalesPerson e Units.

Remover outras colunas


Usando a tabela de exemplo, selecione todas as colunas da tabela, exceto GUID e
Report created by. Na guia Página Inicial, selecione Remover colunas>Remover outras
colunas.

Depois de selecionar Remover outras colunas, você terá criado uma tabela que contém
apenas as colunas Date, Product, SalesPerson e Units.
Agrupar ou resumir linhas
Artigo • 23/03/2023

No Power Query, é possível agrupar valores de diversas linhas em um único valor. Basta
agrupar as linhas de acordo com os valores em uma ou mais colunas. Existem dois tipos
de operações de agrupamento para escolher:

Agrupamentos de colunas.

Agrupamentos de linha.

Neste tutorial, a tabela de exemplo a seguir será usada.

Onde encontrar o botão "Agrupar por"


O botão Agrupar por pode ser encontrado em três locais:

Na guia Página Inicial, no grupo Transformar.

Na guia Transformar, no grupo Tabela.


No menu de atalho, quando você clica com o botão direito do mouse para
selecionar colunas.

Usar uma função de agregação para agrupar


uma ou mais colunas
Neste exemplo, a meta é resumir o total de unidades vendidas nos níveis de país e canal
de vendas. Para realizar a operação "Agrupar por", use as colunas País e Canal de
vendas.

1. Selecione Agrupar por na guia Página Inicial.


2. Escolha a opção Avançado para selecionar várias colunas para agrupar.
3. Selecione a coluna País.
4. Clique em Adicionar agrupamento.
5. Selecione a coluna Canal de vendas.
6. Em Nome da nova coluna, digite Total de unidades; em Operação, selecione
Soma; e em Coluna, selecione Unidades.
7. Selecione OK
Essa operação gera a tabela a seguir.

Operações disponíveis
Com o recurso Agrupar por, é possível categorizar as operações disponíveis de duas
maneiras:

Operação no nível da linha


Operação no nível da coluna

Veja na tabela a seguir uma descrição dessas operações.

Nome de Categoria Descrição


operação
Nome de Categoria Descrição
operação

Sum Operação de Soma todos os valores de uma coluna


coluna

Média Operação de Calcula o valor médio de uma coluna


coluna

Median Operação de Calcula a mediana de uma coluna


coluna

Min Operação de Calcula o valor mínimo de uma coluna


coluna

Max Operação de Calcula o valor máximo de uma coluna


coluna

Percentil Operação de Calcula o percentil usando um valor de entrada de 0 a


coluna 100, de uma coluna

Contar valores Operação de Calcula o número de valores distintos em uma coluna


distintos coluna

Contar linhas Operação de Calcula o número total de linhas de um determinado


linha grupo

Contar linhas Operação de Calcula o número de linhas distintas de um determinado


distintas linha grupo

Todas as linhas Operação de Gera todas as linhas agrupadas em um valor de tabela


linha sem agregações

7 Observação

As operações Contar valores distintos e Percentil estão disponíveis apenas no


Power Query Online.

Realizar uma operação para agrupar por uma


ou mais colunas
A partir do exemplo original, neste exemplo, você criará uma coluna que contém o total
de unidades e duas outras colunas que fornecem o nome e as unidades vendidas para o
produto de melhor desempenho, resumidas no nível do país e do canal de vendas.
1. Use estas colunas em Agrupar por:

País
Canal de vendas

2. Crie duas novas colunas seguindo estas etapas:


a. Agregue a coluna Unidades com a operação Soma. Dê o nome Total de
unidades para a coluna.
b. Inclua uma nova coluna Produtos com a operação Todas as linhas.

Após a conclusão da operação, veja que a coluna Produtos apresenta valores [Tabela]
dentro de cada célula. Cada valor [Tabela] contém todas as linhas agrupadas pelas
colunas País e Canal de vendas da tabela original. É possível selecionar o espaço em
branco dentro da célula para ver uma pré-visualização do conteúdo da tabela na parte
inferior da caixa de diálogo.
7 Observação

O painel de pré-visualização de detalhes pode não mostrar todas as linhas usadas


na operação group-by. Selecione o valor [Tabela] para ver todas as linhas
pertencentes à operação group-by correspondente.

Em seguida, é necessário extrair a linha com o valor mais alto na coluna Unidades das
tabelas dentro da nova coluna Produtos. Depois, dê o nome Produto de melhor
desempenho para a nova coluna.

Extrair informações sobre o produto de melhor


desempenho
Na nova coluna Produtos com os valores de [Tabela], crie uma coluna personalizada na
guia Adicionar coluna na faixa de opções e selecione Coluna personalizada no grupo
Geral.

Dê o nome Produto de melhor desempenho à nova coluna. Insira a fórmula


Table.Max([Products], "Units" ) em Fórmula de coluna personalizada.
O resultado dessa fórmula cria uma coluna com valores [Registro], que são
essencialmente uma tabela com apenas uma linha. Esses registros contêm a linha com o
valor máximo da coluna Unidades de cada valor [Tabela] na coluna Produtos.

Com a nova coluna Produto de melhor desempenho que contém valores [Registro], é
possível clicar no ícone expandir, selecionar os campos Produto e Unidades e, em
seguida, clicar em OK.
Depois de remover a coluna Produtos e definir o tipo de dados para ambas as colunas
recém-expandidas, o resultado será semelhante à imagem a seguir.

Agrupamento difuso

7 Observação

O recurso está disponível apenas no Power Query Online.

Para demonstrar como fazer um "agrupamento difuso", veja o exemplo de tabela


mostrado na imagem a seguir.
O objetivo do agrupamento difuso é realizar uma operação group-by que usa um
algoritmo de correspondência aproximado para cadeias de caracteres de texto.
Portanto, o Power Query usa o algoritmo de similaridade Jaccard para medir a
semelhança entre pares de instâncias. Em seguida, aplica o clustering hierárquico
aglomerativo para agrupar instâncias. Veja na imagem a seguir o resultado esperado,
em que a tabela é agrupada pela coluna Pessoa.

Para fazer o agrupamento difuso, siga as mesmas etapas descritas anteriormente neste
artigo. A única diferença é que, desta vez, na caixa de diálogo Agrupar por, marque a
caixa de seleção Usar agrupamento difuso.
Em cada grupo de linhas, o Power Query escolhe a instância mais frequente como
"canônica". Vale lembrar que se várias instâncias ocorrerem na mesma frequência, o
Power Query escolherá a primeira. Depois de clicar em OK na caixa de diálogo Agrupar
por, você receberá o resultado esperado.

No entanto, você tem mais controle sobre a operação de agrupamento difuso com a
expansão das Opções de agrupamento difuso.
Confira as opções disponíveis para agrupamento difuso:

Limite de similaridade (opcional): indica a semelhança que dois valores precisam


ter para serem agrupados. A configuração mínima de zero fará com que todos os
valores sejam agrupados. A configuração máxima de 1 permitirá que apenas os
valores exatamente iguais sejam agrupados. O padrão é 0,8.
Ignorar maiúsculas e minúsculas: maiúsculas e minúsculas serão ignoradas na
comparação entre cadeias de caracteres de texto. Por padrão, essa opção é
ativada.
Agrupar combinando partes de texto: o algoritmo tentará combinar partes de
texto (como Micro e soft em Microsoft) com valores de grupo.
Mostrar pontuações de similaridade: mostra as pontuações de similaridade entre
os valores de entrada e os valores representantes calculados após o agrupamento
difuso. Exige a inclusão de uma operação como Todas as linhas para mostrar essas
informações em um nível linha por linha.
Tabela de transformação (opcional): é possível selecionar uma tabela de
transformação que mapeia valores (como MSFT para Microsoft) para agrupá-los.

Nesse exemplo, a tabela de transformação é usada para demonstrar como mapear os


valores e tem duas colunas:

De: a cadeia de caracteres de texto a ser pesquisada na tabela.


Para: a cadeia de caracteres de texto a ser usada para substituir a cadeia de
caracteres de texto na coluna De.

Veja na imagem a seguir a tabela de transformação usada no exemplo.

) Importante

É importante que a tabela de transformação tenha as mesmas colunas e os


mesmos nomes de colunas mostrados acima ("De" e "Para"). Caso contrário, o
Power Query não as reconhecerá.

Volte à caixa de diálogo Agrupar por, expanda Opções de agrupamento difuso, altere a
operação de Linhas de contagem para Todas as linhas, marque a opção Mostrar
pontuações de similaridade e selecione a Tabela de transformação no menu suspenso.

Depois de selecionar a tabela de transformação, selecione OK. O resultado dessa


operação fornece as seguintes informações:
Neste exemplo, a opção Ignorar maiúsculas e minúsculas está marcada; portanto, os
valores na coluna De da Tabela de transformação são usados para buscar a cadeia de
caracteres de texto sem considerar maiúsculas e minúsculas. Essa operação de
transformação ocorre primeiro e, em seguida, a operação de agrupamento difuso é
realizada.

A pontuação de similaridade também é mostrada no valor da tabela ao lado da coluna


"Pessoa", o que reflete exatamente como os valores foram agrupados e suas respectivas
pontuações de similaridade. Você pode expandir essa coluna se necessário ou usar os
valores das novas colunas Frequência para outros tipos de transformações.

7 Observação

Ao agrupar por várias colunas, a tabela de transformação realizará a operação de


substituição em todas as colunas se a substituição do valor aumentar a pontuação
de similaridade.

Confira também
Adicionar uma coluna personalizada
Remover duplicatas
Transformar colunas em linhas
Artigo • 23/03/2023

No Power Query, você pode transformar colunas em pares atributo-valor, em que as


colunas se tornam linhas.

Por exemplo, considerando uma tabela como a seguir, em que linhas de país e colunas
de data criam uma matriz de valores, é difícil analisar os dados de maneira escalonável.

No entanto, você pode transformar a tabela em uma tabela com colunas transformadas
em linhas, conforme mostrado na imagem a seguir. Na tabela transformada, é mais fácil
usar a data como um atributo para filtrar.
O importante nessa transformação é que você tem um conjunto de datas na tabela, que
deve fazer parte de uma única coluna. O respectivo valor de cada data e país deve estar
em uma coluna diferente, criando efetivamente um par de atributo-valor.

O Power Query sempre criará o par atributo-valor usando duas colunas:

Atributo: o nome dos títulos de coluna que transformamos em linhas.


Valor: os valores que estavam abaixo de cada um dos títulos de coluna
transformados em linhas.

Há vários locais na interface do usuário em que você pode encontrar Transformar


colunas em linhas. Você pode clicar com o botão direito do mouse nas colunas que
deseja transformar em linhas ou selecionar o comando na guia Transformar na faixa de
opções.
Há três maneiras de transformar colunas em linhas em uma tabela:

Transformar colunas em linhas


Transformar outras colunas em linhas
Transformar somente as colunas selecionadas em linhas

Transformar colunas em linhas


Para o cenário descrito acima, primeiro você precisa selecionar as colunas que deseja
transformar em linhas. Você pode selecionar Ctrl para escolher quantas colunas precisar.
Para esse cenário, você deseja selecionar todas as colunas, exceto aquela chamada País.
Depois de selecionar as colunas, clique com o botão direito do mouse em qualquer uma
das colunas selecionadas e selecione Transformar colunas em linhas.
O resultado dessa operação produzirá o resultado mostrado na imagem a seguir.

Considerações especiais
Depois de criar sua consulta com base nas etapas acima, imagine que sua tabela inicial
seja atualizada para ficar semelhante à captura de tela a seguir.

Observe que você adicionou uma nova coluna para a data de 1/9/2020 (1º de setembro
de 2020) e duas novas linhas para os países Reino Unido e México.

Se você atualizar a consulta, observará que a operação será feita na coluna atualizada,
mas não afetará a coluna que não foi selecionada originalmente (País, neste exemplo).
Isso significa que qualquer coluna nova adicionada à tabela de origem também será
transformada em linha.

A imagem a seguir mostra como ficará sua consulta após a atualização com a nova
tabela de origem atualizada.
Transformar outras colunas em linhas
Você também pode selecionar as colunas que não deseja transformar em linhas e
transformar em linhas o restante das colunas da tabela. Essa operação é aquela em que
Transformar outras colunas em linhas entra em jogo.
O resultado dessa operação produzirá exatamente o mesmo resultado que você obteve
em Transformar colunas em linhas.
7 Observação

Essa transformação é crucial para consultas que têm um número desconhecido de


colunas. A operação transformará em linhas todas as colunas da tabela, exceto as
que você selecionou. Essa é uma solução ideal caso a fonte de dados do seu
cenário obtenha novas colunas de data em uma atualização, pois elas serão
escolhidas e transformadas em linhas.

Considerações especiais
Semelhante à operação Transformar colunas em linhas, se a consulta for atualizada e
mais dados forem coletados na fonte de dados, todas as colunas serão transformadas
em linhas, exceto as que foram selecionadas anteriormente.

Para ilustrar isso, digamos que você tenha uma nova tabela como a da imagem a seguir.

Você pode selecionar a coluna País e selecionar Transformar outras colunas em linhas,
que produzirá o resultado a seguir.
Transformar somente as colunas selecionadas
em linhas
A finalidade dessa última opção é transformar somente colunas específicas da sua
tabela em linhas. Isso é importante para cenários em que você está lidando com um
número desconhecido de colunas da fonte de dados e deseja apenas transformar as
colunas selecionadas em linhas.

Para executar essa operação, selecione as colunas a serem transformadas em linhas, que
neste exemplo são todas as colunas, exceto a coluna País. Em seguida, clique com o
botão direito do mouse em qualquer uma das colunas selecionadas e escolha
Transformar somente as colunas selecionadas em linhas.
Observe como essa operação produzirá a mesma saída que os exemplos anteriores.

Considerações especiais
Depois de fazer uma atualização, se nossa tabela de origem mudar para ter uma nova
coluna 1/9/2020 e novas linhas para Reino Unido e México, a saída da consulta será
diferente dos exemplos anteriores. Digamos que, após uma atualização, nossa tabela
original mude para a tabela na imagem a seguir.
A saída da nossa consulta será semelhante à imagem a seguir.

Isso ocorre porque a operação transformar colunas em linhas foi aplicada somente nas
colunas 1/6/2020, 1/7/2020 e 8/1/2020, portanto, a coluna com o cabeçalho 1/9/2020
permanece inalterada.
Dinamizar colunas
Artigo • 23/03/2023

No Power Query, é possível criar uma tabela que contém um valor agregado para cada
valor exclusivo em uma coluna. O Power Query agrupa cada valor exclusivo, faz um
cálculo de agregação para cada um deles e dinamiza a coluna em uma nova tabela.

Imagine uma tabela como a da imagem a seguir.

Esta tabela contém valores por país e data em uma tabela simples. Neste exemplo, você
transformará essa tabela na tabela que tem a coluna de data dinâmica, conforme
mostrado na imagem a seguir.

7 Observação
Durante a operação de colunas dinâmicas, o Power Query classificará a tabela com
base nos valores encontrados na primeira coluna, no lado esquerdo da tabela, em
ordem crescente.

Dinamizar uma coluna

1. Selecione a coluna que você deseja tornar dinâmica.

2. Na guia Transformar, no grupo Qualquer coluna, selecione Dinamizar coluna.

3. Na caixa de diálogo Dinamizar coluna, na lista Coluna de valor, selecione Valor.

Por padrão, o Power Query tentará fazer uma soma como a agregação, mas é
possível selecionar a opção Avançado para ver outras agregações disponíveis.
As opções disponíveis são:

Não agregar
Contagem (tudo)
Contagem (não está em branco)
Mínimo
Máximo
Mediana
Soma
Média

Colunas dinâmicas que não podem ser


agregadas
É possível dinamizar colunas sem agregação ao trabalhar com colunas que não podem
ser agregadas ou quando a agregação não é necessária para o que você está tentando
fazer. Por exemplo, imagine uma tabela como a imagem a seguir, que tem País, Posição
e Produto como campos.
Digamos que você queira dinamizar a coluna Posição nesta tabela para ter seus valores
como novas colunas. Para os valores dessas novas colunas, você usará os valores da
coluna Produto. Selecione a coluna Posição e clique em Dinamizar coluna para
dinamizar essa coluna.

Na caixa de diálogo Dinamizar coluna, selecione a coluna Produto como a coluna de


valor. Clique no botão de opção Avançado na caixa de diálogo Dinamizar colunas e
selecione Não agregar.
O resultado dessa operação produzirá o resultado mostrado na imagem a seguir.

Erros ao usar a opção Não agregar


A opção Não agregar funciona capturando um único valor para que a operação
dinâmica seja colocada como o valor para a interseção do par de colunas e linhas. Por
exemplo, digamos que você tenha uma tabela como a da imagem a seguir.

Você dinamizará essa tabela usando a coluna Data e usar os valores da coluna Valor.
Como essa dinamização faria com que a tabela tivesse apenas os valores de País como
linhas e de Datas como colunas, você obteria um erro para cada valor de célula única
porque haveria várias linhas para cada combinação de País e Data. O resultado da
operação Dinamizar coluna produzirá os resultados mostrados na imagem a seguir.

Observe a mensagem de erro "Expression.Error: havia muitos elementos na enumeração


para concluir a operação". Esse erro ocorre porque a operação Não agregar espera
apenas um único valor para a combinação de país e data.
Transpor uma tabela
Artigo • 23/03/2023

A operação de transposição de uma tabela no Power Query gira a tabela 90 graus,


transformando as linhas em colunas e colunas em linhas.

Imagine uma tabela como a da imagem a seguir, com três linhas e quatro colunas.

O objetivo deste exemplo é transpor essa tabela para que se obtenha quatro linhas e
três colunas.

Na guia Transformar na faixa de opções, selecione Transpor.

O resultado dessa operação será semelhante à imagem a seguir.


7 Observação

Somente o conteúdo da tabela será transposto durante a operação de


transposição. Os cabeçalhos de coluna da tabela inicial serão perdidos. As novas
colunas terão o nome Column seguido de um número sequencial.

Os cabeçalhos necessários neste exemplo estão na primeira linha da tabela. Para


promover a primeira linha para cabeçalhos, selecione o ícone de tabela no canto
superior esquerdo da visualização de dados e selecione Usar a primeira linha como
cabeçalhos.
Essa operação resultará na saída desejada.

7 Observação

Para saber mais sobre a operação para promover cabeçalhos, também conhecida
como Usar a primeira linha como cabeçalhos, acesse Promover ou despromover
cabeçalhos de coluna.
Inverter linhas
Artigo • 23/03/2023

Com o Power Query, é possível inverter a ordem das linhas em uma tabela.

Imagine uma tabela com duas colunas, ID e País, conforme mostrado na imagem a
seguir.

Na guia Transformar, selecione Inverter linhas.

O resultado dessa operação terá a seguinte aparência.


Tipo de dados no Power Query
Artigo • 23/03/2023

Os tipos de dados no Power Query são usados para classificar valores para ter um
conjunto de dados mais estruturado. Os tipos de dados são definidos no nível do
campo – os valores dentro de um campo são definidos para conformidade com o tipo
de dados do campo.

O tipo de dados de uma coluna é exibido no lado esquerdo do título da coluna com um
ícone que simboliza o tipo de dados.

7 Observação

O Power Query fornece um conjunto de transformações contextuais e opções com


base no tipo de dados da coluna. Por exemplo, quando você seleciona uma coluna
com um tipo de dados de Data, obtém transformações e opções que se aplicam a
esse tipo de dados específico. Essas transformações e opções ocorrem em toda a
interface do Power Query, como nas guias Transformar e Adicionar colunas e nas
opções de filtro inteligente.

Os tipos de dados mais comuns usados no Power Query estão listados na tabela a
seguir. Embora esteja além do escopo deste artigo, você pode encontrar a lista
completa de tipos de dados no artigo Tipos da linguagem de fórmula M do Power
Query.

Tipo de dados ícone Descrição

Texto Uma cadeia de caracteres de dados de caractere Unicode. Ela pode


conter cadeias de caracteres, datas ou números representados no
formato de texto. O comprimento máximo da cadeia de caracteres é
de 268.435.456 de caracteres Unicode (em que cada caractere
Unicode é de dois bytes) ou 536.870.912 bytes.

Verdadeiro/Falso Um valor booliano que é Verdadeiro ou Falso.


Tipo de dados ícone Descrição

Número decimal Representa um número de ponto flutuante de 64 bits (oito bytes). É o


tipo de número mais comum e corresponde aos números como você
normalmente os conhece. Embora seja projetado para lidar com
números com valores fracionários, ele também lida com números
inteiros. O tipo Número Decimal pode lidar com valores negativos de
-1,79E +308 a -2,23E -308, 0, e valores positivos de 2,23E -308 a 1,79E
+ 308. Por exemplo, números como 34, 34,01 e 34,000367063 são
números decimais válidos. A maior precisão que pode ser
representada em um tipo de Número Decimal tem 15 dígitos. O
separador decimal pode ocorrer em qualquer lugar no número. O
tipo de Número Decimal corresponde a como o Excel armazena seus
números. Observe que um número de ponto flutuante binário não
pode representar todos os números dentro de seu intervalo com
suporte com 100% de precisão. Portanto, pequenas diferenças de
precisão podem ocorrer ao representar determinados números
decimais.

Número decimal Também conhecido como tipo Moeda, esse tipo de dados tem um
fixo local fixo para o separador decimal. O separador decimal tem sempre
quatro dígitos à direita e permite 19 dígitos de significância. O maior
valor que ele pode representar é 922.337.203.685.477,5807 (positivo
ou negativo). Ao contrário do Número Decimal, o tipo Número
Decimal Fixo é sempre preciso e, portanto, é útil em casos em que a
imprecisão da notação de ponto flutuante pode introduzir erros.

Número inteiro Representa um valor inteiro de 64 bits (oito bytes). Como é um


número inteiro, ele não tem nenhum dígito à direita da casa decimal.
Ele permite 19 dígitos; números inteiros positivos ou negativos entre
-9.223.372.036.854.775.807 (-2^63 +1) e 9.223.372.036.854.775.806
(2^63 -2). Pode representar a maior precisão possível dos diversos
tipos de dados numéricos. Assim como com o tipo Número Decimal
Fixo, o tipo Número Inteiro pode ser útil em casos nos quais você
precisa controlar o arredondamento.

Percentual Fundamentalmente igual a um tipo Número Decimal, mas ele tem


uma máscara para formatar os valores na coluna como um percentual
na janela do Editor do Power Query.

Data/hora Representa um valor de data e um valor temporal. Nos bastidores, o


valor Data/Hora é armazenado como um tipo de Número Decimal,
para que você possa realmente fazer a conversão entre os dois. A
parte de hora da data é armazenada como uma fração de múltiplos
inteiros de 1/300 segundos (3,33 ms). Há suporte para datas entre os
anos de 1900 e 9999.

Data Representa apenas uma data (sem a parte referente à hora). Quando
convertido para o modelo, uma Data é o mesmo que um valor de
Data/Hora com zero como o valor fracionário.
Tipo de dados ícone Descrição

Hora Representa apenas a hora (sem a parte referente à data). Quando


convertido para o modelo, um valor de Hora é igual a um valor de
Data/Hora sem dígitos à esquerda da casa decimal.

Data/Hora/Fuso Representa uma Data/Hora UTC com um deslocamento de fuso


Horário horário. Ele é convertido em Data/Hora quando é carregado no
modelo.

Duration Representa um período de tempo, que é convertido em um tipo


Número Decimal quando carregado no modelo. Como um tipo de
Número Decimal, ele pode ser adicionado ou subtraído de um campo
de Data/Hora com resultados corretos. Como é um tipo de Número
Decimal, você pode usá-lo facilmente em visualizações que mostram
magnitude.

Binary O tipo de dados Binary pode ser usado para representar outros
dados com um formato binário.

Qualquer O tipo de dados Qualquer é o status fornecido a uma coluna que não
tem uma definição de tipo de dados explícita. Qualquer um é o tipo
de dados que classifica todos os valores. Recomendamos que você
sempre defina explicitamente os tipos de dados da coluna em suas
consultas de fontes não estruturadas e evite ter colunas com o tipo
de dados Qualquer como o resultado da sua consulta.

Detecção de tipo de dados


A detecção de tipo de dados ocorre automaticamente ao se conectar a:

Fontes de dados estruturadas, como bancos de dados; o Power Query lê o


esquema da tabela da fonte de dados e exibe automaticamente os dados usando
o tipo de dados correto para cada coluna.

Fontes não estruturadas, como Excel, CSV e arquivos de texto; o Power Query
detecta automaticamente os tipos de dados inspecionando os valores na tabela.
Por padrão, a detecção automática de tipo de dados é habilitada no Power Query
para fontes não estruturadas.

Você também pode usar o comando Detectar tipo de dados no grupo Qualquer coluna
na guia Transformar para detectar automaticamente os tipos de dados das colunas em
sua tabela.
Como definir o tipo de dados de uma coluna
Você pode definir ou alterar o tipo de dados de uma coluna em qualquer um desses
quatro locais:

Na guia Página Inicial, no grupo Transformar, no menu suspenso Tipo de dados.

Na guia Transformar, no grupo Qualquer coluna, no menu suspenso Tipo de


dados.
Selecionando o ícone no lado esquerdo do título da coluna.

No menu de atalho da coluna, em Alterar Tipo.


Detecção automática de cabeçalhos e tipos de dados de
coluna
Essa configuração serve especificamente para fontes não estruturadas. Ela ajuda você
por meio da inspeção e detecção automática de cabeçalhos e tipos de coluna com base
nas primeiras 200 linhas da tabela. Quando essa configuração está habilitada, Power
Query adiciona automaticamente duas etapas à sua consulta:

Promover cabeçalhos de coluna: promove a primeira linha da tabela para ser o


cabeçalho da coluna.
Tipo alterado: converte os valores do tipo de dados Qualquer em um tipo de
dados com base na inspeção dos valores de cada coluna.

Por padrão, essa configuração está habilitada. Para desabilitar ou habilitar essa
configuração, siga as etapas que se aplicam à sua experiência do Power Query.
Para configurar a detecção automática de tipo de dados no Power Query Online

Na guia Página Inicial, selecione Opções e selecione Opções do projeto. Na janela


Opções do Projeto, marque a caixa de seleção Detectar automaticamente tipos de
coluna e cabeçalhos para fontes não estruturadas.

Para configurar a detecção automática de tipo de dados no Power Query for Desktop

Você pode definir esse comportamento no nível global e por arquivo na janela Opções
(no Editor do Power Query, na guia Arquivo, selecione Opções e
configurações>Opções).

Global: no painel à esquerda em Global, selecione Carregamento de dados. No


painel à direita, em Detecção de tipo, você pode selecionar qualquer uma das três
configurações de detecção de tipo que serão aplicadas a cada novo arquivo criado
em seu aplicativo:
Sempre detectar tipos de coluna e cabeçalhos em fontes não estruturadas
Detectar tipos de coluna e cabeçalhos em fontes não estruturadas de acordo
com a configuração de cada arquivo
Nunca detectar tipos de coluna e cabeçalhos em fontes não estruturadas
Arquivo atual: no painel à esquerda, em Arquivo atual, selecione Carregamento
de dados. No painel à direita, em Detecção de tipo, selecione se deseja habilitar
ou desabilitar a detecção de tipo para o arquivo atual.
Localidade do documento ou projeto
O Power Query manipula dois componentes distintos que gerenciam a aparência das
coisas e como elas são interpretadas:

Localização: o componente que informa o Power Query em qual idioma ele deve
ser exibido.
Globalização: o componente que manipula a formatação dos valores, além da
interpretação dos valores de texto.

Localidade é um único valor que contém os componentes de localização e globalização.


A localidade é usada para interpretar valores de texto e convertê-los em outros tipos de
dados. Por exemplo, a localidade Inglês (Estados Unidos) significa que a localização
está em Inglês dos Estados Unidos e a globalização, ou formato do valor, baseia-se nos
padrões usados no Estados Unidos.

Quando o Power Query define o tipo de dados de uma coluna ou converte de um tipo
de dados em outro, ele precisa interpretar os valores a serem convertidos antes de
poder transformá-los em um tipo de dados diferente.

No Power Query Online, essa interpretação é definida nas Opções de projeto, em


Localidade.

No Power Query for Desktop, o formato regional do seu sistema operacional é


reconhecido automaticamente e usado para interpretar os valores para conversão
de tipo de dados. Para substituir essa configuração de localidade, abra a janela
Opções de consulta e, no painel à esquerda, em Arquivo atual, selecione
Configurações regionais. Aqui você pode alterar a localidade para a configuração
desejada.
Essa configuração de localidade é importante para interpretar valores de texto em um
tipo de dados específico. Por exemplo, imagine que você tenha sua localidade definida
como Inglês (Estados Unidos), mas uma coluna de um de seus arquivos CSV tem datas
formatadas no formato do Reino Unido de dia/mês/ano.

Ao tentar definir o tipo de dados da coluna Data para ser Data, você obterá valores de
erro.
Esses erros ocorrem porque a localidade que está sendo usada está tentando interpretar
a data no formato Inglês (Estados Unidos), que é mês/dia/ano. Como não há nenhum
mês 22 no calendário, isso causa um erro.

Em vez de tentar apenas selecionar o tipo de dados Data, clique com o botão direito do
mouse no título da coluna, selecione Alterar tipo e selecione Usar localidade.
Na caixa de diálogo Alterar tipo de coluna com localidade, você seleciona o tipo de
dados que deseja definir, mas também seleciona qual localidade usar, que nesse caso
precisa ser Inglês (Reino Unido).
Usando essa localidade, o Power Query será capaz de interpretar os valores
corretamente e converter esses valores no tipo de dados correto.

Para verificar valores de data final

A formatação dos valores é controlada pelo valor de globalização. Se você tiver dúvidas
sobre o valor exibido pelo Power Query, poderá verificar a conversão de valores de data
adicionando novas colunas para o dia, mês e ano com base no valor. Para fazer isso,
selecione a coluna Data e vá para a guia Adicionar coluna na faixa de opções. No grupo
Coluna de data e hora, você verá as opções para uma coluna de data.
Aqui você pode extrair partes do valor da data, como o número do ano, o número do
mês, o número do dia e até outras colunas extraídas da coluna Data.

Usando essas colunas, você pode verificar se o valor da data foi convertido
corretamente.

Matriz de conversão de tipo de dados


A matriz a seguir foi projetada para dar uma visão rápida da viabilidade da conversão
do tipo de dados de um valor para outro.
7 Observação

A conversão nessa matriz começa com o tipo de dados original na coluna Tipos de
dados. Cada resultado de uma conversão para o novo tipo é mostrado na linha do
tipo de dados original.

Tipos de dados

Número decimal —

Moeda —

Número inteiro —

Percentual —

Data/Hora —

Data —

Hora —

Data/Hora/Fuso —
horário

Duração —

Texto —

Verdadeiro/Falso —

ícone Descrição

Possível

Impossível

Possível, mas adiciona valores ao valor original

Possível, mas trunca o valor original


Lidar com erros no Power Query
Artigo • 23/03/2023

No Power Query, você pode encontrar dois tipos de erros:

Erros de nível de etapa


Erros no nível da célula

Este artigo fornece sugestões de como corrigir os erros mais comuns que você poderá
encontrar em cada nível e descreve o motivo do erro, a mensagem de erro e os detalhes
do erro para cada nível.

Erro de nível de etapa


Um erro de nível de etapa impede o carregamento da consulta e exibe os componentes
do erro em um painel amarelo.

Motivo do erro: a primeira seção antes dos dois pontos. No exemplo acima, o
motivo do erro é Expression.Error.
Mensagem de erro: a seção diretamente após o motivo. No exemplo acima, a
mensagem de erro é A coluna "Column" da tabela não foi encontrada.
Detalhe do erro: a seção diretamente após a cadeia de caracteres Detalhes:. No
exemplo acima, o detalhe do erro é Coluna.

Erros comuns de nível de etapa


Em todos os casos, recomendamos que você examine cuidadosamente o motivo do
erro, a mensagem de erro e os detalhes do erro para entender o que está causando o
erro. Você pode selecionar o botão Ir para o erro, se disponível, para exibir a primeira
etapa em que o erro ocorreu.
Não é possível localizar a origem – DataSource.Error
Esse erro geralmente ocorre quando a fonte de dados está inacessível pelo usuário, o
usuário não tem as credenciais corretas para acessar a fonte de dados ou a fonte foi
movida para um local diferente.

Exemplo: você tem uma consulta de um bloco de texto localizado na unidade D e


criado pelo usuário A. O usuário A compartilha a consulta com o usuário B, que não tem
acesso à unidade D. Quando essa pessoa tenta executar a consulta, ela obtém um
DataSource.Error porque não há unidade D no ambiente dela.

Soluções possíveis: você pode alterar o caminho do arquivo de texto para um caminho
ao qual ambos os usuários têm acesso. Como usuário B, você pode alterar o caminho
do arquivo para que seja uma cópia local do mesmo arquivo de texto. Se o botão Editar
configurações estiver disponível no painel de erros, você poderá selecioná-lo e alterar o
caminho do arquivo.

A coluna da tabela não foi encontrada


Esse erro geralmente é disparado quando uma etapa faz uma referência direta a um
nome de coluna que não existe na consulta.

Exemplo: você tem uma consulta de um arquivo de texto em que um dos nomes de
coluna era Coluna. Em sua consulta, você tem uma etapa que renomeia essa coluna
como Data. Mas houve uma alteração no arquivo de texto original e ele não tem mais
um título de coluna com o nome Coluna porque ele foi alterado manualmente para
Data. O Power Query não consegue encontrar um título de coluna chamado Coluna,
portanto, ele não consegue renomear nenhuma coluna. Ele exibe o erro mostrado na
imagem a seguir.

Soluções possíveis: há várias soluções para esse caso, mas todas elas dependem do que
você gostaria de fazer. Para este exemplo, como o cabeçalho correto da coluna Data já
vem do arquivo de texto, você pode simplesmente remover a etapa que renomeia a
coluna. Isso permitirá que sua consulta seja executada sem esse erro.

Outros erros comuns de nível de etapa


Ao combinar ou mesclar dados entre várias fontes de dados, você pode se deparar com
um erro Formula.Firewall, como mostrado na imagem a seguir.

Esse erro pode ser causado por vários motivos, como os níveis de privacidade dos
dados entre fontes de dados ou a forma como essas fontes de dados estão sendo
combinadas ou mescladas. Para obter mais informações sobre como diagnosticar esse
problema, acesse Firewall de privacidade de dados.

Erro no nível da célula


Um erro no nível da célula não impedirá o carregamento da consulta, mas exibirá
valores de erro como Erro na célula. A seleção do espaço em branco na célula exibirá o
painel de erros abaixo da visualização de dados.

7 Observação

As ferramentas de criação de perfil de dados podem ajudar você a identificar mais


facilmente erros de nível de célula com o recurso de qualidade da coluna. Confira
mais informações: Ferramentas de criação de perfil de dados
Lidar com erros no nível da célula
Ao encontrar erros no nível da célula, o Power Query fornece um conjunto de funções
para lidar com eles removendo, substituindo ou mantendo os erros.

Nas próximas seções, os exemplos fornecidos usarão a mesma consulta de exemplo que
o ponto de partida. Nesta consulta, você tem uma coluna Vendas que tem uma célula
com um erro causado por um erro de conversão. O valor dentro dessa célula era NA,
mas quando você transformou essa coluna em um número inteiro, o Power Query não
pôde converter NA em um número, portanto, ela exibirá o erro a seguir.

Remover erros
Para remover linhas com erros no Power Query, primeiro selecione a coluna que contém
erros. Na guia Página Inicial, no grupo Reduzir linhas, selecione Remover linhas. No
menu suspenso, selecione Remover erros.
O resultado dessa operação lhe fornecerá a tabela que você esperava.

Substituir erros

Se, em vez de remover linhas com erros você quiser substituir os erros por um valor
corrigido, também poderá fazer isso. Para substituir as linhas que têm erros, primeiro
selecione a coluna que contém erros. Na guia Transformar, no grupo Qualquer coluna,
selecione Substituir valores. No menu suspenso, selecione Substituir erros.

Na caixa de diálogo Substituir erros, insira o valor 10 porque você deseja substituir
todos os erros pelo valor 10.

O resultado dessa operação lhe fornecerá a tabela que você esperava.


Manter erros
O Power Query pode servir como uma boa ferramenta de auditoria para identificar
linhas com erros, mesmo que você não corrija os erros. É aqui que a opção Manter
erros podem ser útil. Para manter as linhas que têm erros, primeiro selecione a coluna
que contém erros. Na guia Página Inicial, no grupo Reduzir linhas, selecione Manter
linhas. No menu suspenso, selecione Manter erros.

O resultado dessa operação lhe fornecerá a tabela que você esperava.

Erros comuns no nível de célula


Assim como ocorre com qualquer erro de nível de etapa, recomendamos que você
examine com cuidado os motivos de erros, as mensagens de erro e os detalhes de erros
fornecidos no nível da célula para entender o que está causando os erros. As seções a
seguir discutem alguns dos erros de nível de célula mais frequentes no Power Query.

Erros de conversão de tipo de dados

Normalmente disparado ao alterar o tipo de dados de uma coluna em uma tabela.


Alguns valores encontrados na coluna não puderam ser convertidos no tipo de dados
desejado.

Exemplo: você tem uma consulta que inclui uma coluna chamada Vendas. Uma célula
nessa coluna tem NA como um valor de célula, enquanto o restante tem números
inteiros como valores. Você decide converter o tipo de dados da coluna de texto para
número inteiro, mas a célula com o valor NA causa um erro.
Soluções possíveis: depois de identificar a linha com o erro, você pode modificar a
fonte de dados para refletir o valor correto em vez de NA ou aplicar uma operação
Substituir erro para fornecer um valor para os valores NA que causam o erro.

Erros de operação

Ao tentar aplicar uma operação que não tem suporte, como multiplicar um valor de
texto por um valor numérico, ocorre um erro.

Exemplo: você deseja criar uma coluna personalizada para sua consulta criando uma
cadeia de caracteres de texto que contém a frase "Total de Vendas: " concatenada com o
valor da coluna Vendas. Ocorre um erro porque a operação de concatenação dá suporte
apenas a colunas de texto, mas não a colunas numéricas.
Soluções possíveis: antes de criar essa coluna personalizada, altere o tipo de dados da
coluna Vendas para texto.

Valores aninhados mostrados como erros

Ao trabalhar com dados que contêm valores estruturados aninhados (como tabelas,
listas ou registros), às vezes, você pode encontrar o seguinte erro:
Expression.Error: We cannot return a value of type {value} in this context

Details: In the past we would have returned a text value of {value}, but we
now return this error. Please see https://go.microsoft.com/fwlink/?
linkid=2099726 for more information.

Esses erros geralmente ocorrem por dois motivos:

Quando o Firewall de Privacidade de Dados armazena em buffer uma fonte de


dados, os valores não escalares aninhados são convertidos automaticamente em
erros.
Quando uma coluna definida com o Any tipo de dados contiver valores não
escalares, esses valores serão relatados como erros durante a carga (como em uma
pasta de trabalho no Excel ou no modelo de dados em Power BI Desktop).

Soluções possíveis:

Remova a coluna que contém o erro ou defina um tipo de Any dados que não seja
para essa coluna.
Altere os níveis de privacidade das fontes de dados envolvidas para uma que
permita que elas sejam combinadas sem serem armazenadas em buffer.
Nivele as tabelas antes de fazer uma mesclagem para eliminar colunas que contêm
valores estruturados aninhados (como tabela, registro ou lista).
Como trabalhar com valores duplicados
Artigo • 05/10/2023

É possível trabalhar com conjuntos duplicados de valores por meio de transformações


que removem dados duplicados ou filtrar os dados para mostrar somente as
duplicações, tornando possível se concentrar neles.

2 Aviso

O Power Query diferencia maiúsculas e minúsculas. Ao trabalhar com valores


duplicados, o Power Query considera as maiúsculas e minúsculas do texto, que
pode levar a resultados indesejados. Como solução alternativa, os usuários podem
aplicar uma transformação de maiúsculas ou minúsculas antes de remover as
duplicações.

Neste artigo, os exemplos usam a tabela a seguir com as colunas id, Category e Total.

Remover duplicatas
Uma das operações que se pode executar é remover valores duplicados da tabela.

1. Selecione as colunas que contêm os valores duplicados.

2. Acesse a guia Página Inicia.

3. No grupo Reduzir linhas, selecione Remover linhas.

4. No menu suspenso, selecione Remover duplicidades.


2 Aviso

Não há garantia de que a primeira instância em um conjunto de duplicidades será


escolhida quando as duplicações forem removidas. Para saber mais sobre como
preservar a classificação, consulte Preservar classificação.

Remover duplicidades de várias colunas


Neste exemplo, identificaremos e removeremos as duplicidades usando todas as
colunas da tabela.

Há quatro linhas duplicadas. O objetivo é remover essas linhas duplicadas para que haja
apenas linhas exclusivas na tabela. Selecione todas as colunas da tabela e clique em
Remover duplicidades.

O resultado dessa operação lhe fornecerá a tabela que você esperava.


7 Observação

Essa operação também pode ser executada com um subconjunto de colunas.

Remover duplicidades de uma única coluna


Neste exemplo, identificaremos e removeremos as duplicidades usando apenas a coluna
Category da tabela.

Removeremos essas duplicidades e manteremos apenas os valores exclusivos. Para


remover as duplicidades da coluna Category, selecione a coluna e clique em Remover
duplicidades.

O resultado dessa operação lhe fornecerá a tabela que você esperava.


Manter as duplicidades
Outra operação que se pode executar com as duplicações é manter apenas as
duplicidades encontradas na tabela.

1. Selecione as colunas que contêm os valores duplicados.

2. Acesse a guia Página Inicia.

3. No grupo Reduzir linhas, selecione Manter linhas.

4. No menu suspenso, selecione Manter duplicidades.

Manter duplicidades de várias colunas


Neste exemplo, identificaremos e manteremos as duplicidades usando todas as colunas
da tabela.

Há quatro linhas duplicadas. O objetivo neste exemplo é manter apenas as linhas


duplicadas na tabela. Selecione todas as colunas da tabela e clique em Manter
duplicidades.

O resultado dessa operação lhe fornecerá a tabela que você esperava.

Remover duplicidades de uma única coluna


Neste exemplo, identificaremos e manteremos as duplicidades usando apenas a coluna
id da tabela.

Neste exemplo, há várias duplicidades e manteremos apenas essas duplicações na


tabela. Para manter as duplicidades da coluna id, selecione a coluna id e clique em
Manter duplicidades.

O resultado dessa operação lhe fornecerá a tabela que você esperava.

Confira também
Ferramentas de perfil de dados
Preencher valores em uma coluna
Artigo • 23/03/2023

Você pode usar preenchimento e preenchimento para substituir valores nulos pelo
último valor não vazio em uma coluna. Por exemplo, imagine a tabela a seguir na qual
você gostaria de preencher a coluna Data e preencher a coluna Comentários.

O resultado esperado é mostrado na imagem a seguir.

Preencher
A operação de preenchimento pega uma coluna e percorre os valores nela para
preencher todos os valores nulos nas próximas linhas até encontrar um novo valor. Esse
processo continua em linha por linha até que não haja mais valores nessa coluna.
No exemplo a seguir, você deseja preencher a coluna Data. Para fazer isso, clique com o
botão direito do mouse para selecionar a coluna Data e selecione Preencher>Para
Baixo.

O resultado dessa operação será semelhante à imagem a seguir.


Preencher
Da mesma forma que a operação de preenchimento, o preenchimento funciona em
uma coluna. Mas, por outro lado, o preenchimento localiza o último valor da coluna e
preenche todos os valores nulos nas linhas anteriores até encontrar um novo valor. Em
seguida, o mesmo processo ocorre para esse valor. Esse processo continua até que não
haja mais valores nessa coluna.

No exemplo a seguir, você deve preencher a coluna Comentários de baixo para cima.
Você observará que sua coluna Comentários não tem valores nulos. Em vez disso, tem o
que parece ser células vazias. Antes de fazer a operação de preenchimento, você precisa
transformar essas células vazias em valores nulos: selecione a coluna, vá para a guia
Transformar e selecione Substituir valores.

Na caixa de diálogo Substituir valores, deixe o Valor em branco. Para Substituir por,
insira nulo.

Mais informações: Substituir valores

Depois que todas as células vazias forem substituídas por nulas, selecione a coluna
Comentários, vá para a guia Transformar e selecione Preencher>.
O resultado dessa operação será semelhante à imagem a seguir.

Limpando sua tabela


1. Filtre a coluna Unidades para mostrar apenas linhas que não são iguais a nulas.
2. Renomeie a coluna Comentários como Vendedor.

3. Remova Vendedor: valores da coluna Sales Person para que você obtenha apenas
os nomes dos vendedores.

Agora você deve ter exatamente a tabela que você estava procurando.

Confira também
Substituir valores
Classificar colunas
Artigo • 05/10/2023

Você pode classificar uma tabela no Power Query por uma coluna ou várias colunas. Por
exemplo, use a tabela a seguir com as colunas denominadas Competition, Competitor e
Position.

Neste exemplo, a meta é classificar essa tabela pelos campos Competition e Position
em ordem crescente.

A classificação em ordem crescente classifica linhas alfabéticas em uma coluna de A a Z,


depois de a a z. A classificação em ordem decrescente classifica linhas alfabéticas em
uma coluna de z a e, depois, de Z a A. Por exemplo, examine a seguinte coluna não
classificada:
Quando classificada em ordem crescente, uma coluna alfabética é classificada da
seguinte maneira:

Quando classificada em ordem decrescente, uma coluna alfabética é classificada da


seguinte maneira:
Para classificar uma tabela usando colunas
Para classificar a tabela, primeiro selecione a coluna a ser classificada. Depois que a
coluna for selecionada, você poderá selecionar a operação de classificação em um
desses dois locais:

Na guia Página Inicial, no grupo Classificar, há ícones para classificar sua coluna
em ordem crescente ou decrescente.

No menu suspenso do cabeçalho da coluna. Ao lado do nome da coluna, há um


indicador de menu suspenso . Ao selecionar o ícone, você verá a opção para
classificar a coluna.
Neste exemplo, primeiro você precisa classificar a coluna Competition. Você executará a
operação usando os botões do grupo Classificar na guia Página Inicial. Essa ação criará
uma etapa na seção Etapas Aplicadas chamada Linhas classificadas.

Um indicador visual, exibido como uma seta apontando para cima, é adicionado ao
ícone do menu suspenso de Competitor para mostrar que a coluna está sendo
classificada em ordem crescente.

Agora você também classificará o campo Position em ordem crescente, mas desta vez
você usará o menu suspenso do cabeçalho da coluna Position.

Observe que essa ação não cria uma etapa Linhas classificadas, mas a modifica para
executar ambas as operações de classificação em uma etapa. Quando você classifica
várias colunas, a ordem em que as colunas são classificadas é baseada na ordem em
que as colunas foram selecionadas. Um indicador visual, exibido como um número à
esquerda do indicador do menu suspenso, mostra o lugar que cada coluna ocupa na
ordem de classificação.

Para limpar uma operação de classificação de


uma coluna
Execute uma dessas ações:
Selecione a seta para baixo ao lado do título da coluna e selecione Limpar
classificação.
Em Etapas aplicadas, no painel Configurações da Consulta, exclua a etapa Linhas
classificadas.
Renomear colunas
Artigo • 23/03/2023

No Power Query, é possível renomear colunas para formatar o conjunto de dados de


forma clara e concisa.

Como exemplo, comecemos com um conjunto de dados que tem duas colunas.

Coluna 1 Coluna 2

Panamá Panamá

EUA Nova York

Canadá Toronto

Os cabeçalhos de coluna são Column 1 e Column 2, mas você deseja alterar esses
nomes para nomes mais amigáveis.

Column 1 torna-se Country


Column 2 torna-se City

O resultado final desejado no Power Query se parece com a tabela a seguir.

Como renomear uma coluna


Há três maneiras de renomear uma coluna no Power Query.

Clique duas vezes no cabeçalho da coluna: a ação de clique duplo imediatamente


permite renomear a coluna.
Clique com o botão direito do mouse na coluna desejada: no menu contextual
exibido, selecione a opção Renomear para renomear a coluna selecionada.

Opção Renomear na guia Transformar: na guia Transformar, no grupo Qualquer


colunas, selecione a opção Renomear.

Evitar nomes de coluna duplicados


O Power Query requer que os nomes de coluna da tabela sejam exclusivos em todas as
colunas. Isso significa que, se você tentar renomear uma coluna com um nome que já
existe na tabela, um erro com a mensagem Conflito de nome de coluna será exibido.
Você precisará usar outro nome para a coluna.

Por exemplo, na primeira tabela de exemplo fornecida neste artigo, imagine que você
tenta renomear a Column 1 e a Column 2 como "Geography". Uma mensagem de erro
será exibida, impedindo que você renomeie a segunda coluna como "Geography".

Exclusão de ambiguidade do nome de coluna


Como muitas ações executadas no Power Query podem resultar em um Conflito de
nome de coluna, o Power Query tenta excluir a ambiguidade ao renomear todas as
instâncias duplicadas com o mesmo nome de coluna. Para fazer isso, o Power Query
renomeia essas colunas adicionando um sufixo ao nome original da coluna com um
separador (geralmente um ponto ou um underline) e um número que representa a
instância do nome da coluna duplicada na ordem em que ela foi encontrada pelo Power
Query. Esse processo de renomear geralmente ocorre em ações como (mas não se
limitando a):

Promoção de cabeçalhos de coluna usando a primeira linha: por exemplo, se


você tentou promover a primeira linha da tabela de exemplo neste artigo, o Power
Query renomeou as colunas para Panamá e Panamá_1.
7 Observação

Para saber mais sobre como promover a primeira linha para os cabeçalhos,
acessePromover ou despromover cabeçalhos de coluna.

Expansão de uma coluna com um nome de campo que também existe na tabela
atual: isso pode acontecer, por exemplo, quando você executa uma operação de
mesclagem e a coluna com a tabela mesclada tem nomes de campo que também
existem na tabela. Quando você tenta expandir os campos dessa coluna, o Power
Query tenta excluir a ambiguidade automaticamente para evitar erros de Conflito
de nome de coluna.
Mover colunas
Artigo • 18/12/2023

Um processo comum ao preparar dados é mover colunas do conjunto de dados.

Para realizar essa movimentação, você pode selecionar a opção Mover ou arrastar e
soltar a coluna.

Opção de mover
O exemplo a seguir mostra as diferentes maneiras para mover colunas. Este exemplo se
concentra em mover a coluna Nome do Contato.

Você move a coluna usando a opção Mover. Essa opção está localizada no grupo
Qualquer coluna na guia Transformar. Na opção Mover, as opções disponíveis são:

Antes
Após
Para o início
Para o fim
Você também pode encontrar essa opção ao clicar com o botão direito do mouse em
uma coluna.

Se você quiser mover uma coluna para a esquerda, selecione Antes.

Agora o novo local da coluna é uma coluna à esquerda de seu local original.
Se você quiser mover uma coluna para a direita, selecione Depois.

Agora o novo local da coluna é uma coluna à direita de seu local original.

Se você quiser mover a coluna para o espaço mais à esquerda do conjunto de dados,
selecione Para o início.
Agora o novo local da coluna é na extremidade à esquerda da tabela.

Se você quiser mover a coluna para o espaço mais à direita do conjunto de dados,
selecione Para o fim.

Agora o novo local da coluna é na extremidade à direita da tabela.

Arrastar e soltar
Outra maneira de mover uma coluna no conjunto de dados é arrastar e soltá-la. Mova a
coluna para o local em que você gostaria de colocá-la.
Recurso Ir para a coluna
Se você quiser encontrar uma coluna específica, acesse a guia Exibir na faixa de opções
e selecione Ir para a coluna.

Nesse local, você pode selecionar especificamente a coluna que deseja exibir, o que é
especialmente útil se houver muitas colunas.
Substituir valores e erros
Artigo • 23/03/2023

Com o Power Query, você pode substituir um valor por outro valor onde quer que esse
valor seja encontrado em uma coluna. O comando Substituir valores pode ser
encontrado:

No menu de atalho da célula. Clique com o botão direito do mouse na célula para
substituir o valor selecionado na coluna por outro valor.

No menu de atalho de coluna.

Na guia Página Inicial, no grupo Transformar.


Na guia Transformar, no grupo de quaisquer colunas .

A operação substituir valores tem dois modos:

Substitua todo o conteúdo da célula: esse é o comportamento padrão para


colunas que não são de texto, em que o Power Query pesquisa e substitui o
conteúdo completo de uma célula. Você pode habilitar esse modo para colunas de
texto selecionando opções avançadas e selecionando a caixa de seleção
Corresponder todo o conteúdo da célula .
Substitua instâncias de uma cadeia de caracteres de texto: esse é o
comportamento padrão para colunas de texto, em que o Power Query procurará
uma cadeia de caracteres de texto específica em todas as linhas de uma coluna e
substituirá quantas instâncias da cadeia de texto encontrar.

As opções avançadas só estão disponíveis em colunas do tipo de dados Texto. Dentro


desse conjunto de opções está a opção Substituir usando caracteres especiais.
Substituir todo o conteúdo da célula
Imagine uma tabela como a seguinte, em que você tem colunas para ID da Conta,
Nome da Categoria e Meta de Vendas.

O valor de -1 na coluna Meta de Vendas é um erro na origem e precisa ser substituído


pela meta de vendas padrão definida pela empresa para essas instâncias, que é de
250.000. Para fazer isso, clique com o botão direito do mouse no valor -1 e selecione
Substituir valores. Essa ação abrirá a caixa de diálogo Substituir valores com Valor para
localizar definido como -1. Agora, tudo o que você precisa fazer é inserir 2500000 na
caixa Substituir por .

O resultado dessa operação dará o resultado que você está procurando.

Substituir instâncias de uma cadeia de


caracteres de texto
Continuando com a tabela anterior, digamos que você queira remover a cadeia de
caracteres de texto "Nome da Categoria: " da coluna Nome da Categoria. Para fazer
isso, vá para o grupo Transformar na guia Página Inicial e selecione Substituir valores.
Na caixa de diálogo Substituir valores, insira o nome da categoria da cadeia de texto:
(seguido por um espaço) na caixa Valor a ser encontrado, deixe a caixa Substituir com
vazio e selecione OK.

O resultado dessa operação fornece a tabela na imagem a seguir.


Analisar texto como JSON ou XML
Artigo • 23/03/2023

No Power Query, você pode analisar o conteúdo de uma coluna com cadeias de
caracteres de texto identificando o conteúdo como uma cadeia de texto JSON ou XML.

Você pode executar essa operação de análise selecionando o botão Analisar encontrado
nos seguintes locais no Editor do Power Query:

Guia Transformar — Esse botão transformará a coluna existente analisando seu


conteúdo.

Adicionar guia coluna — Este botão adicionará uma nova coluna à tabela
analisando o conteúdo da coluna selecionada.

Para este artigo, você usará a seguinte tabela de exemplo que contém as seguintes
colunas que você precisa analisar:

Vendedor — Contém cadeias de caracteres de texto JSON não preparadas com


informações sobre Nome e Sobrenome do vendedor, como no exemplo a seguir.

JSON

{
"id" : 249319,
"FirstName": "Lesa",
"LastName": "Byrd"
}
País — contém cadeias de caracteres de texto XML não analisadas com
informações sobre o País e a Divisão à qual a conta foi atribuída, como no
exemplo a seguir.

XML

<root>
<id>1</id>
<Country>USA</Country>
<Division>BI-3316</Division>
</root>

A tabela de exemplo tem a seguinte aparência.

A meta é analisar as colunas mencionadas acima e expandir o conteúdo dessas colunas


para obter essa saída.

Como .json
Selecione a coluna Vendedor. Em seguida, selecioneJSON no menu suspenso Analisar
dentro da guia Transformar. Essas etapas transformarão a coluna Vendedor de ter
cadeias de caracteres de texto para ter valores de Registro, conforme mostrado na
próxima imagem. Você pode selecionar qualquer lugar no espaço em branco dentro da
célula do valor de Registro para obter uma visualização detalhada do conteúdo do
registro na parte inferior da tela.
Selecione o ícone expandir ao lado do cabeçalho da coluna Vendedor. No menu
expandir colunas, selecione apenas os campos Nome e Sobrenome , conforme
mostrado na imagem a seguir.

O resultado dessa operação fornecerá a tabela a seguir.

Como XML
Selecione a coluna País. Em seguida, selecione o botão XML no menu suspenso Analisar
dentro da guia Transformar. Essas etapas transformarão a coluna País de strings de
texto em valores de Tabela, conforme mostrado na próxima imagem. Você pode
selecionar qualquer lugar no espaço em branco dentro da célula do valor de Tabela
para obter uma visualização detalhada do conteúdo da tabela na parte inferior da tela.

Selecione o ícone expandir ao lado do cabeçalho da coluna País. No menu expandir


colunas, selecione apenas os campos País e Divisão, conforme mostrado na imagem a
seguir.

Você pode definir todas as novas colunas como colunas de texto. O resultado dessa
operação fornecerá a tabela de saída que você está procurando.
Adicionar uma coluna dos exemplos
Artigo • 23/03/2023

Ao adicionar colunas de exemplos, você pode criar colunas rápidas e facilmente que
atendam às suas necessidades. Isso é útil para as seguintes situações:

Você conhece os dados que deseja inserir na nova coluna, mas não tem certeza de
qual transformação ou coleção de transformações produzirá esse resultado.
Você já conhece quais transformações são necessárias, mas não tem certeza do
que selecionar na interface do usuário para fazer isso.
Você sabe tudo sobre as transformações de que precisa usando uma expressão de
coluna personalizada na linguagem M, mas uma ou mais dessas transformações
não estão disponíveis na interface do usuário.

A coluna dos exemplos está localizado na guia Adicionar coluna, no grupo Geral .

Adicionar uma nova coluna com base em


exemplos
Neste exemplo, você começa com a tabela mostrada na imagem a seguir.
Sua meta neste exemplo é criar duas novas colunas:

Intervalo: crie compartimentos para a coluna Renda Mensal em incrementos


discretos de 5.000.
Nome Completo: concatenar as colunas Sobrenome e Nome em uma única
coluna.

Coluna de exemplos, de colunas selecionadas


Uma das opções que você tem ao criar sua nova coluna é selecionar quais colunas serão
usadas em seus cálculos. Para este exemplo, você criará a coluna Intervalo a partir dos
valores na coluna Renda Mensal .

Para fazer isso, selecione a coluna Renda Mensal, selecione a Coluna no comando de
exemplos e selecione De seleção.
O painel de visualização exibe uma nova coluna editável na qual você pode inserir seus
exemplos. Para o primeiro exemplo, o valor da coluna selecionada é 19500. Portanto, em
sua nova coluna, insira o texto 15000 a 20000, que é a lixeira em que esse valor cai.

Quando Power Query encontra uma transformação correspondente, ela preenche os


resultados da transformação nas linhas restantes usando texto de cor clara. Você
também pode ver o texto da fórmula M para a transformação acima da visualização da
tabela.

Depois de selecionar OK, você verá sua nova coluna como parte de sua consulta. Você
também verá uma nova etapa adicionada à consulta.

Coluna dos exemplos de todas as colunas


A próxima meta é criar uma coluna Nome Completo usando os valores das colunas
Nome e Sobrenome.

Para fazer isso, selecione a Coluna no comando de exemplos e selecione De todas as


colunas.
Agora você inserirá seu primeiro exemplo de Nome Completo como Remetentes,
Maria.

Depois de selecionar OK, você verá sua nova coluna como parte de sua consulta. Você
também verá uma nova etapa adicionada à consulta.

Sua última etapa é remover as colunas Nome, Sobrenome e Renda Mensal. Sua tabela
final agora contém as colunas Intervalo e Nome Completo com todos os dados que
você produziu nas etapas anteriores.

Dicas e considerações
Ao fornecer exemplos, Power Query oferece uma lista útil de campos, valores e
transformações sugeridas disponíveis para as colunas selecionadas. Você pode exibir
essa lista selecionando qualquer célula da nova coluna.

É importante observar que a experiência Coluna de exemplos funciona apenas nas 100
principais linhas da visualização de dados. Você pode aplicar etapas antes da etapa
Coluna de exemplos para criar seu próprio exemplo de dados. Depois que a Coluna de
exemplos tiver sido criada, você poderá excluir essas etapas anteriores; a coluna recém-
criada não será afetada.

Lista de transformações compatíveis


Muitas mas nem todas as transformações estão disponíveis ao usar Coluna com Base
em Exemplos. A seguinte lista mostra as transformações compatíveis:
Geral

Coluna Condicional

Referência

Referência a uma coluna específica, incluindo cortar, limpar ou aplicar uma


transformação de maiúsculas e minúsculas

Transformações de texto

Combinar (dá suporte à combinação de cadeias de caracteres literais e a todos os


valores da coluna)
Substitua
Comprimento
Extract
Primeiros caracteres
Últimos caracteres
Intervalo
Texto antes do delimitador
Texto depois do delimitador
Texto entre delimitadores
Comprimento
Remover Caracteres
Manter Caracteres

7 Observação

Todas as transformações de Texto levam em consideração a necessidade potencial


de cortar, limpar ou aplicar uma transformação de maiúsculas e minúsculas ao
valor da coluna.

Transformações de data

Dia
Dia da semana
Nome do dia da semana
Dia do ano
Month
Month Name
Trimestre do ano
Semana do mês
Semana do ano
Ano
Idade
Início do ano
Fim do ano
Início do mês
Fim do mês
Início do trimestre
Dias do mês
Fim do trimestre
Início da semana
Fim da semana
Dia do mês
Início do dia
Fim do dia

Transformações de hora

Hora
Minuto
Segundo
Para a hora local

7 Observação

Todas as transformações de Data e Hora levam em consideração a possível


necessidade de converter o valor da coluna em Data, Hora ou DataHora.

Transformações de número

Valor absoluto
Arco cosseno
Arco seno
Arco tangente
Converter em número
Cosseno
Cubo
Dividir
Expoente
Fatorial
Divisão de inteiro
É par
É ímpar
Ln
Logaritmo de base 10
Módulo
Multiplicar
Arredondar para baixo
Arredondar para cima
Sinal
Seno
Raiz quadrada
Quadrado
Subtrair
Somar
Tangente
Particionamento/intervalos
Adicionar uma coluna de índice
Artigo • 23/03/2023

O comando Coluna de índice adiciona uma nova coluna à tabela com valores de
posição explícitos e, geralmente, é criado para dar suporte a outros padrões de
transformação.

Por padrão, o índice inicial começará a partir do valor 0 e terá um incremento de 1 por
linha.
Para configurar o comportamento desta etapa, selecione a opção Personalizar e
configure dois parâmetros:

Índice inicial: especifica o valor inicial do índice.


Incremento: especifica quanto incrementar cada valor de índice.

Para o exemplo neste artigo, comece com a tabela a seguir que tem apenas uma coluna,
mas observe o padrão de dados na coluna.
Digamos que sua meta seja transformar essa tabela de acordo com a imagem a seguir,
com as colunas Data, Conta e Venda.

Etapa 1. Adicionar uma coluna de índice


Primeiro, adicione uma nova coluna Índice à tabela que começa a partir de 0.

Etapa 2. Adicionar uma coluna de módulo na


coluna de índice
A próxima etapa é selecionar a coluna de índice recém-adicionada e, na guia Adicionar
coluna, selecione Standard>Módulo.

Na caixa de diálogo Módulo, insira o número do qual localizar o restante para cada
valor na coluna. Nesse caso, seu padrão se repete a cada três linhas, portanto, você
entrará em 3.

O resultado dessa operação será uma nova coluna chamada Módulo.


Etapa 3. Adicionar uma coluna de divisão de
inteiros da coluna de índice
Selecione a coluna Índice, acesse a guia Adicionar coluna e selecione Standard>Dividir
(inteiro).

Na caixa de diálogo Divisão de inteiros, insira um número pelo qual dividir cada valor
na coluna. Nesse caso, seu padrão se repete a cada três linhas, portanto, você entrará no
valor 3.

Remova a coluna Índice, pois você não precisa mais dela. Sua tabela agora tem a
aparência da imagem a seguir.
Etapa 4. Dinamizar uma coluna
Sua tabela tem três colunas em que:

Coluna1 contém os valores que devem estar na tabela final.


Módulo fornece a posição da coluna do valor (semelhante às coordenadas y de
um gráfico xy).
Divisão de inteiros fornece a posição da linha do valor (semelhante às
coordenadas x de um gráfico xy).

Para alcançar a tabela desejada, você precisa dinamizar a coluna Módulo usando os
valores da Coluna1 em que esses valores não são agregados. Na guia Transformar,
selecione a coluna Módulo e Dinamizar coluna no grupo Qualquer coluna. Na caixa de
diálogo Dinamizar coluna, selecione o botão de opção Avançado. Verifique se a coluna
Valor está definida como Coluna1 e Agregar função de valores está definido como Não
agregar.
Mais informações: Dinamizar colunas

O resultado dessa operação será uma tabela com quatro colunas, conforme mostrado
na imagem a seguir.

Etapa 5. Limpar a tabela


Agora, você pode excluir a coluna Divisão de inteiros e promover a primeira linha da
tabela para se tornar os cabeçalhos da tabela. Para obter mais informações: Promover
ou rebaixar cabeçalhos de coluna

Depois de definir os tipos de dados corretos para as colunas, você criará uma tabela
semelhante à tabela a seguir, exatamente com as três colunas necessárias e a forma que
você estava procurando.
Adicionar uma coluna personalizada
Artigo • 23/03/2023

Se você precisar de mais flexibilidade para adicionar novas colunas além daquelas que
são fornecidas prontas para usar no Power Query, você poderá criar sua própria coluna
personalizada usando a linguagem de fórmula M do Power Query.

Imagine que você tem uma tabela com o seguinte conjunto de colunas.

Usando as colunas Unidades, Preço Unitário e Desconto, você gostaria de criar duas
novas colunas:

Total da Venda antes do Desconto: calculada multiplicando a coluna Unidades


pela coluna Preço Unitário.
Total da Venda após Desconto: calculada multiplicando a coluna Total da Venda
antes do Desconto pelo valor percentual líquido (um menos o valor do desconto).

A meta é criar uma tabela com novas colunas que contenham o total de vendas antes
do desconto e o total de vendas após o desconto.

Criar uma coluna personalizada


Na guia Adicionar coluna, selecione Coluna personalizada.
A caixa de diálogo Coluna personalizada é exibida. Essa caixa de diálogo é o local em
que você define a fórmula para criar sua coluna.

A caixa de diálogo Personalizar coluna contém:

O nome inicial da coluna personalizada na caixa Nome da nova coluna. Você pode
renomear essa coluna.

Um menu suspenso em que você pode selecionar o tipo de dados da nova coluna.

Uma lista de Colunas disponíveis à direita abaixo da seleção de Tipo de dados.

Uma caixa de diálogo Fórmula da coluna personalizada na qual você pode inserir
uma Fórmula da M do Power Query.

Para adicionar uma nova coluna personalizada, selecione uma coluna na lista de
Colunas disponíveis. Em seguida, selecione o botão Inserir coluna abaixo da lista para
adicioná-la à fórmula da coluna personalizada. Adicione também uma coluna
selecionando-a na lista. Como alternativa, você pode escrever sua própria fórmula
usando a linguagem de fórmula M do Power Query na Fórmula de coluna
personalizada.

7 Observação

Se ocorrer um erro de sintaxe ao criar a coluna personalizada, você verá um ícone


de aviso amarelo, com uma mensagem de erro e um motivo.

Adicionando a coluna Total de Vendas antes do Desconto


A fórmula que você pode usar para criar a coluna Total de Vendas antes do Desconto é
[Units] * [Unit Price] . No Tipo de dados, selecione o tipo Moeda.

O resultado dessa operação adiciona uma coluna Total de Vendas antes do Desconto à
sua tabela.
7 Observação

Se você estiver usando o Power Query Desktop, observará que o campo Tipo de
dados não está disponível na Coluna personalizada. Isso significa que você
precisará definir um tipo de dados para qualquer coluna personalizada depois de
criar as colunas. Para mais informações: Tipos de dados no Power Query

Adicionando a coluna Total de Vendas após o Desconto


A fórmula que você pode usar para criar a coluna Total de Vendas antes do Desconto é
[Total Sale before Discount]* (1-[Discount]) . Defina o tipo de dados dessa nova
coluna como Moeda.

O resultado dessa operação adiciona uma coluna Total de Vendas após o Desconto à
sua tabela.
Modificar uma coluna personalizada existente
O Power Query adiciona a coluna personalizada à tabela e adiciona a etapa
Personalização adicionada à lista Etapas aplicadas em Configurações de consulta.

Para modificar a coluna personalizada, selecione a etapa Personalização adicionada na


lista Etapas aplicadas.

A caixa de diálogo Coluna personalizada será exibida com a fórmula de coluna


personalizada que você criou.

7 Observação

Dependendo da fórmula usada em sua coluna personalizada, o Power Query vai


alterar o comportamento de configurações da etapa para uma experiência mais
simplificada e nativa. Neste exemplo, a etapa Personalização adicionada teve o
comportamento alterado de uma etapa de coluna personalizada padrão para uma
experiência de Multiplicação porque a fórmula dessa etapa somente multiplica os
valores de duas colunas.

Próximas etapas
Você pode criar uma coluna personalizada de outras formas, como a criação de
uma coluna com base nos exemplos fornecidos ao Editor do Power Query. Para
mais informações: Adicionar uma coluna de um exemplo
Para obter informações de referência da linguagem M do Power Query, acesse
Referência de função da M do Power Query.
Adicionar uma coluna condicional
Artigo • 23/03/2023

Com Power Query, você pode criar novas colunas cujos valores serão baseados em uma
ou mais condições aplicadas a outras colunas em sua tabela.

O comando coluna condicional está localizado na guia Adicionar coluna, no grupo


Geral .

Adicionar uma coluna condicional


Neste exemplo, você usará a tabela mostrada na imagem a seguir.

Nesta tabela, há um campo que fornece o CustomerGroup. Você também tem preços
diferentes aplicáveis a esse cliente nos campos Preço da Camada 1, Preço da Camada 2
e Preço da Camada 3. Neste exemplo, sua meta é criar uma nova coluna com o nome
Preço Final com base no valor encontrado no campo CustomerGroup. Se o valor no
campo CustomerGroup for igual a 1, você vai usar o valor do campo Preço da Camada
1; caso contrário, você vai usar o valor do preço da Camada 3.

Para adicionar essa coluna condicional, selecione Coluna condicional. Na caixa de


diálogo Adicionar coluna condicional, você pode definir três seções numeradas na
imagem a seguir.
1. Novo nome da coluna: você pode definir o nome da nova coluna. Neste exemplo,
você usará o nome Preço Final.
2. Cláusulas condicionais: aqui você define suas cláusulas condicionais. Você pode
adicionar mais cláusulas selecionando Adicionar cláusula. Cada cláusula
condicional será testada na ordem mostrada na caixa de diálogo, de cima para
baixo. Cada cláusula tem quatro partes:

Nome da coluna: na lista suspensa, selecione a coluna a ser usada para o


teste condicional. Neste exemplo, selecione CustomerGroup.
Operador: selecione o tipo de teste ou operador para o teste condicional.
Neste exemplo, o valor da coluna CustomerGroup deve ser igual a 1,
portanto, selecione igual a.
Valor: você pode inserir um valor ou selecionar uma coluna a ser usada para
o teste condicional. Neste exemplo, digite 1.
Saída: se o teste for positivo, o valor inserido aqui ou a coluna selecionada
será a saída. Para este exemplo, se o valor CustomerGroup for igual a 1, seu
valor de saída deverá ser o valor da coluna Preço da Camada 1.

3. Cláusula “Final Else”: se nenhuma das cláusulas acima produzir um teste positivo,
a saída dessa operação será definida aqui, como um valor inserido manualmente
ou um valor de uma coluna. Nesse caso, a saída será o valor da coluna Preço da
Camada 3.

O resultado dessa operação será uma nova coluna chamada Preço Final.

7 Observação
Novas colunas condicionais não terão um tipo de dados definido. Você pode
adicionar uma nova etapa para definir um tipo de dados para essa coluna recém-
criada seguindo as etapas descritas em tipos de dados no Power Query.

Adicionar e organizar várias cláusulas


Para este exemplo, vamos alterar sua meta. Suas novas cláusulas condicionais são:

Se o valor da coluna CustomerGroup for igual a 1, a saída será o valor da coluna


Preço da Camada 1.
Se o valor da coluna CustomerGroup for igual a 2, a saída será o valor da coluna
Preço da Camada 2.
Se nenhum dos testes anteriores for positivo, a Saída será o valor da coluna Preço
da Camada 3.

7 Observação

No final de cada cláusula, você pode selecionar o botão de reticências (...) para
excluir, mover para cima ou mover para baixo a cláusula.

O resultado dessa operação dará o resultado que você está procurando.


Classificar coluna (Versão Preliminar)
Artigo • 05/10/2023

O comando Classificar coluna adiciona uma nova coluna a uma tabela com a
classificação definida por uma ou mais colunas da tabela. Uma opção do Método de
classificação pode ser usada para definir como os empates devem ser tratados.

7 Observação

No momento, o recurso de coluna de classificação está disponível somente no


Power Query Online.

Adicionando uma coluna de classificação


A tabela a seguir tem campos para Team , Total Points e Bonus modifier . Imagine que
você tem a tarefa de criar uma coluna que classifique com eficiência as equipes usando
os valores dos campos Total Points e Bonus modifier .

Equipe Total de pontos Modificador de bônus

A 20 0.5

B 30 0.8

C 40 0,2

D 10 0,45

E 20 0,75

As equipes compartilharam uma lista de maneiras pelas quais desejam classificar umas
às outras:
Usando somente os valores do campo Total de Pontos, em que os valores mais
altos têm classificação mais alta usando a competição padrão como o método de
classificação
Usando somente os valores do campo Total de Pontos, em que os valores mais
altos têm classificação mais alta usando denso como o método de classificação
Classificação primeiro pelo Total de Pontos e depois pelo Modificador de bônus, em
que os valores mais altos têm classificação mais alta usando a competição padrão
como método de classificação

Classificação de coluna única


Para o primeiro requisito compartilhado pelas equipes de usar somente os valores do
campo Total Points , em que os valores mais altos têm classificação mais alta usando a
competição padrão como o método de classificação, use as seguintes etapas:

1. Com a tabela original já no Power Query, selecione a coluna Total Points . Em


seguida, na guia Adicionar coluna do Power Query, selecione Classificar coluna.

2. Em Classificar, Classificar por será o campo selecionado ( Total Points ) e o


Critério de classificação será Valor mais alto tem classificação mais alta.

3. Por padrão, o método de classificação para essa caixa de diálogo é competição


padrão, então basta selecionar OK. Essa ação fornecerá a você uma nova etapa
com a coluna Rank adicionada.
Classificação de coluna única com método de
classificação específico
Para o segundo requisito compartilhado pelas equipes de usar somente os valores do
campo Total Points , em que os valores mais altos têm classificação mais alta usando
densa como o método de classificação, use as seguintes etapas:

1. Com a tabela original já no Power Query, selecione a coluna Total Points . Em


seguida, na guia Adicionar coluna do Power Query, selecione Classificar coluna.

2. Em Classificar, Classificar por será o campo selecionado ( Total Points ) e o


Critério de classificação será Valor mais alto tem classificação mais alta.

3. Selecione Avançado na parte superior da caixa de diálogo. Essa seleção habilita a


seção avançada. Em Método de classificação, altere o valor de Competição
padrão para Densa.

4. Depois de selecionar o método de classificação, selecione OK. Essa ação fornecerá


a você uma nova etapa com a coluna Rank adicionada.
Classificação de várias colunas com método de
classificação específico
Para o terceiro requisito compartilhado pelas equipes de classificação primeiro pelo
Total Points e depois pelo Bonus modifier , em que os valores mais altos têm

classificação mais alta usando a competição padrão como o método de classificação,


use as seguintes etapas:

1. Com a tabela original já no Power Query, selecione as colunas Total Points e


Bonus modifier . Em seguida, na guia Adicionar coluna do Power Query, selecione

Classificar coluna.

2. A caixa de diálogo de classificação aparece com sua seção avançada aberta, com
ambos os campos selecionados na coluna Classificar por. Total de pontos está na
primeira linha e Modificador de bônus está abaixo dela. Ambas as linhas usam o
Critério de classificação de Valor mais alto tem classificação mais alta.

3. Certifique-se de que o Método de classificação na parte inferior esteja definido


como Competição padrão.

4. Depois de verificar os pontos acima, selecione OK. Essa ação fornecerá a você uma
nova etapa com a coluna Rank adicionada.
Métodos de classificação
Um método de classificação estabelece a estratégia na qual os empates são
manipulados pelo algoritmo de classificação. Essa opção só está disponível na seção
avançada da caixa de diálogo Classificação.

A tabela a seguir lista todos os três métodos de classificação disponíveis e fornece uma
descrição para cada um.

Método de Descrição
classificação

Competição Os itens que se comparam igualmente recebem o mesmo número de


padrão classificação e uma lacuna é deixada nos números da classificação. Por
exemplo, 1224.

Denso Os itens que se comparam igualmente recebem o mesmo número de


classificação, e os próximos itens recebem o número de classificação
imediatamente seguinte. Por exemplo, 1223.

Ordinal Todos os itens recebem números ordinais distintos, incluindo itens que se
comparam igualmente. Por exemplo, 1234.
Valores do cluster
Artigo • 23/03/2023

Os valores de cluster criam grupos automaticamente com valores semelhantes usando


um algoritmo de correspondência difusa e mapeia o valor de cada coluna para o grupo
mais bem correspondido. Essa transformação é muito útil quando você está
trabalhando com dados que têm muitas variações diferentes do mesmo valor e você
precisa combinar valores em grupos consistentes.

Considere uma tabela de exemplo com uma coluna de ID que contém um conjunto de
IDs e uma coluna Pessoa contendo um conjunto de versões ortográficas e maiúsculas
dos nomes Miguel, Mike, William e Bill.

Neste exemplo, o resultado que você está procurando é uma tabela com uma nova
coluna que mostra os grupos corretos de valores da coluna Pessoa e não todas as
diferentes variações das mesmas palavras.
7 Observação

O recurso valores de cluster está disponível apenas para o Power Query Online.

Criar uma coluna cluster


Para valores de cluster, primeiro selecione a coluna Pessoa, vá para a guia Adicionar
coluna na faixa de opções e selecione a opção Valores do Cluster.

Na caixa de diálogo Valores do Cluster, confirme a coluna da qual você deseja usar para
criar os clusters e insira o novo nome da coluna. Para esse caso, nomeie este novo
cluster de colunas.

O resultado dessa operação gera o resultado mostrado na próxima imagem.


7 Observação

Para cada cluster de valores, Power Query escolhe a instância mais frequente da
coluna selecionada como a instância "canônica". Se várias instâncias ocorrerem
com a mesma frequência, o Power Query escolherá a primeira.

Usar as opções de cluster difusas


As seguintes opções estão disponíveis para valores de clustering em uma nova coluna:

Limite de similaridade (opcional): indica a semelhança que dois valores precisam


ter para serem agrupados. A configuração mínima de 0 faz com que todos os
valores sejam agrupados. A configuração máxima de 1 só permite que os valores
que correspondem exatamente sejam agrupados. O padrão é 0.8.
Ignorar maiúsculas e minúsculas: maiúsculas e minúsculas serão ignoradas na
comparação entre cadeias de caracteres de texto. Por padrão, essa opção é
ativada.
Agrupar combinando partes de texto: O algoritmo tenta combinar partes de texto
(como combinar Micro e soft em Microsoft) para agrupar valores.
Mostrar pontuações de similaridade: mostra as pontuações de similaridade entre
os valores de entrada e os valores representantes calculados após o agrupamento
difuso.
Tabela de transformação (opcional): Você pode selecionar uma tabela de
transformação que mapeia valores (como mapear MSFT para Microsoft) para
agrupá-los.

Para este exemplo, uma nova tabela de transformação com o nome Minha tabela de
transformação é usada para demonstrar como os valores podem ser mapeados. Esta
tabela de transformação tem duas colunas:

De: a cadeia de caracteres de texto a ser pesquisada na tabela.


Para: a cadeia de caracteres de texto a ser usada para substituir a cadeia de
caracteres de texto na coluna De.

) Importante

É importante que a tabela de transformação tenha as mesmas colunas e nomes de


colunas, conforme mostrado na imagem anterior (eles precisam ser nomeados
como "De" e "Para"), caso contrário, o Power Query não reconhecerá essa tabela
como uma tabela de transformação e nenhuma transformação ocorrerá.

Usando a consulta criada anteriormente, clique duas vezes na etapa Valores agrupados
e, na caixa de diálogo Valores do Cluster, expanda as opções de Cluster Difuso. Em
Opções de cluster difuso, habilite a opção Mostrar pontuações de similaridade. Para a
tabela Transformação (opcional), selecione a consulta que tem a tabela de
transformação.
Depois de selecionar sua tabela de transformação e habilitar a opção Mostrar
pontuações de similaridade, selecione OK. O resultado dessa operação lhe dará uma
tabela que contém as mesmas colunas de ID e Pessoa que a tabela original, mas
também inclui duas novas colunas à direita chamadas Cluster e
Person_Cluster_Similarity. A coluna Cluster contém as versões corretamente
ortográficas e maiúsculas dos nomes Miguel para versões de Miguel e Mike, e William
para versões de Bill, Billy e William. A coluna Person_Cluster_Similarity contém as
pontuações de similaridade para cada um dos nomes.
Acrescentar consultas
Artigo • 23/03/2023

A operação de acréscimo cria uma única tabela ao adicionar o conteúdo de uma ou


mais tabelas a outra, e agrega os cabeçalhos de coluna das tabelas para criar o esquema
para a nova tabela.

7 Observação

Quando tabelas que não têm os mesmos cabeçalhos de coluna são acrescentadas,
todos os cabeçalhos de coluna de todas as tabelas são acrescentados à tabela
resultante. Se uma das tabelas acrescentadas não tiver um cabeçalho de coluna
vindo das outras tabelas, a tabela resultante mostrará valores nulos na respectiva
coluna, conforme mostrado na imagem anterior, nas colunas C e D.

O comando Acrescentar consultas está na guia Página Inicial, no grupo Combinar. No


menu suspenso, há duas opções:

Acrescentar consultas: exibe a caixa de diálogo Acrescentar para adicionar tabelas


à consulta atual.
Acrescentar consultas como uma nova: exibe a caixa de diálogo Acrescentar para
criar uma nova consulta ao acrescentar várias tabelas.

A operação de acrescentar requer no mínimo duas tabelas. A caixa de diálogo


Acrescentar apresenta dois modos:
Duas tabelas: combina duas consultas de tabela. Esse modo é o padrão.
Três ou mais tabelas: permite que um número arbitrário de consultas de tabela
seja combinado.

7 Observação

As tabelas serão acrescentadas na ordem em que são selecionadas, começando


com a Tabela primária para o modo Duas tabelas e, desde a tabela primária, na
lista Tabelas para acrescentar para o modo Três ou mais tabelas.

Acrescentar duas tabelas


Como exemplo neste artigo, usaremos as duas tabelas a seguir com uma amostra de
dados:

Online Sales: vendas feitas por meio de um canal online.

Store Sales: vendas feitas nos locais físicos da empresa.

Para acrescentar essas tabelas, primeiro selecione a tabela Vendas online. Na guia
Página Inicial, selecione Acrescentar consultas, que criará uma nova etapa na consulta
Online Sales. A tabela Online Sales será a tabela primária. A tabela a ser acrescentada à
tabela primária será Store Sales.
O Power Query executa a operação de acréscimo com base nos nomes dos cabeçalhos
de coluna encontrados em ambas as tabelas e não com base na posição relativa nas
seções de cabeçalhos das respectivas tabelas. A tabela final conterá todas as colunas de
todas as tabelas acrescentadas.

No caso de uma tabela não encontrar as mesmas colunas na outra tabela, valores nulos
aparecerão nas colunas correspondentes, conforme mostrado na coluna Referenciador
da consulta final.

Acrescentar três ou mais tabelas


Neste exemplo, você deseja acrescentar não apenas as tabelas Online Sales e Store
Sales, mas também uma nova tabela chamada Wholesale Sales.
A nova abordagem para este exemplo é selecionar Acrescentar consultas como uma
nova e, na caixa de diálogo Acrescentar, selecionar a opção Três ou mais tabelas. Na
lista de Tabelas disponíveis, selecione todas as tabelas que você deseja acrescentar e
selecione Adicionar. Depois que todas as tabelas desejadas aparecerem na lista Tabelas
a acrescentar, selecione OK.

Depois de selecionar OK, uma nova consulta será criada com todas as tabelas
acrescentadas.
Visão geral da combinação de arquivos
Artigo • 23/03/2023

Com o Power Query, você pode combinar vários arquivos que têm o mesmo esquema
em uma única tabela lógica.

Esse recurso é útil quando você deseja combinar todos os arquivos que tem na mesma
pasta. Por exemplo, se você tiver uma pasta que contenha arquivos mensais com todas
as ordens de compra da empresa, poderá combinar esses arquivos para consolidar as
ordens em uma única exibição.

Os arquivos podem vir de várias fontes, como (mas não limitados a):

Pastas locais
Sites do SharePoint
Armazenamento de Blobs do Azure
Azure Data Lake Storage (Gen1 e Gen2)

Ao trabalhar com essas fontes, você observará que elas compartilham o mesmo
esquema de tabela, normalmente chamado de exibição do sistema de arquivos. A
captura de tela a seguir mostra um exemplo da exibição do sistema de arquivos.

Na exibição do sistema de arquivos, a coluna Conteúdo contém a representação binária


de cada arquivo.

7 Observação

Você pode filtrar a lista de arquivos na exibição do sistema de arquivos usando


qualquer um dos campos disponíveis. É uma boa prática filtrar essa exibição para
mostrar apenas os arquivos que você precisa combinar, por exemplo, filtrando
campos como Extensão ou Caminho da Pasta. Mais informações: Pasta

Selecionar qualquer um dos valores [Binários] na coluna Conteúdo cria


automaticamente uma série de etapas de navegação para esse arquivo específico. O
Power Query tentará interpretar o binário usando um dos conectores disponíveis, como
Text/CSV, Excel, JSON ou XML.

A combinação de arquivos ocorre nos seguintes estágios:

Visualização de tabela
caixa de diálogo Combinar arquivos
Saída de arquivos combinados

Visualização de tabela
Quando você se conecta a uma fonte de dados usando qualquer um dos conectores
mencionados anteriormente, uma visualização de tabela é aberta. Se você tiver certeza
de que deseja combinar todos os arquivos na pasta, selecione Combinar no canto
inferior direito da tela.

Como alternativa, você pode selecionar Transformar dados para acessar o Editor do
Power Query e criar um subconjunto da lista de arquivos (por exemplo, usando filtros na
coluna de caminho da pasta para incluir apenas arquivos de uma subpasta específica).
Em seguida, combine arquivos selecionando a coluna que contém os binários na coluna
Conteúdo e selecionando:

O comando Combinar arquivos no grupo Combinar na guia Página Inicial.

O ícone Combinar arquivos no cabeçalho da coluna que contém valores [Binários].

Caixa de diálogo Combinar arquivos


Depois de selecionar o comando Combinar ou Combinar arquivos, a caixa de diálogo
Combinar arquivos será aberta e ocorrerá o seguinte:

1. O Power Query analisa o arquivo de exemplo (por padrão, o primeiro arquivo na


lista) e determina o conector de arquivo correto a ser usado para abrir esse
arquivo.
2. A caixa de diálogo fornece a experiência do conector de arquivo exatamente como
se você se conectasse diretamente a esse arquivo de exemplo.

Se você quiser usar um arquivo diferente para o arquivo de exemplo, poderá


selecioná-lo no menu suspenso de Arquivo de exemplo.
Opcional: você pode selecionar Ignorar arquivos com erros para excluir da
saída final todos os arquivos com erros.

Na imagem a seguir, o Power Query detectou que o primeiro arquivo tem uma extensão
de nome de arquivo .csv, portanto, ele usa o conector de Texto/CSV para interpretar o
arquivo.
Saída de arquivos combinados
Depois que o processo Combinar arquivos for concluído, o Power Query executará
automaticamente as seguintes ações:

1. Cria uma consulta de exemplo que executa todas as etapas de extração


necessárias em um único arquivo. Usa o arquivo que foi selecionado como o
arquivo de exemplo na caixa de diálogo Combinar arquivos.

Esta consulta de exemplo tem o nome Transformar arquivo de exemplo no painel


Consultas.

2. Cria uma consulta de função que parametriza a entrada de arquivo/binário para a


consulta de exemplo. A consulta de exemplo e a consulta de função são
vinculadas, para que as alterações à consulta de exemplo sejam refletidas na
consulta de função.

Essas consultas são listadas no grupo Consultas auxiliares.

3. Aplica a consulta de função à consulta original com binários de entrada (por


exemplo, a consulta de pasta), para que ela aplique a consulta de função para
entradas de binário em cada linha e expanda a extração de dados resultante como
colunas de nível superior.

4. Cria um novo grupo com o prefixo Transformar arquivo de e a consulta inicial


como o sufixo e organiza todos os componentes usados para criar esses arquivos
combinados nesse grupo.
Você pode combinar todos os arquivos de determinada pasta com facilidade, desde que
eles tenham o mesmo tipo de arquivo e estrutura (incluindo as mesmas colunas).
Também é possível aplicar etapas adicionais de transformação ou extração modificando
a consulta de exemplo criada automaticamente, sem precisar se preocupar em modificar
ou criar outras etapas da consulta de função.

7 Observação

Você pode modificar as etapas dentro da consulta de exemplo para alterar a função
aplicada a cada binário na consulta. A consulta de exemplo está vinculada à função,
portanto, todas as alterações feitas na consulta de exemplo serão refletidas na
consulta de função.

Se qualquer uma das alterações afetar nomes de coluna ou tipos de dados de


coluna, verifique a última etapa da consulta de saída. Adicionar uma etapa Alterar
tipo de coluna pode introduzir um erro de nível de etapa que impede que você
visualize sua tabela. Mais informações: Lidar com erros

Confira também
Combinar arquivos CSV
Combinar arquivos CSV
Artigo • 23/03/2023

No Power Query, você pode combinar vários arquivos de uma determinada fonte de
dados. Este artigo descreve como a experiência funciona quando os arquivos que você
deseja combinar são arquivos CSV. Mais informações: Visão geral da combinação de
arquivos

 Dica

Você pode acompanhar este exemplo baixando os arquivos de amostra usados


neste artigo neste link de download . Você pode colocar esses arquivos na fonte
de dados de sua escolha, como uma pasta local, pasta do SharePoint,
armazenamento de Blobs do Azure, Azure Data Lake Storage ou outra fonte de
dados que forneça a exibição do sistema de arquivos.

Para simplificar, o exemplo neste artigo usa o conector Pasta. Mais informações: Pasta

Sobre os arquivos de exemplo usados


Para combinar arquivos, é imperativo que todos eles tenham a mesma estrutura e a
mesma extensão. Todos os arquivos usados neste exemplo têm a mesma estrutura e
extensão (.csv).

Há 12 arquivos CSV, um para cada mês do ano civil de 2019. A imagem a seguir mostra
as primeiras 15 linhas do arquivo para o mês de janeiro.
O número de linhas varia de arquivo para arquivo, mas todos os arquivos têm uma
seção de cabeçalho nas quatro primeiras linhas. Eles têm cabeçalhos de coluna na
quinta linha, e os dados da tabela começam na sexta linha e continuam em todas as
linhas subsequentes.

A meta é combinar todos os 12 arquivos em uma única tabela. Essa tabela combinada
contém a linha de cabeçalho na parte superior da tabela e inclui o nome de origem,
data, país, unidades e dados de receita para o ano inteiro em colunas separadas após a
linha de cabeçalho.
Visualização de tabela
Ao se conectar à pasta que hospeda os arquivos que você deseja combinar, neste
exemplo, o nome dessa pasta é Arquivos CSV, aparece caixa de diálogo a visualização
da tabela, que exibe o caminho da pasta no canto superior esquerdo. A visualização de
dados mostra a exibição do sistema de arquivos.

Neste exemplo, selecione Combinar.

7 Observação
Em uma situação diferente, você pode selecionar Transformar dados para filtrar e
transformar seus dados antes de combinar os arquivos. Selecionar Combinar só é
recomendado quando você tem certeza de que a pasta contém apenas os arquivos
que você deseja combinar.

Caixa de diálogo Combinar arquivos


Depois de selecionar Combinar na visualização da tabela, a caixa de diálogo Combinar
arquivos será exibida.

7 Observação

O Power Query detecta automaticamente qual conector usar com base no primeiro
arquivo encontrado na lista. Para saber mais sobre o conector CSV, acesse
Texto/CSV.

Para este exemplo, deixe todas as configurações padrão (exemplo de arquivo definido
como Primeiro arquivo e os valores padrão para a origem do arquivo, delimitador e
detecção de tipo de dados).
Agora selecione Transformar dados no canto inferior direito para ir para a consulta de
saída.

Consulta de saída
Depois de selecionar Transformar dados na caixa de diálogo Combinar arquivos, você
será levado de volta para o Editor do Power Query na consulta que você criou
inicialmente a partir da conexão com a pasta local. A consulta de saída agora contém o
nome do arquivo de origem na coluna mais à esquerda, juntamente com os dados de
cada um dos arquivos de origem nas colunas restantes.

No entanto, os dados não estão na forma correta. Você precisa remover as quatro
principais linhas de cada arquivo antes de combiná-las. Para fazer essa alteração em
cada arquivo antes de combiná-los, selecione a consulta arquivo de exemplo de
transformação no painel Consultas no lado esquerdo da tela.

Modificar a consulta do arquivo de exemplo de


transformação
Nesta consulta de arquivo de exemplo de transformação, os valores na coluna Data
indicam que os dados são para o mês de abril, que tem o formato AAAA-MM-DD (ano-
mês-dia). April 2019.csv é o primeiro arquivo exibido na visualização da tabela.
Agora você precisa aplicar um novo conjunto de transformações para limpar os dados.
Cada transformação será convertida automaticamente em uma função dentro do grupo
de consultas auxiliares que será aplicada a cada arquivo na pasta antes de combinar os
dados de cada arquivo.

As transformações que precisam ser adicionadas à consulta de arquivo de exemplo de


transformação são:

1. Remova as linhas superiores: para executar essa operação, selecione o menu ícone
de tabela no canto superior esquerdo da tabela e selecione Remover linhas
superiores.
Na caixa de diálogo Remover Linhas Superiores, digite 4 e, em seguida, selecione
OK.
Depois de selecionar OK, sua tabela não terá mais as quatro primeiras linhas.

2. Use a primeira linha como cabeçalhos: selecione o ícone de tabela novamente e


selecione Usar a primeira linha como cabeçalhos.

O resultado dessa operação promoverá a primeira linha da tabela para os novos


cabeçalhos de coluna.
Depois que essa operação for concluída, Power Query por padrão tentará detectar
automaticamente os tipos de dados das colunas e adicionar uma nova etapa de tipo de
coluna alterada.

Revisão da consulta de saída


Ao voltar para a consulta arquivos CSV , você observará que a última etapa está lhe
dando um erro que diz "A coluna 'Column1' da tabela não foi encontrada". O motivo
por trás desse erro é que o estado anterior da consulta estava fazendo uma operação
em uma coluna chamada Column1. Mas devido às alterações feitas na consulta de
arquivo de exemplo de transformação, essa coluna não existe mais. Mais informações:
Lidar com erros no Power Query
Você pode remover esta última etapa da consulta do painel Etapas aplicadas
selecionando o ícone de exclusão X no lado esquerdo do nome da etapa. Depois de
excluir essa etapa, sua consulta mostrará os resultados corretos.

No entanto, observe que nenhuma das colunas derivadas dos arquivos (Data, País,
Unidades, Receita) tem um tipo de dados específico atribuído a eles. Atribua o tipo de
dados correto a cada coluna usando a tabela a seguir.
Nome da coluna Tipo de dados

Data Data

País Texto

Unidades Número inteiro

Receita Moeda

Depois de definir os tipos de dados para cada coluna, você estará pronto para carregar
a tabela.

7 Observação

Para saber como definir ou alterar tipos de dados de coluna, acesse Tipos de
dados.

Verificação
Para validar se todos os arquivos foram combinados, você pode selecionar o ícone de
filtro no título da coluna Source.Name, que exibirá todos os nomes dos arquivos que
foram combinados. Se você receber o aviso "A lista pode estar incompleta", selecione
Carregar mais na parte inferior do menu para exibir mais valores disponíveis na coluna.
Depois de selecionar Carregar mais, todos os nomes de arquivo disponíveis serão
exibidos.
Visão geral das consultas de mesclagem
Artigo • 27/05/2023

Uma operação de consultas de mesclagem une duas tabelas existentes com base em
valores correspondentes de uma ou várias colunas. Você pode optar por usar diferentes
tipos de junções, dependendo da saída desejada.

Mesclar consultas
O comando Mesclar consultas está na guia Página Inicial, no grupo Combinar. No
menu suspenso, há duas opções:

Mesclar consultas: exibe a caixa de diálogo Mesclar, com a consulta selecionada


como a tabela esquerda da operação de mesclagem.
Mesclar consultas como novas: exibe a caixa de diálogo Mesclar, sem tabelas pré-
selecionadas para a operação de mesclagem.

Identificar tabelas para mesclagem


A operação de mesclagem requer duas tabelas:

Tabela esquerda para mesclagem: a primeira seleção, de cima para baixo na tela.
Tabela direita para mesclagem: a segunda seleção, de cima para baixo na tela.
7 Observação

A posição (esquerda ou à direita) das tabelas torna-se muito importante quando


você seleciona o tipo de junção correto a ser usado.

Selecionar pares de colunas


Depois de selecionar as tabelas esquerda e direita, selecione as colunas que conduzem a
junção entre as tabelas. No exemplo abaixo, há duas tabelas:

Vendas: o campo ID do País é uma chave ou um identificador da tabela Países.


Países: essa tabela contém a ID do País e o nome do país.
A meta é unir essas tabelas usando a coluna ID do País de ambas as tabelas, para que
você selecione a coluna ID do País de cada tabela. Depois de fazer as seleções, uma
mensagem será exibida com um número estimado de correspondências na parte
inferior da caixa de diálogo.

7 Observação

Embora este exemplo mostre o mesmo cabeçalho de coluna para ambas as tabelas,
isso não é um requisito para a operação de mesclagem. Os cabeçalhos de coluna
não precisam corresponder entre tabelas. No entanto, é importante observar que
as colunas devem ser do mesmo tipo de dados; caso contrário, a operação de
mesclagem talvez não produza resultados corretos.
Você também pode selecionar várias colunas para executar a junção selecionando Ctrl
ao especificar as colunas. Quando você faz isso, a ordem na qual as colunas foram
selecionadas é exibida em números pequenos ao lado dos títulos de coluna, começando
com 1.

Para este exemplo, você tem as tabelas Vendas e Países. Cada uma das tabelas tem as
colunas ID do País e ID do Estado, que você precisa emparelhar para a junção entre as
duas colunas.

Primeiro, selecione a coluna ID do País na tabela Vendas, Ctrl e a coluna ID do Estado.


(Isso mostrará os números pequenos nos títulos da coluna.) Em seguida, execute as
mesmas seleções na tabela Países. A imagem a seguir mostra o resultado da seleção
dessas colunas.
Usar a sugestão de par de colunas
Ao selecionar a tabela esquerda e direita na caixa de diálogo Mesclar, você pode marcar
o ícone de lâmpada no canto superior direito da caixa de diálogo para ver se há
sugestões quando se trata de mapeamento de par de colunas entre ambas as tabelas.

Pode haver muitas sugestões em vigor, mas, para esse cenário, há apenas uma sugestão
do recurso, em que ele mapeia a coluna CountryID da tabela Sales para a coluna
CountryID da tabela Countries. Você pode selecioná-lo e o mapeamento de par de
colunas será aplicado automaticamente à caixa de diálogo.

7 Observação

Somente o mapeamento de par de colunas é sugerido. Outras opções nessa caixa


de diálogo, como o tipo de junção ou a configuração de correspondência difusa,
estão fora do escopo dessa sugestão.

Expandir ou agregar a nova coluna de tabela mesclada


Depois de selecionar OK na caixa de diálogo Mesclar, a tabela base da consulta terá
todas as colunas da tabela esquerda. Além disso, uma nova coluna será adicionada com
o mesmo nome da tabela direita. Esta coluna contém os valores correspondentes à
tabela direita em uma base linha por linha.

A partir daqui, você pode optar por expandir ou agregar os campos desta nova coluna
de tabela, que serão os campos da tabela direita.

7 Observação

Atualmente, a experiência do Power Query Online fornece apenas a operação de


expansão em sua interface. A opção de agregação será adicionada ainda este ano.

Tipos de junção
Um tipo de junção especifica como uma operação de mesclagem será executada. A
tabela a seguir descreve os tipos de junção disponíveis no Power Query.

Tipo de ícone Descrição


junção

Esquerda Todas as linhas da tabela esquerda, linhas correspondentes da


externa tabela direita

Direita externa Todas as linhas da tabela direita, linhas correspondentes da


tabela esquerda
Tipo de ícone Descrição
junção

Completa Todas as linhas das duas tabelas


externa

Interna Somente linhas correspondentes das duas tabelas

Anti esquerda Somente linhas da tabela esquerda

Anti direita Somente linhas da tabela direita

Correspondência difusa
Use a mesclagem difusa para aplicar algoritmos de correspondência difusa ao comparar
colunas, para tentar encontrar correspondências entre as tabelas que você está
mesclando. Para habilitar esse recurso, marque a caixa de seleção Usar correspondência
difusa para executar a mesclagem na caixa de diálogo Mesclar. Expanda Opções de
correspondência difusa para exibir todas as configurações disponíveis.

7 Observação

A correspondência difusa só é compatível com operações de mesclagem em


colunas de texto.
Junção externa esquerda
Artigo • 05/10/2023

Um dos tipos de junção disponíveis na caixa de diálogo Mesclar no Power Query é a


junção externa esquerda que mantém todas as linhas da tabela esquerda e traz também
todas as linhas correspondentes da tabela direita. Para mais informações, consulte:
Visão geral das operações de mesclar

Este artigo usa dados de exemplo para mostrar como fazer uma operação de
mesclagem com a junção externa esquerda. As tabelas de origem de exemplo para este
exemplo são:

Sales: esta tabela inclui os campos Date, CountryID e Units. CountryID é um valor
numérico inteiro que representa o identificador exclusivo da tabela Countries.

Countries: esta é uma tabela de referência com os campos id e Country. O campo


ID representa o identificador exclusivo de cada registro.
Neste exemplo, você mesclará ambas as tabelas, com a tabela Sales sendo a tabela à
esquerda e a tabela Countries, à direita. A junção será feita entre as colunas a seguir.

Campo da tabela Sales Campo da tabela Countries

CountryID id

O objetivo é criar uma tabela como a seguir, em que o nome do país aparece como uma
nova coluna Country na tabela Sales, desde que a CountryID exista na tabela Countries.
Se não houver correspondências entre as tabelas à esquerda e à direita, o valor nulo
será o resultado da mesclagem dessa linha. Na imagem a seguir, este é o caso do
CountryID 4, que foi trazido da tabela Sales.

Para fazer uma junção externa esquerda

1. Selecione a consulta Sales e selecione Mesclar consultas.


2. Na caixa de diálogo Mesclar, em Tabela à direita para mesclar, selecione
Countries.
3. Na tabela Sales, selecione a coluna CountryID.
4. Na tabela Countries, selecione a coluna id.
5. Na seção Tipo de junção, selecione Externa esquerda.
6. Selecione OK.
Na coluna Countries recém-criada, expanda o campo Country. Não marque a caixa de
seleção Usar nome da coluna original como prefixo.
Depois de executar essa operação, você terá criado uma tabela semelhante à imagem a
seguir.
Junção externa direita
Artigo • 05/10/2023

Um dos tipos de junção disponíveis na caixa de diálogo Mesclar no Power Query é a


junção externa direita que mantém todas as linhas da tabela direita e traz também todas
as linhas correspondentes da tabela esquerda. Para mais informações, consulte: Visão
geral das operações de mesclar

Este artigo usa dados de exemplo para mostrar como fazer uma operação de
mesclagem com a junção externa direita. As tabelas de origem de exemplo para este
exemplo são:

Sales: esta tabela inclui os campos Date, CountryID e Units. CountryID é um valor
numérico inteiro que representa o identificador exclusivo da tabelaCountries.

Countries: esta é uma tabela de referência com os campos id e Country. O campo


ID representa o identificador exclusivo de cada registro.
Neste exemplo, você mesclará ambas as tabelas, com a tabela Sales sendo a tabela à
esquerda e a tabela Countries, à direita. A junção será feita entre as colunas a seguir.

Campo da tabela Sales Campo da tabela Countries

CountryID id

O objetivo é criar uma tabela como a seguinte, onde o nome do país/região aparece
como uma nova coluna País na tabela Vendas. Devido à forma como a junção externa
direita funciona, todas as linhas da tabela direita serão trazidas, mas somente as linhas
correspondentes da tabela esquerda serão mantidas.

Para fazer uma junção externa à direita

1. Selecione a consulta Sales e selecione Mesclar consultas.


2. Na caixa de diálogo Mesclar, em Tabela à direita para mesclar, selecione
Countries.
3. Na tabela Sales, selecione a coluna CountryID.
4. Na tabela Countries, selecione a coluna id.
5. Na seçãoJoin Kind selecione Right Outer.
6. Selecione OK.
Na coluna Countries recém-criada, expanda o campo Country. Não marque a caixa de
seleção Usar nome da coluna original como prefixo.
Depois de executar essa operação, você terá criado uma tabela semelhante à imagem a
seguir.
Junção externa completa
Artigo • 05/10/2023

Um dos tipos de junção disponíveis na caixa de diálogo Mesclar no Power Query é uma
junção interna total, que traz todas as linhas das tabelas à esquerda e à direita. Para
mais informações, consulte: Visão geral das operações de mesclar

Este artigo usa dados de exemplo para mostrar como fazer uma operação de
mesclagem com a junção externa completa. As tabelas de origem de exemplo para este
exemplo são:

Sales: esta tabela inclui os campos Date, CountryID e Units. CountryID é um valor
numérico inteiro que representa o identificador exclusivo da tabela Countries.

Countries: esta é uma tabela de referência com os campos id e Country. O campo


ID representa o identificador exclusivo de cada registro.
Neste exemplo, você mesclará ambas as tabelas, com a tabela Sales sendo a tabela à
esquerda e a tabela Countries, à direita. A junção será feita entre as colunas a seguir.

Campo da tabela Sales Campo da tabela Countries

CountryID id

A meta é criar uma tabela como a seguinte, em que o nome do país aparece como uma
nova coluna Country na tabela Sales. Devido à forma como a junção externa completa
funciona, todas as linhas das tabelas esquerda e direita serão trazidas,
independentemente de elas aparecerem apenas em uma das tabelas.

Para executar uma junção externa completa

1. Selecione a consulta Sales e selecione Mesclar consultas.


2. Na caixa de diálogo Mesclar, em Tabela à direita para mesclar, selecione
Countries.
3. Na tabela Sales, selecione a coluna CountryID.
4. Na tabela Countries, selecione a coluna id.
5. Na seção Tipo de junção, selecione Externa completa.
6. Selecione OK
7 Observação

Você pode mesclar em mais de uma coluna selecionando e mantendo pressionada


a tecla Ctrl e, em seguida, selecionando as colunas.

 Dica

Analise com atenção a mensagem na parte inferior da caixa de diálogo que diz: "A
seleção corresponde a 4 de 4 linhas da primeira tabela e a 3 de 4 linhas da segunda
tabela". Essa mensagem é crucial para entender o resultado obtido nessa operação.
Na tabela Countries, existe o Country Espanha com uma id de 4, mas não há registros
para CountryID 4 na tabela Sales. É por isso que apenas três das quatro linhas da tabela
direita encontraram uma correspondência. Todas as linhas da tabela direita que não
tinham linhas correspondentes da tabela esquerda serão agrupadas e mostradas em
uma nova linha na tabela de saída sem valores para os campos da tabela esquerda.

Na coluna Países recém-criada após a operação de mesclagem, expanda o campo País.


Não marque a caixa de seleção Usar nome da coluna original como prefixo.

Depois de executar essa operação, você terá criado uma tabela semelhante à imagem a
seguir.
Junção interna
Artigo • 23/03/2023

Um dos tipos de junção disponíveis na caixa de diálogo Mesclar no Power Query é uma
junção interna, que traz apenas as linhas correspondentes das tabelas à esquerda e à
direita. Para mais informações: Visão geral das operações de mesclar

Este artigo usa dados de exemplo para mostrar como fazer uma operação de
mesclagem com a junção interna. As tabelas de origem de exemplo para este exemplo
são:

Sales: esta tabela inclui os campos Date, CountryID e Units. CountryID é um valor
numérico inteiro que representa o identificador exclusivo da tabela Countries.

Countries: esta é uma tabela de referência com os campos id e Country. O campo


id representa o identificador exclusivo de cada registro.
Neste exemplo, você mesclará ambas as tabelas, com a tabela Sales como a tabela à
esquerda e a tabela Countries como à direita. A junção será feita entre as colunas a
seguir.

Campo da tabela Sales Campo da tabela Countries

CountryID id

A meta é criar uma tabela como a seguinte, em que o nome do país aparece como uma
nova coluna Country na tabela Sales. Devido ao funcionamento da junção interna,
somente as linhas correspondentes das tabelas à esquerda e à direita serão trazidas.

Para executar uma junção interna

1. Selecione a consulta Sales e selecione Mesclar consultas.


2. Na caixa de diálogo Mesclar, na Tabela à direita para mesclar, selecione
Countries.
3. Na tabela Sales, selecione a coluna CountryID.
4. Na tabela Countries, selecione a coluna id.
5. Na seção Tipo de junção, selecione Interna.
6. Selecione OK.
 Dica

Analise com atenção a mensagem na parte inferior da caixa de diálogo que diz: "A
seleção corresponde a 1 de 4 linhas da primeira tabela e a 1 de 2 linhas da segunda
tabela". Essa mensagem é crucial para entender o resultado obtido nessa operação.

Na tabela Sales, você tem um CountryID de 1 e 2, mas nenhum desses valores é


encontrado na tabela Countries. É por isso que a correspondência encontrou apenas
uma das quatro linhas na tabela à esquerda (primeira).

Na tabela Countries, existe o Country Espanha com a id 4, mas não há registros para
CountryID 4 na tabela Sales. É por isso que apenas uma das duas linhas da tabela à
direita (segunda) encontrou uma correspondência.
Na coluna Countries recém-criada, expanda o campo Country. Não marque a seleção
Usar nome da coluna original como prefixo.

Depois de executar essa operação, você criará uma tabela semelhante à imagem a
seguir.
Antijunção esquerda
Artigo • 05/10/2023

Um dos tipos disponíveis de junção na caixa de diálogo Mesclar no Power Query é a


antijunção esquerda que traz apenas as linhas da tabela à esquerda que não nenhuma
linha correspondente na tabela à direita. Para mais informações, consulte: Visão geral
das operações de mesclar

Este artigo usa dados de exemplo para mostrar como fazer uma operação de
mesclagem com a junção anti-junção esquerda. As tabelas de origem de exemplo para
este exemplo são:

Sales: esta tabela inclui os campos Date, CountryID e Units. CountryID é um valor
numérico inteiro que representa o identificador exclusivo da tabela Countries.

Countries: esta é uma tabela de referência com os campos id e Country. O campo


ID representa o identificador exclusivo de cada registro.
Neste exemplo, você mesclará ambas as tabelas, com a tabela Sales sendo a tabela à
esquerda e a tabela Countries, à direita. A junção será feita entre as colunas a seguir.

Campo da tabela Sales Campo da tabela Countries

CountryID id

O objetivo é criar uma tabela como a seguinte, em que somente as linhas da tabela
esquerda que não correspondem a nenhuma linha da tabela direita serão mantidas.

Para fazer uma junção anti-junção à esquerda

1. Selecione a consulta Sales e selecione Mesclar consultas.


2. Na caixa de diálogo Mesclar, em Tabela à direita para mesclar, selecione
Countries.
3. Na tabela Sales, selecione a coluna CountryID.
4. Na tabela Countries, selecione a coluna id.
5. Na seção Tipo de junção, selecione Anti esquerda.
6. Selecione OK.
 Dica

Analise com atenção a mensagem na parte inferior da caixa de diálogo que diz: "A
seleção exclui 1 de 4 linhas da primeira tabela". Essa mensagem é crucial para
entender o resultado obtido nessa operação.

Na tabela Sales, você tem um CountryID de 1 e 2, mas nenhum desses valores é


encontrado na tabela Countries. É por isso que a correspondência encontrou apenas
uma das quatro linhas na tabela à esquerda (primeira).

Na tabela Countries, existe o Country Espanha com uma id de 4, mas não há registros
para CountryID 4 na tabela Sales. É por isso que apenas uma das duas linhas da tabela
à direita (segunda) encontrou uma correspondência.
Na coluna Countries recém-criada, expanda o campo Country. Não marque a caixa de
seleção Usar nome da coluna original como prefixo.

Depois de fazer essa operação, você criará uma tabela semelhante à imagem a seguir. O
campo Country recém-expandido não tem valores. Isso ocorre porque a antijunção
esquerda não traz nenhum valor da tabela à direita, apenas mantém as linhas da tabela
à esquerda.
Antijunção direita
Artigo • 23/03/2023

Um dos tipos disponíveis de junção na caixa de diálogo Mesclar no Power Query é a


antijunção direita que traz apenas as linhas da tabela à direita que não nenhuma linha
correspondente na tabela à esquerda. Para mais informações, consulte: Visão geral das
operações de mesclar

Este artigo usa dados de exemplo para mostrar como fazer uma operação de mesclar
com a antijunção direita. Neste exemplo, as amostras das tabelas de origem são:

Sales: esta tabela inclui os campos Date, CountryID e Units. CountryID é um valor
numérico inteiro que representa o identificador exclusivo da tabela Countries.

Countries: esta é uma tabela de referência com os campos id e Country. O campo


id representa o identificador exclusivo de cada registro.
Neste exemplo, você mesclará ambas as tabelas, com a tabela Sales como a tabela à
esquerda e a tabela Countries como à direita. A junção será feita entre as colunas a
seguir.

Campo da tabela Sales Campo da tabela Countries

CountryID id

O objetivo é criar uma tabela como a seguinte, em que somente as linhas da tabela
direita que não correspondem a nenhuma linha da tabela esquerda serão mantidas.
Sendo um caso de uso comum, você pode encontrar todas as linhas que estão
disponíveis na tabela à direita, mas que não são encontradas na tabela à esquerda.

Para fazer uma antijunção direita

1. Selecione a consulta Sales e Mesclar consultas.


2. Na caixa de diálogo Mesclar, na Tabela à direita para mesclar, selecione
Countries.
3. Na tabela Sales, selecione a coluna CountryID.
4. Na tabela Countries, selecione a coluna id.
5. Na seção Tipo de junção, selecione anti direita.
6. Selecione OK.
 Dica

Analise com atenção a mensagem na parte inferior da caixa de diálogo que diz: "A
seleção exclui 1 de 2 linhas da segunda tabela". Essa mensagem é crucial para
entender o resultado obtido nessa operação.

Na tabela Countries, existe o Country Espanha com uma id de 4, mas não há registros
para CountryID 4 na tabela Sales. É por essa razão que apenas uma das duas linhas da
tabela à direita (segunda) encontrou uma correspondência. Devido à forma como a
antijunção direita funciona, você nunca verá nenhuma linha da tabela à esquerda
(primeira) no resultado dessa operação.
Na coluna Countries recém-criada, expanda o campo Country. Não marque a seleção
Usar nome da coluna original como prefixo.

Depois de executar essa operação, você terá criado uma tabela semelhante à imagem a
seguir. O campo Country recém-expandido não tem valores. Isso ocorre porque a
antijunção direita não traz nenhum valor da tabela à esquerda, apenas mantém as linhas
da tabela à direita.
Mesclagem difusa
Artigo • 23/03/2023

Mesclagem difusa é um recurso de preparação de dados inteligentes que você pode


usar para aplicar algoritmos de correspondência difusa ao comparar colunas, para tentar
encontrar correspondências entre as tabelas que estão sendo mescladas.

Para habilitar a correspondência difusa na parte inferior da caixa de diálogo Mesclagem,


selecione o botão de opção Usar correspondência difusa para executar a mesclagem.
Mais informações: Visão geral das operações de mesclagem

7 Observação

A correspondência difusa só é compatível com operações de mesclagem em


colunas de texto. O Power Query usa o algoritmo de similaridade Jaccard para
medir a semelhança entre pares de instâncias.

Cenário de exemplo
Um caso de uso comum para correspondência difusa é com campos de texto de forma
livre, como em uma pesquisa. Neste artigo, a tabela de exemplo foi tirada diretamente
de uma pesquisa online enviada a um grupo com apenas uma pergunta: Qual é a sua
fruta favorita?

Os resultados dessa pesquisa são mostrados na imagem a seguir.


Os nove registros refletem os envios da pesquisa. O problema com os envios de
pesquisa é que alguns têm erros de digitação, estão no plural, no singular, com letras
maiúsculas ou minúsculas.

Para ajudar a padronizar esses valores, neste exemplo, você tem uma tabela de
referência Frutas.

7 Observação
Para simplificar, essa tabela de referência Frutas inclui apenas o nome das frutas
que serão necessárias nesse cenário. Sua tabela de referência pode ter quantas
linhas você precisar.

O objetivo é criar uma tabela como a seguinte, em que você tenha padronizado todos
esses valores para que possa fazer mais análises.

Operação de mesclagem difusa


Para fazer a mesclagem difusa, comece fazendo uma mesclagem. Nesse caso, você
usará uma junção externa esquerda, onde a tabela esquerda é a da pesquisa e a tabela
direita é a tabela de referência Frutas. Na parte inferior da caixa de diálogo, marque a
caixa de seleção Usar correspondência difusa para executar a mesclagem.
Depois de selecionar OK, você poderá ver uma nova coluna em sua tabela devido a essa
operação de mesclagem. Se você expandi-la, vai observar que há uma linha que sem
valor. Isso é exatamente o que a mensagem da caixa de diálogo na imagem anterior
informava quando dizia "A seleção corresponde a 8 de 9 linhas da primeira tabela".
Opções de correspondência difusa
Você pode modificar as Opções de correspondência difusa para ajustar como a
correspondência aproximada deve ser feita. Primeiro, selecione o comando Mesclar
consultas e, em seguida, na caixa de diálogo Mesclar, expanda Opções de
correspondência difusa.
As opções disponíveis são:

Limite de similaridade (opcional): um valor entre 0,00 e 1,00 que permite


combinar registros acima de uma determinada pontuação de similaridade. Um
limite de 1,00 é o mesmo que especificar um critério de correspondência exato.
Por exemplo, Uvas corresponderá a Uas (v faltando) somente se o limite estiver
definido como menos de 0,90. Por padrão, esse valor está definido como 0,80.
Ignorar maiúsculas e minúsculas: permite registros correspondentes
independentemente do uso de maiúsculas e minúsculas no texto.
Combinar partes do texto: permite combinar partes do texto para localizar
correspondências. Por exemplo, Micro soft corresponderá a Microsoft se essa
opção estiver habilitada.
Mostrar pontuações de similaridade: mostra pontuações de similaridade entre a
entrada e os valores de correspondência após a correspondência difusa.
Número de correspondências (opcional): especifica o número máximo de linhas
correspondentes que podem ser retornadas para cada linha de entrada.
Tabela de transformação (opcional): permite combinar registros com base nos
mapeamentos de valor personalizados. Por exemplo, Uvas corresponde a Passas
caso uma tabela de transformação seja fornecida em que a coluna De contém
Uvas e a coluna Para contém Passas.

Tabela de transformação
Para o exemplo deste artigo, você pode usar uma tabela de transformação para mapear
o valor que tem um par ausente. Esse valor é maca, que precisa ser mapeado para
Maçã. Sua tabela de transformação tem duas colunas:

De contém os valores a serem encontrados.


Para contém os valores que serão usados para substituir os valores encontrados
com a coluna De.

Neste artigo, a tabela de transformação terá a seguinte aparência:

De Para

maca Apple

Você pode voltar para a caixa de diálogo Mesclar e, em Opções de correspondência


difusa em Número de correspondências, insira 1. Habilite a opção Mostrar pontuações
de similaridade e, em seguida, na Tabela de transformação, selecione Transformar
tabela no menu suspenso.
Depois de selecionar OK, você pode ir para a etapa de mesclagem. Ao expandir a coluna
com valores de tabela, você observará que, além do campo Fruta, também verá o
campo Pontuação de similaridade. Selecione ambos e expanda-os sem adicionar um
prefixo.
Depois de você expandir esses dois campos, eles serão adicionados à sua tabela.
Observe os valores obtidos para as pontuações de similaridade de cada valor. Essas
pontuações podem ajudá-lo com transformações adicionais, se necessário, para
determinar se você deve reduzir ou aumentar seu limite de similaridade.

Neste exemplo, a Pontuação similaridade serve apenas como informações adicionais e


não é necessária na saída dessa consulta, portanto, você pode removê-la. Observe como
o exemplo começou com nove valores distintos, mas, após a mesclagem difusa, há
apenas quatro valores distintos.
União cruzada
Artigo • 23/03/2023

A junção cruzada é um tipo de junção que retorna o produto cartesiano das linhas das
tabelas na junção. Em outras palavras, ela combina cada linha da primeira tabela com
cada linha da segunda tabela.

Este artigo demonstra, com um exemplo prático, como fazer uma junção cruzada no
Power Query.

Exemplo de tabelas de entrada e saída


Neste exemplo, as amostras de tabelas de origem são:

Product: tabela com todos os produtos genéricos que você vende.

Colors: tabela com todas as variações do produto, como cores, que se pode ter no
estoque.

O objetivo é executar uma operação de junção cruzada com essas duas tabelas para
criar uma lista de todos os produtos exclusivos que se pode ter no estoque, conforme
mostrado na tabela a seguir. Essa operação é necessária porque a tabela Product
contém apenas o nome genérico do produto e não fornece o nível de detalhes
necessário para ver quais variações de produto (como cor) existem.
Executar uma junção cruzada
Para fazer uma operação de junção cruzada no Power Query, primeiro acesse a tabela
Product. Na guia Adicionar coluna da faixa de opções, selecione Personalizar coluna.
Para mais informações, consulte: Adicionar uma coluna personalizada

Na caixa de diálogo Personalizar coluna, insira um nome desejado na caixa Novo nome
de coluna e insira Colors na caixa Fórmula da coluna personalizada.
) Importante

Se o nome da consulta tiver espaços, como Cores do produto, o texto que você
deve inserir na seção Fórmula da coluna personalizada precisará seguir a sintaxe
#"Query name" . Para Cores do Produto, você precisa inserir #"Product Colors" .

É possível verificar o nome das consultas no painel Configurações de consulta no


lado direito da tela ou no painel Consultas no lado esquerdo.

Depois de selecionar OK na caixa de diálogo Personalizar coluna, uma nova coluna será
adicionada à tabela. No novo título da coluna, selecione Expandir para expandir o
conteúdo dessa coluna recém-criada e selecione OK.
Depois de selecionar OK, você atingirá o objetivo de criar uma tabela com todas as
combinações possíveis de Product e Colors.
Dividir coluna por delimitador
Artigo • 23/03/2023

No Power Query, é possível dividir uma coluna usando métodos diferentes. Nesse caso,
as colunas selecionadas podem ser divididas por um delimitador.

Onde encontrar Dividir colunas > Por


delimitador
A opção Dividir colunas: Por delimitador pode ser encontrada em três locais:

Guia Página Inicial – no menu suspenso Dividir coluna, dentro do grupo


Transformar.

Guia Transformar – no menu suspenso Dividir coluna, dentro do grupo Coluna de


texto.

Clique com o botão direito do mouse em uma coluna - dentro da opção Dividir
coluna.
Dividir colunas por delimitador em colunas
Neste exemplo, a tabela inicial será a mostrada na imagem abaixo, com apenas a coluna
Accounts.
Esta coluna contém dois valores:

Número da conta
Nome da conta

Neste exemplo, dividiremos essa coluna em duas colunas. Os valores estão delimitados
por um espaço, o primeiro espaço da esquerda para a direita. Para fazer essa divisão,
selecione a coluna e a opção para dividir a coluna por um delimitador. Em Dividir
coluna por delimitador, aplique a seguinte configuração:

Selecionar ou inserir delimitador: espaço


Dividir no: delimitador mais à esquerda
O resultado dessa operação será uma tabela com as duas colunas, conforme esperado.

7 Observação

O Power Query dividirá a coluna em quantas colunas forem necessárias. O nome


das novas colunas conterá os mesmos nomes das colunas originais. Um sufixo que
inclui um ponto e um número que representa as seções divididas da coluna original
será acrescentado ao nome das novas colunas.

Dividir colunas por delimitador em linhas


Neste exemplo, a tabela inicial será a mostrada na imagem abaixo, com as colunas Cost
Center e Accounts.

A coluna Accounts tem valores em pares, separados por uma vírgula. Esses pares são
separados por ponto e vírgula (;). O objetivo deste exemplo é dividir essa coluna em
novas linhas usando o ponto e vírgula como delimitador.

Para fazer essa divisão, selecione a coluna Accounts. Selecione a opção para dividir a
coluna por delimitador. Em Dividir coluna por delimitador, aplique a seguinte
configuração:

Selecionar ou inserir delimitador: ponto e vírgula


Dividir no: cada ocorrência do delimitador
Dividir para gerar: linhas
O resultado dessa operação será uma tabela com o mesmo número de colunas, mas
muito mais linhas porque cada valor dentro das células agora estão em suas próprias
células.

Divisão final
A tabela ainda precisa de uma última operação de dividir coluna. Você precisa dividir a
coluna Accounts na primeira vírgula encontrada. Essa divisão criará uma coluna para o
nome da conta e outra para o número da conta.

Para fazer essa divisão, selecione a coluna Accounts e clique em Dividir coluna > por
delimitador. Dentro da janela Dividir coluna, aplique a seguinte configuração:
Selecionar ou inserir delimitador: vírgula
Dividir no: cada ocorrência do delimitador

O resultado dessa operação será uma tabela com duas colunas, conforme esperado.
Renomeie as colunas da seguinte maneira:

Nome anterior Novo nome

Accounts.1 Nome da conta

Accounts.2 Número da Conta

A tabela final será semelhante à imagem a seguir.


Dividir Coluna por número de caracteres
Artigo • 23/03/2023

No Power Query, é possível dividir uma coluna usando métodos diferentes. Nesse caso,
as colunas selecionadas podem ser divididas pelo número de caracteres.

Onde está a funcionalidade > Dividir colunas


por número de caracteres
A opção Dividir colunas > por número de caracteres está em três locais:

Guia Página Inicial – menu suspenso Dividir coluna, dentro do grupo Transformar.

Guia Transformar – menu suspenso Dividir coluna, dentro do grupo Coluna de


texto.

Clique com o botão direito do mouse em uma coluna - dentro da opção Dividir
coluna.
Dividir colunas em colunas por número de
caracteres
A tabela inicial para este exemplo será a mostrada abaixo, com apenas a coluna
Column1.

Esta coluna contém três valores:

Nome da conta—nos seis primeiros caracteres


Data – nos oito caracteres a seguir, no formato yyyymmddd
Unidades – os caracteres restantes

Neste exemplo, dividiremos essa coluna em três colunas, contendo os valores descritos
na lista acima.
Para fazer essa divisão, selecione a coluna e selecione a opção para dividir a coluna pelo
número de caracteres. Em Dividir coluna por número de caracteres, aplique a seguinte
configuração:

Número de caracteres: 6
Dividir: uma vez, o mais à esquerda possível

O resultado dessa operação será uma tabela com duas colunas. Uma com o nome da
conta e a outra contendo os valores combinados para a data e as unidades.

7 Observação

O Power Query dividirá a coluna em apenas duas colunas. O nome das novas
colunas conterá os mesmos nomes das colunas originais. Um sufixo contendo um
ponto e um número que representa a seção dividida da coluna será acrescentado
aos nomes das novas colunas.

Agora, continue fazendo a mesma operação na nova coluna Column1.2, mas com a
seguinte configuração:

Número de caracteres: 8
Dividir: uma vez, o mais à esquerda possível
O resultado dessa operação produzirá uma tabela com três colunas. Observe os novos
nomes das duas colunas na extrema direita. Column1.2.1 e Column1.2.2 foram criadas
automaticamente pela operação de divisão de coluna.

Agora, você pode alterar o nome das colunas e também definir os tipos de dados de
cada coluna da seguinte maneira:

Nome da coluna original Nome da nova coluna Tipo de dados

Column1.1 Nome da conta Texto

Column1.2.1 Data Data

Column1.2.2 Unidades Número Inteiro

Sua tabela final será semelhante à imagem a seguir.


Dividir colunas em linhas por número de
caracteres
A tabela inicial deste exemplo será a mostrada abaixo, com as colunas Group e Account.

A coluna Account pode conter vários valores na mesma célula. Cada valor tem o mesmo
comprimento em caracteres, com um total de seis caracteres. Neste exemplo,
dividiremos esses valores para que cada linha contenha seu respectivo valor.

Para fazer essa divisão, selecione a coluna Account e selecione a opção para dividir a
coluna pelo número de caracteres. Em Dividir coluna por número de caracteres,
aplique a seguinte configuração:

Número de caracteres: 6
Divisão: repetidamente
Dividir em: linhas

O resultado dessa operação produzirá uma tabela com o mesmo número de colunas,
mas muito mais linhas, pois os segmentos dentro dos valores das células originais na
coluna Account estarão divididos em várias linhas.
Dividir coluna por posições
Artigo • 23/03/2023

No Power Query, é possível dividir uma coluna usando métodos diferentes. Nesse caso,
as colunas selecionadas podem ser divididas por posições.

Onde encontrar Dividir colunas > Por posições


A opção Dividir colunas > por delimitador pode ser encontrada em três locais:

Guia Página Inicial – menu suspenso Dividir coluna, dentro do grupo Transformar.

Guia Transformar – menu suspenso Dividir coluna, dentro do grupo Coluna de


texto.

Clique com o botão direito do mouse em uma coluna - dentro da opção Dividir
coluna.
Dividir colunas por posições em colunas
A tabela inicial será a mostrada na imagem abaixo, com apenas a coluna Column1.

Esta coluna contém três valores:

Nome da conta—nos seis primeiros caracteres


Data – nos oito caracteres a seguir, no formato aaaammddd
Unidades – o restante dos caracteres

Neste exemplo, você vai dividir essa coluna nas três colunas feitas com base nos valores
na lista acima. Para fazer essa divisão, selecione a coluna e selecione a opção para
dividir a coluna por posições. Em Dividir coluna por posição, aplique a seguinte
configuração:
Posições: 0,6,14
As posições são baseadas em zero e separadas por vírgula, onde a posição zero
é o início da cadeia de caracteres.

7 Observação

Essa operação começará primeiro a criar uma coluna da posição 0 à posição 6 e,


em seguida, da posição 7 à posição 14. Haverá outra coluna caso haja valores com
um comprimento de 16 ou mais caracteres no conteúdo de visualização de dados
atual.

O resultado dessa operação lhe dará uma tabela com três colunas.

7 Observação

O Power Query dividirá a coluna em apenas duas colunas. O nome das novas
colunas conterá os mesmos nomes das colunas originais. Um sufixo criado por um
ponto e um número que representa a seção dividida da coluna será acrescentado
ao nome das novas colunas.

Agora, você pode alterar o nome das colunas e também definir os tipos de dados de
cada coluna da seguinte maneira:

Nome da coluna original Nome da nova coluna Tipo de dados


Nome da coluna original Nome da nova coluna Tipo de dados

Column1.1 Nome da conta Texto

Column1.2 Data Data

Column1.3 Unidades Número Inteiro

Sua tabela final será a que está na imagem a seguir.

Dividir colunas por posições em linhas


A tabela inicial deste exemplo será a mostrada na imagem abaixo, com as colunas
Grupo e Conta.

A coluna Conta só pode conter dois valores na mesma célula. Cada valor tem o mesmo
comprimento em caracteres, com um total de seis caracteres. Neste exemplo,
dividiremos esses valores para que cada linha contenha seu respectivo valor. Para fazer
isso, selecione a coluna Conta e selecione a opção para dividir a coluna por posições.
Em Dividir coluna por posição, aplique a seguinte configuração:

Posições: 0, 6
Dividir em: linhas
7 Observação

Essa operação começará a criar uma coluna da posição 0 para a posição 6. Haverá
outra coluna caso haja valores com um comprimento de 8 ou mais caracteres no
conteúdo de visualização de dados atual.

O resultado dessa operação lhe dará uma tabela com o mesmo número de colunas, mas
muito mais linhas porque os valores dentro das células agora estão em suas próprias
células.
Dividir colunas por letra minúscula a
letra maiúscula
Artigo • 05/10/2023

No Power Query, você pode dividir uma coluna usando métodos diferentes. Se seus
dados contiverem texto CamelCased ou um padrão semelhante, as colunas selecionadas
poderão ser divididas facilmente em cada instância da última letra minúscula até a
próxima letra maiúscula.

Onde encontrar Dividir Colunas > Por


Minúsculas a Maiúsculas
Você pode encontrar a opção Dividir Colunas: por Maiúsculas a Minúsculas em três
lugares:

Guia Página Inicial – menu suspenso Dividir coluna, dentro do grupo Transformar.

Guia Transformar – menu suspenso Dividir Coluna, dentro do grupo Coluna de


Texto.

Clique com o botão direito do mouse em uma coluna – dentro da opção Dividir
Coluna.
Dividir colunas por minúsculas a maiúsculas em
colunas
A tabela inicial deste exemplo será a mostrada na imagem abaixo, com uma coluna para
Palavra e uma coluna extra chamada Sílabas. Você só se concentrará na primeira coluna.

Esta coluna contém dois valores em cada linha:

FirstWord – A primeira metade da palavra composta.


SecondWord – A segunda metade da palavra composta.
Neste exemplo, você deseja dividir essa coluna nas duas colunas descritas na lista acima.
Selecione a coluna e escolha a opção para dividir a coluna em letras minúsculas para
maiúsculas.

Esta única coluna será dividida em várias colunas, considerando cada instância da última
letra minúscula até a próxima letra maiúscula. Nesse caso, ela é dividida em apenas duas
colunas.

Sua tabela final será semelhante à imagem a seguir.


Dividir colunas por maiúsculas e
minúsculas
Artigo • 23/03/2023

No Power Query, é possível dividir uma coluna usando métodos diferentes. Nesse caso,
as colunas selecionadas podem ser divididas por cada instância da última letra
maiúscula para a próxima letra minúscula.

Dividir colunas > por maiúsculas e minúsculas


Você pode encontrar a opção Dividir Colunas > por Maiúsculas e Minúsculas em três
lugares:

Guia Página Inicial – menu suspenso Dividir coluna, dentro do grupo Transformar.

Guia Transformar – menu suspenso Dividir coluna, dentro do grupo Coluna de


texto.

Clique com o botão direito do mouse em uma coluna – dentro da opção Dividir
coluna.
Dividir colunas por maiúsculas para minúsculas
em colunas
A tabela inicial será a mostrada na imagem abaixo, com apenas a coluna Column1.

Esta coluna contém dois valores:

FirstWord — A primeira metade de um produto que está em maiúscula.


SecondWord — A segunda metade de um produto que está em maiúscula.

Neste exemplo, você deve dividir essa coluna nas duas colunas descritas na lista acima.
Selecione a coluna e selecione a opção para dividir a coluna por maiúsculas e
minúsculas.

Essa única coluna será dividida em várias colunas, considerando cada instância da última
letra maiúscula para a próxima letra minúscula. Nesse caso, ela é dividida em apenas
duas colunas.

Sua tabela final será semelhante à imagem a seguir.


Dividir colunas de dígito a não dígito
Artigo • 05/10/2023

No Power Query, você pode dividir uma coluna usando métodos diferentes. Nesse caso,
as colunas selecionadas podem ser divididas por cada instância de um dígito seguido
por um não dígito.

Onde está a funcionalidade Dividir colunas >


Por dígito a não dígito
Você pode acessar a opção Dividir colunas por dígito a não dígito em três lugares:

Guia Página Inicial – menu suspenso Dividir coluna, dentro do grupo Transformar.

Guia Transformar – menu suspenso Dividir Coluna, dentro do grupo Coluna de


Texto.

Clique com o botão direito do mouse em uma coluna – dentro da opção Dividir
Coluna.
Dividir colunas por dígito a não dígito em
colunas
A tabela inicial neste exemplo será a mostrada na imagem abaixo, com uma coluna para
Animais de estimação e outras colunas adicionais. Este exemplo se concentrará apenas
na coluna Animais de estimação.

Esta coluna contém dois valores em cada linha:

Classificação – A classificação do animal.


AnimalType – A segunda parte da palavra é o tipo de animal.
Neste exemplo, você deseja dividir essa coluna nas duas colunas descritas na lista acima.
Selecione a coluna e, depois, selecione a opção para dividir a coluna por dígito a não
dígito.

Essa coluna única será dividida em várias colunas, concedendo à cada instância um
dígito com um não dígito. Nesse caso, ela se divide apenas em duas.

Sua tabela final será semelhante à imagem a seguir.


Dividir colunas por não dígito para
dígito
Artigo • 23/03/2023

No Power Query, você pode dividir uma coluna usando métodos diferentes. Nesse caso,
as colunas selecionadas podem ser divididas por cada instância de um não dígito
seguido por um dígito.

Onde está a funcionalidade Dividir colunas


divididas > por não dígito para dígito
Você pode acessar a opção Dividir colunas > por não dígito para dígito em três
lugares:

Guia Página Inicial – menu suspenso Dividir coluna, dentro do grupo Transformar.

Guia Transformar – menu suspenso Dividir coluna, dentro do grupo Coluna de


texto.

Clique com o botão direito do mouse em uma coluna - dentro da opção Dividir
coluna.
Dividir colunas por não dígito para dígito em
colunas
A tabela inicial neste exemplo será a mostrada na imagem abaixo, com uma coluna para
Animais de estimação e outras colunas adicionais. Neste exemplo, você se concentrará
apenas na coluna Animais de estimação.

Esta coluna contém dois valores em cada linha:

AnimalType— a primeira parte é o tipo do animal.


Number - número do animal que entrou na vida da pessoa.
Neste exemplo, você deve dividir essa coluna nas duas colunas descritas na lista acima.
Selecione a coluna e, depois, selecione a opção para dividir a coluna por não dígito para
dígito.

Essa coluna única será dividida em várias colunas, concedendo à cada instância, um
dígito seguido por um não dígito. Nesse caso, ela é dividida em apenas duas colunas.

Sua tabela final será semelhante à imagem a seguir.


O que são fluxos de dados?
Artigo • 16/06/2023

 Dica

Experimente o Dataflow Gen2 no Data Factory no Microsoft Fabric, uma solução


de análise all-in-one para empresas. O Microsoft Fabric abrange desde
movimentação de dados até ciência de dados, análise em tempo real, business
intelligence e relatórios. Saiba como iniciar uma avaliação gratuita!

Os fluxos de dados são uma tecnologia de preparação de dados de autoatendimento


baseada em nuvem. Os fluxos de dados permitem que os clientes ingiram, transformem
e carreguem dados nos ambientes do Microsoft Dataverse, nos workspaces do Power BI
ou na conta do Azure Data Lake Storage da organização. Os fluxos de dados são criados
usando o Power Query, uma experiência unificada de preparação e conectividade de
dados já oferecidos em muitos produtos da Microsoft, incluindo o Excel e o Power BI. Os
clientes podem disparar os fluxos de dados para serem executados sob demanda ou
automaticamente de acordo com um agendamento. Os dados são mantidos sempre
atualizados.

Os fluxos de dados podem ser criados em


vários produtos da Microsoft
Os fluxos de dados são oferecidos em vários produtos da Microsoft e não exigem uma
licença específica do fluxo de dados para serem criados ou executados. Os fluxos de
dados estão disponíveis no Power Apps, no Power BI e no Dynamics 365 Customer
Insights. A capacidade de criar e executar fluxos de dados está incluída em pacotes com
as licenças desses produtos. Os recursos de fluxo de dados são mais comuns em todos
os produtos em que são oferecidos, mas alguns recursos específicos do produto podem
existir nos fluxos de dados criados em um produto em comparação a outro.

Como o fluxo de dados funciona?


A imagem anterior mostra uma exibição geral de como um fluxo de dados é definido.
Um fluxo de dados obtém dados de diferentes fontes de dados (já há suporte para mais
de 80 fontes de dados). Em seguida, de acordo com as transformações configuradas
com a experiência de criação do Power Query, o fluxo de dados transforma os dados
usando o mecanismo de fluxo de dados. Por fim, os dados são carregados no destino
de saída, que pode ser um ambiente do Microsoft Power Platform, um workspace do
Power BI ou a conta Azure Data Lake Storage da organização.

Fluxos de dados executados na nuvem


Os fluxos de dados são baseados em nuvem. Quando um fluxo de dados é criado e
salvo, a definição é armazenada na nuvem. Um fluxo de dados também é executado na
nuvem. No entanto, se uma fonte de dados for local, um gateway de dados local pode
ser usado para extrair os dados para a nuvem. Quando uma execução de fluxo de dados
é disparada, a transformação de dados e a computação ocorrem na nuvem e o destino
está sempre na nuvem.
Os fluxos de dados usam um mecanismo de
transformação eficaz
O Power Query é o mecanismo de transformação de dados usado no fluxo de dados.
Esse mecanismo tem capacidade suficiente para permitir muitas transformações
avançadas. Ele também usa uma interface de usuário gráfica simples, mas eficiente,
chamada Editor do Power Query. Você pode usar os fluxos de dados com este editor
para desenvolver as soluções de integração de dados com maior rapidez e facilidade.

Integração do fluxo de dados com o Microsoft Power


Platform e o Dynamics 365
Como um fluxo de dados armazena as tabelas resultantes no armazenamento baseado
em nuvem, outros serviços podem interagir com os dados produzidos por fluxos de
dados.

Por exemplo, os aplicativos Power BI, Power Apps, Power Automate, Power Virtual
Agents e Dynamics 365 podem obter os dados produzidos pelo fluxo de dados
conectando-se ao Dataverse, a um conector de fluxo de dados do Power Platform ou
diretamente pelo lake, de acordo com o destino configurado no momento da criação
do fluxo de dados.

Benefícios dos fluxos de dados


A lista a seguir destaca alguns dos benefícios do uso de fluxos de dados:

Um fluxo de dados separa a camada de transformação de dados da camada de


modelagem e visualização em uma solução do Power BI.

O código de transformação de dados pode residir em um local central, um fluxo


de dados, em vez de ser distribuído em vários artefatos.

Um criador de fluxo de dados só precisa das habilidades do Power Query. Em um


ambiente com vários criadores, o criador de fluxo de dados pode fazer parte de
uma equipe que, em conjunto, compila toda a solução de BI ou o aplicativo
operacional.

Um fluxo de dados é independente do produto. Não se trata apenas um


componente do Power BI. Você pode obter os dados em outras ferramentas e
serviços.

Os fluxos de dados aproveitam o Power Query, uma experiência de transformação


de dados de autoatendimento, gráfica e eficiente.

Os fluxos de dados são executados inteiramente na nuvem. Nenhuma outra


infraestrutura é necessária.

Você tem várias opções para começar a trabalhar com os fluxos de dados, usando
as licenças do Power Apps, do Power BI e do Customer Insights.

Embora os fluxos de dados possam fazer transformações avançadas, eles são


criados para cenários de autoatendimento e não exigem experiência de TI ou de
desenvolvedor.

Cenários de caso de uso para fluxos de dados


Você pode usar os fluxos de dados para muitas finalidades. Os cenários a seguir
fornecem alguns exemplos de casos de uso comuns para fluxos de dados.

Migração de dados de sistemas herdados


Nesse cenário, uma organização tomou a decisão de usar o Power Apps para a nova
experiência de interface do usuário, em vez do sistema local herdado. O Power Apps, o
Power Automate e o AI Builder usam o Dataverse como o sistema de armazenamento
de dados primário. Os dados atuais no sistema local existente podem ser migrados para
o Dataverse usando um fluxo de dados e, em seguida, esses produtos podem usar esses
dados.

Uso dos fluxos de dados para compilar um data


warehouse
Você pode usar os fluxos de dados como substituto de outras ferramentas ETL (extrair,
transformar, carregar), para compilar um data warehouse. Nesse cenário, os engenheiros
de dados de uma empresa decidem usar os fluxos de dados para compilar o data
warehouse criado pelo esquema em estrela, incluindo tabelas de fatos e de dimensões
no Data Lake Storage. O Power BI é usado para gerar os relatórios e painéis obtendo os
dados dos fluxos de dados.
Uso dos fluxos de dados para compilar um modelo
dimensional
Você pode usar os fluxos de dados como substituto de outras ferramentas ETL, para
compilar um modelo dimensional. Por exemplo, os engenheiros de dados de uma
empresa decidem usar os fluxos de dados para compilar o modelo dimensional criado
pelo esquema em estrela, incluindo tabelas de fatos e de dimensões no Azure Data Lake
Storage Gen2. O Power BI é usado para gerar os relatórios e painéis obtendo os dados
dos fluxos de dados.
Centralizar a preparação de dados e a reutilização de
conjuntos de dados em várias soluções do Power BI
Se várias soluções do Power BI estiverem usando a mesma versão transformada de uma
tabela, o processo para criar a tabela será repetido várias vezes. Isso aumenta a carga no
sistema de origem, consome mais recursos e cria dados duplicados com vários pontos
de falha. Em vez disso, um único fluxo de dados pode ser criado para calcular os dados
de todas as soluções. O Power BI pode reutilizar o resultado da transformação em todas
as soluções. O fluxo de dados, se usado dessa forma, pode fazer parte de uma
arquitetura robusta de implementação do Power BI, que evita a duplicação de código
do Power Query e reduz os custos de manutenção da camada de integração de dados.
Próximas etapas
Os artigos a seguir fornecem mais materiais de estudo para fluxos de dados.

Criar e usar fluxos de dados no Microsoft Power Platform


Criando e usando fluxos de dados no Power BI
Noções básicas sobre as diferenças
entre tipos de fluxo de dados
Artigo • 05/08/2023

Os fluxos de dados são usados para extrair, transformar e carregar dados em um


destino de armazenamento em que eles podem ser aproveitados em cenários
diferentes. Como nem todos os destinos de armazenamento compartilham as mesmas
características, alguns recursos e comportamentos de fluxo de dados diferem de acordo
com o destino de armazenamento em que o fluxo de dados carrega os dados. Antes de
criar um fluxo de dados, é importante entender como os dados serão usados e escolher
o destino de armazenamento de acordo com os requisitos da solução.

Selecionar um destino de armazenamento de um fluxo de dados determina o tipo do


fluxo de dados. Um fluxo de dados que carrega dados em tabelas do Dataverse é
categorizado como um fluxo de dados padrão. Os fluxos de dados que carregam dados
em tabelas analíticas são categorizados como um fluxo de dados analítico.

Os fluxos de dados criados no Power BI são sempre fluxos de dados analíticos. Os fluxos
de dados criados no Power Apps podem ser padrão ou analíticos, dependendo da
seleção ao criar o fluxo de dados.

Fluxos de dados padrão


Um fluxo de dados padrão carrega dados para tabelas do Dataverse. Os fluxos de dados
padrão só podem ser criados no Power Apps. Um benefício da criação desse tipo de
fluxo de dados é que qualquer aplicativo, que depende de dados no Dataverse, pode
trabalhar com os dados criados por fluxos de dados padrão. Aplicativos típicos que
aproveitam tabelas do Dataverse são Power Apps, Power Automate, AI Builder e Power
Virtual Agents.
Versões de fluxos de dados padrão
Estamos trabalhando em atualizações significativas para fluxos de dados padrão para
melhorar o desempenho e a confiabilidade. Essas melhorias eventualmente estarão
disponíveis para todos os fluxos de dados padrão. Mas, nesse ínterim, vamos diferenciar
entre fluxos de dados padrão existentes (versão 1) e fluxos de dados padrão novos
(versão 2) adicionando um indicador de versão no Power Apps.
Comparação de recursos de versões de fluxo de dados
padrão
A tabela a seguir lista as principais diferenças de recursos entre os fluxos de dados
padrão V1 e V2. Também fornece informações sobre o comportamento de cada recurso
em cada versão.

Recurso Padrão V1 Padrão V2

Número máximo de fluxos 50 Ilimitado


de dados que podem ser
salvos com agendamento
automático por locatário do
cliente

Número máximo de 500.000 Não associado. O número máximo


registros ingeridos por de registros que podem ser ingeridos
consulta/tabela por consulta ou tabela agora
depende dos limites de proteção de
serviço do Dataverse no momento da
ingestão.

Velocidade de ingestão no Desempenho da linha de Desempenho aperfeiçoado por


Dataverse base alguns fatores. Os resultados reais
podem variar e depender das
características dos dados ingeridos e
carregar no serviço do Dataverse no
momento da ingestão.

Política de atualização Sem suporte Com suporte


incremental

Resiliência Quando os limites de Quando os limites de proteção de


proteção de serviço do serviço do Dataverse forem
Dataverse forem encontrados, um registro será
encontrados, um registro repetido até três vezes.
será repetido até três
vezes.

Integração do Power Sem suporte Com suporte


Automate

Fluxos de dados analíticos


Um fluxo de dados analítico carrega dados para tipos de armazenamento otimizados
para análise — Azure Data Lake Storage. Os ambientes do Microsoft Power Platform e
os workspaces do Power BI fornecem aos clientes um local de armazenamento analítico
gerenciado que é empacotado com essas licenças de produto. Além disso, os clientes
podem vincular a conta de armazenamento do Azure Data Lake de sua organização
como um destino para fluxos de dados.

Os fluxos de dados analíticos são recursos analíticos adicionais compatíveis. Por


exemplo, a integração com os recursos de IA do Power BI ou o uso de entidades
computadas que serão discutidas posteriormente.

Você pode criar fluxos de dados analíticos no Power BI. Por padrão, eles carregarão
dados no armazenamento gerenciado do Power BI. Mas, você também pode configurar
o Power BI para armazenar os dados no Azure Data Lake Storage da organização.

Você também pode criar fluxos de dados analíticos nos portais de insights de clientes
do Power Apps e do Dynamics 365. Ao criar um fluxo de dados no portal do Power
Apps, você pode escolher entre o armazenamento analítico gerenciado do Dataverse ou
a conta do Azure Data Lake Storage da sua organização.
Integração de IA
Às vezes, dependendo do requisito, talvez seja necessário aplicar algumas funções de IA
e machine learning nos dados por meio do fluxo de dados. Essas funcionalidades estão
disponíveis em fluxos de dados do Power BI e exigem um workspace Premium.

Os seguintes artigos discutem como usar funções de IA em um fluxo de dados:

Integração do Azure Machine Learning no Power BI


Serviços Cognitivos no Power BI
Machine Learning Automatizado no Power BI

Observe que os recursos listados acima são específicos do Power BI e não estão
disponíveis ao criar um fluxo de dados nos portais de insights de clientes do Power
Apps ou do Dynamics 365.

Tabelas computadas
Um dos motivos para usar uma tabela computada é a capacidade de processar grandes
quantidades de dados. A tabela computada ajuda nesses cenários. Se você tiver uma
tabela em um fluxo de dados e outra tabela no mesmo fluxo de dados usar a saída da
primeira tabela, essa ação criará uma tabela computada.

A tabela computada ajuda no desempenho das transformações de dados. Em vez de


refazer as transformações necessárias na primeira tabela várias vezes, a transformação é
feita apenas uma vez na tabela computada. Em seguida, o resultado é usado várias
vezes em outras tabelas.

Para saber mais sobre tabelas computadas, acesse Criando tabelas computadas em
fluxos de dados.

As tabelas computadas estão disponíveis apenas em um fluxo de dados analítico.

Comparação entre fluxos de dados padrão e


analíticos
A tabela a seguir lista algumas diferenças entre uma tabela padrão e uma tabela
analítica.

Operação Standard Analítico

Como criar Fluxo de dados do Power Fluxos de dados do Power BI


Platform Fluxos de dados do Power Platform
selecionando a caixa de seleção Entidades
analíticas somente ao criar o fluxo de dados

Opções de Dataverse O Power BI forneceu o armazenamento do


armazenamento Azure Data Lake para fluxos de dados do
Power BI, o Dataverse forneceu o
armazenamento do Azure Data Lake para
fluxos de dados do Power Platform ou o
cliente forneceu o armazenamento do Azure
Data Lake

Transformações Yes Yes


do Power Query

Funções de IA No Yes

Tabela computada Não Yes

Pode ser usado Sim, por meio do Dataverse Fluxos de dados do Power BI: somente no
em outros Power BI
aplicativos Fluxos de dados do Power Platform ou fluxos
de dados externos do Power BI: sim, por meio
do Azure Data Lake Storage

Mapeamento para Sim Yes


tabela padrão

Carga incremental Carga incremental padrão Carregamento completo padrão


É possível alterar usando a É possível configurar a atualização
caixa de seleção Excluir incremental configurando a atualização
linhas que não existem incremental nas configurações de fluxo de
mais na saída da consulta dados
nas configurações de carga

Atualização Yes Sim, a possibilidade de notificar os


Agendada proprietários de fluxo de dados após a falha

Cenários para usar cada tipo de fluxo de dados


Aqui estão alguns cenários de exemplo e recomendações de melhores práticas para
cada tipo de fluxo de dados.
Uso entre plataformas — fluxo de dados padrão
Caso o plano para criar fluxos de dados seja usar dados armazenados em várias
plataformas (não apenas no Power BI, mas também em outros serviços do Microsoft
Power Platform, Dynamics 365 e assim por diante), um fluxo de dados padrão é uma
ótima opção. Os fluxos de dados padrão armazenam os dados no Dataverse, que você
pode acessar por meio de muitas outras plataformas e serviços.

Transformações de dados do Heavy em tabelas de dados


grandes – fluxo de dados analítico
Os fluxos de dados analíticos são uma excelente opção para processar grandes
quantidades de dados. Os fluxos de dados analíticos também aprimoram o poder de
computação por trás da transformação. Ter os dados armazenados no Azure Data Lake
Storage aumenta a velocidade de gravação em um destino. Em comparação com o
Dataverse (que pode ter muitas regras para verificar no momento do armazenamento
de dados), o Azure Data Lake Storage é mais rápido para transações de leitura/gravação
em uma grande quantidade de dados.

Recursos de IA – fluxo de dados analítico


Se você estiver planejando usar qualquer funcionalidade de IA por meio do estágio de
transformação de dados, será útil usar um fluxo de dados analítico porque você pode
usar todos os recursos de IA compatíveis com esse tipo de fluxo de dados.
Criar e usar fluxos de dados no
Microsoft Power Platform
Artigo • 05/08/2023

O uso de fluxos de dados com o Microsoft Power Platform facilita a preparação de


dados e permite reutilizar o trabalho de preparação de dados em relatórios, aplicativos
e modelos subsequentes.

No mundo dos dados em constante expansão, a preparação de dados pode ser difícil e
cara. Ele pode consumir de 60 a 80% do tempo e do custo de um projeto de análise
típico. Esses projetos podem exigir estruturação de dados fragmentados e incompletos,
integração complexa do sistema, dados com inconsistência estrutural e uma barreira de
conjunto de habilidades alta.

Para facilitar a preparação de dados e ajudar você a obter mais valor dos dados, os
fluxos de dados do Power Query e do Power Platform foram criados.

Com fluxos de dados, a Microsoft leva os recursos de preparação de dados de


autoatendimento do Power Query para os serviços online do Power BI e do Power Apps
e expande os recursos existentes das seguintes maneiras:

Preparação de dados de autoatendimento para Big Data com fluxos de dados: os


fluxos de dados podem ser usados para ingerir, limpar, transformar, integrar,
enriquecer e esquematizar dados de uma grande e crescente matriz de fontes
transacionais e observacionais, abrangendo toda a lógica de preparação de dados.
Anteriormente, a lógica de ETL (extração, transformação, carregamento) só podia
ser incluída em conjuntos de dados no Power BI, copiada entre conjuntos de
dados e associada a configurações de gerenciamento de conjuntos de dados.
Com os fluxos de dados, a lógica de ETL é elevada a um artefato de primeira classe
nos serviços do Microsoft Power Platform e inclui experiências de criação e
gerenciamento dedicadas. Analistas de negócios, profissionais de BI e cientistas de
dados podem usar fluxos de dados para lidar com os desafios mais complexos de
preparação de dados e se basear no trabalho uns dos outros, graças a um
mecanismo de cálculo revolucionário orientado por modelos. Esse mecanismo
cuida de todo o tempo, o custo e a experiência de corte de lógica de
transformação e dependência para uma fração do que é tradicionalmente
necessário para essas tarefas. Você pode criar fluxos de dados usando a conhecida
experiência de preparação de dados de autoatendimento do Power Query. Os
fluxos de dados são criados e facilmente gerenciados em ambientes ou
workspaces de aplicativos, no Power BI ou no Power Apps, respectivamente,
desfrutando de todos os recursos que esses serviços têm a oferecer, como
gerenciamento de permissões e atualizações agendadas.

Carregar dados no Dataverse ou no Azure Data Lake Storage: dependendo do


seu caso de uso, você pode armazenar dados preparados pelos fluxos de dados do
Power Platform no Dataverse ou na conta do Azure Data Lake Storage da sua
organização:

O Dataverse permite que você armazene e gerencie com segurança os dados


que são usados pelos aplicativos de negócios. Os dados no Dataverse são
armazenados em um conjunto de tabelas. Uma tabela é um conjunto de linhas
(anteriormente conhecidas como registros) e colunas (anteriormente
conhecidas como campos/atributos). Cada coluna da tabela foi projetada para
armazenar um determinado tipo de dados, por exemplo, nome, idade, salário e
assim por diante. O Dataverse inclui um conjunto básico de tabelas padrão que
abrange cenários típicos, mas você também pode criar tabelas personalizadas
específicas para a sua organização e preenchê-las com os dados usando fluxos
de dados. Então, os criadores de aplicativos podem usar Power Apps e o Power
Automate para criar aplicativos sofisticados que usam esses dados.

O Azure Data Lake Storage permite que você colabore com pessoas em sua
organização usando o Power BI, Dados do Azure e serviços de IA ou usando
aplicativos de linha de negócios personalizados que leem dados no lake. Fluxos
de dados que carregam dados em uma conta do Azure Data Lake Storage
armazenam dados em pastas do Common Data Model. As pastas do Common
Data Model contêm dados e metadados esquematizados em um formato
padronizado, para facilitar a troca de dados e permitir a interoperabilidade total
entre serviços que produzem ou consomem dados armazenados na conta do
Azure Data Lake Storage de uma organização como a camada de
armazenamento compartilhado.
Análise Avançada e IA com o Azure: os fluxos de dados do Power Platform
armazenam dados no Dataverse ou Azure Data Lake Storage, o que significa que
os dados ingeridos por meio de fluxos de dados agora estão disponíveis para
engenheiros de dados e cientistas de dados aplicarem todo o poder dos Serviços
de Dados do Azure, como o Azure Machine Learning, o Azure Databricks e o Azure
Synapse Analytics para análise avançada e IA. Isso permite que analistas de
negócios, engenheiros de dados e cientistas de dados colaborem nos mesmos
dados em suas organizações.

Suporte ao Common Data Model: o Common Data Model é um conjunto de


esquemas de dados padronizados e um sistema de metadados para permitir a
consistência dos dados e seu significado entre aplicativos e processos
empresariais. Os fluxos de dados dão suporte ao Common Data Model oferecendo
mapeamento fácil de qualquer dado em qualquer forma para as tabelas padrão do
Common Data Model, como Conta e Contato. Os fluxos de dados também
armazenam os dados, tanto as tabelas padrão quanto as personalizadas, no
formato de Modelo de Dados Comum esquematizado. Os analistas de negócios
podem aproveitar o esquema padrão e sua consistência semântica ou personalizar
suas tabelas com base em suas necessidades exclusivas. O Common Data Model
continua evoluindo como parte da Open Data Initiative .

Recursos de fluxo de dados nos serviços do


Microsoft Power Platform
A maioria dos recursos de fluxo de dados está disponível no Power Apps e no Power BI.
Os fluxos de dados estão disponíveis como parte dos planos desses serviços. Alguns
recursos de fluxo de dados são específicos do produto ou estão disponíveis em
diferentes planos de produto. A tabela a seguir descreve os recursos de fluxo de dados
e sua disponibilidade.

Capacidade do fluxo de dados Power Apps Power BI

Atualização agendada Até 48 por dia Até 48 por dia

Tempo máximo de atualização por Até 2 horas Até 2 horas


tabela

Criação de fluxo de dados com o Yes Yes


Power Query Online

Gerenciamento de fluxo de dados No portal de administração do No portal de


Power Apps administração do
Power BI
Capacidade do fluxo de dados Power Apps Power BI

Novos conectores Yes Yes

Esquema padronizado/suporte Yes Yes


interno para o Common Data Service

Conector de dados de fluxos de Para fluxos de dados com o Azure Yes


dados no Power BI Desktop Data Lake Storage como destino

Integração com o Azure Data Lake Yes Yes


Storage da organização

Integração com o Dataverse Sim Não

Tabelas vinculadas de fluxo de dados Para fluxos de dados com o Azure Yes
Data Lake Storage como destino

Tabelas computadas (transformações Para fluxos de dados com o Azure Somente Power BI
no armazenamento usando M) Data Lake Storage como destino Premium

Atualização incremental do fluxo de Para fluxos de dados com o Azure Somente Power BI
dados Data Lake Storage como destino; Premium
requer o Power Apps Plan2

Execução na capacidade do Power BI No Yes


Premium/Execução paralela de
transformações

Limitações conhecidas
Não há suporte para a cópia de fluxos de dados como parte de uma operação de
cópia de ambientes do Power Platform .

Próximas etapas
Mais informações sobre fluxos de dados no Power Apps:

Preparação de dados de autoatendimento no Power Apps


Criação e uso de fluxos de dados no Power Apps
Conectar-se ao Azure Data Lake Storage Gen2 para armazenamento de fluxo de
dados
Adicionar dados a uma tabela no Dataverse usando o Power Query
Acesse a comunidade de fluxo de dados do Power Apps e compartilhe o que
você está fazendo, faça perguntas ou envie novas ideias
Acesse a o fórum da comunidade de fluxo de dados do Power Apps e compartilhe
o que você está fazendo, faça perguntas ou envie novas ideias

Mais informações sobre fluxos de dados no Power Apps:

Preparação de dados de autoatendimento no Power BI


Criação e uso de fluxos de dados no Power BI
White paper de fluxos de dados
Vídeo detalhado de instruções de um fluxos de dados
Acesse a comunidade de fluxos de dados do Power BI e compartilhe o que você
está fazendo, faça perguntas ou envie novas ideias

Os artigos a seguir oferecem mais detalhes sobre cenários de uso comuns para fluxos
de dados.

Usar a atualização incremental com fluxos de dados


Criando tabelas computadas em fluxos de dados
Conectar-se a fontes de dados para fluxos de dados
Vincular tabelas entre fluxos de dados

Para obter mais informações sobre o Common Data Model e o padrão da pasta do
Common Data Model, leia os seguintes artigos:

Common Data Model – Visão geral


Pastas do Common Data Model
Definição de arquivo de modelo de pasta do Common Data Model
Criar e usar fluxos de dados no
Microsoft Teams (versão prévia)
Artigo • 23/03/2023

O Microsoft Dataverse para Teams fornece uma plataforma interna de dados de baixo
código para o Microsoft Teams. Ele fornece armazenamento de dados relacional, tipos
de dados avançados, governança de nível empresarial e implantação de solução com
um clique. O Dataverse para Teams permite que todos criem e implantem aplicativos
facilmente.

Antes de hoje, a maneira de obter dados no Dataverse para Teams era adicionando
manualmente dados diretamente em uma tabela. Esse processo pode ser propenso a
erros e não pode ser escalonável. Mas agora, com a preparação de dados de
autoatendimento, você pode encontrar, limpar, formatar e importar seus dados para o
Dataverse para o Teams.

Com seus dados organizacionais já em um local diferente, você pode usar Power Query
fluxos de dados para acessar diretamente seus dados por meio dos conectores e
carregar os dados no Dataverse para Teams. Ao atualizar em seus dados
organizacionais, você pode atualizar seus fluxos de dados com apenas um clique e os
dados no Dataverse para Teams também são atualizados. Você também pode usar as
transformações de dados Power Query para validar e limpar facilmente seus dados e
impor a qualidade dos dados para seus Aplicativos.

Fluxos de dados foram introduzidos para ajudar as organizações a recuperar dados de


fontes diferentes e prepará-los para consumo. Você pode facilmente criar fluxos de
dados usando a experiência familiar de Power Query de autoatendimento para ingerir,
transformar, integrar e enriquecer dados. Ao criar um fluxo de dados, você se conectará
a dados, transformará os dados e carregará dados em tabelas do Dataverse para Teams.
Depois que o fluxo de dados é criado, ele inicia o processo de importação de dados
para a tabela Dataverse. Em seguida, você pode começar a criar aplicativos para
aproveitar esses dados.

Criar um fluxo de dados da página de fluxos de


dados
Neste exemplo, você carregará dados de um arquivo do Excel localizado no OneDrive
no Dataverse para Teams.
1. Entre na versão da Web do Teams e selecione o link para o Power Apps.

2. Selecione a guia Compilar e selecione Fluxos de Dados (Versão Prévia).

3. Para criar um novo fluxo de dados, selecione o botão Novo.

4. Selecione o conector da pasta de trabalho do Excel.


5. Insira um endereço de URL no caminho do arquivo ou na URL ou use o botão
Procurar OneDrive para navegar pelas pastas do OneDrive. Selecione o arquivo
desejado e selecione o botão Avançar. Para obter mais informações sobre como
usar a conexão do OneDrive ou obter dados, consulte o SharePoint e OneDrive for
Business arquivos importar ou obter dados de outras fontes.

6. No Navegador, selecione as tabelas presentes no arquivo do Excel. Se o arquivo


do Excel tiver várias planilhas e tabelas, selecione apenas as tabelas nas quais você
está interessado. Quando terminar, selecione Transformar dados.

7. Limpe e transforme seus dados usando o Power Query. Você pode usar as
transformações prontas para excluir valores ausentes, excluir colunas
desnecessárias ou filtrar seus dados. Com Power Query, você pode aplicar mais de
300 transformações diferentes em seus dados. Para saber mais sobre Power Query
transformações, consulte Usar Power Query para transformar dados. Depois de
terminar de preparar seus dados, selecione Avançar.
8. Em tabelas de mapa, selecione Carregar na nova tabela para criar uma nova
tabela no Dataverse para Teams. Você também pode optar por carregar seus
dados em uma tabela existente. Na tela Tabelas do Mapa , você também pode
especificar uma coluna de nome primário exclusivo e uma coluna de chave
alternativa (opcional). Neste exemplo, deixe essas seleções com os valores padrão.
Para saber mais sobre como mapear seus dados e as diferentes configurações,
consulte considerações de mapeamento de campo para fluxos de dados padrão.

9. Selecione Criar para finalizar seu fluxo de dados. Depois de criar o fluxo de dados,
os dados começam a ser carregados no Dataverse para Teams. Esse processo pode
levar algum tempo e você pode usar a página de gerenciamento para verificar o
status. Quando um fluxo de dados conclui uma execução, seus dados estão
disponíveis para uso.

Gerenciando seus fluxos de dados


Você pode gerenciar qualquer fluxo de dados criado na guia Fluxos de Dados (Versão
Prévia ). Aqui, você pode ver o status de todos os fluxos de dados, quando o fluxo de
dados foi atualizado pela última vez e tomar medidas da barra de ações.

Na coluna Última Atualização, você pode ver quando os dados foram atualizados pela
última vez. Se a atualização falhar, uma indicação de erro será exibida. Se você
selecionar a indicação de erro, os detalhes do erro e as etapas recomendadas para
resolvê-lo serão exibidos.

Na coluna Status, você pode ver o status atual do fluxo de dados. Os possíveis estados
são:

Atualizar em andamento: o fluxo de dados está extraindo, transformando e


carregando seus dados da origem para as Tabelas do Dataverse. Esse processo
pode levar vários minutos, dependendo da complexidade das transformações e do
desempenho da fonte de dados. É recomendável verificar o status do fluxo de
dados com frequência.

Para navegar até a barra de ações, selecione os três pontos "..." ao lado do fluxo de
dados.
Aqui, você pode ver:

Edite seu fluxo de dados se quiser alterar sua lógica de transformação ou


mapeamento.
Renomeie o fluxo de dados. Na criação, um nome gerado automaticamente é
atribuído.
Atualize o fluxo de dados. Quando você atualizar seus fluxos de dados, os dados
serão atualizados.
Exclua o fluxo de dados
Mostrar o histórico de atualização. Isso fornece os resultados da última
atualização.

Selecione Mostrar histórico de atualização para ver informações sobre a última


atualização do fluxo de dados. Quando a atualização do fluxo de dados for bem-
sucedida, você poderá ver quantas linhas foram adicionadas ou atualizadas no
Dataverse. Quando a atualização do fluxo de dados não foi bem-sucedida, você pode
investigar por que com a ajuda da mensagem de erro.

Os fluxos de dados no Teams são uma versão


leve
Os fluxos de dados no Teams são uma versão leve dos fluxos de dados no portal do
criador e só podem carregar dados no Dataverse para Teams. Os fluxos de dados no
Teams são otimizados para uma importação única de dados, mas você pode atualizar
seus dados manualmente por meio do botão de atualização na página de
gerenciamento de fluxo de dados. Se você quiser a funcionalidade completa de fluxos
de dados, poderá atualizar seu ambiente.
As fontes de dados com suporte em fluxos de dados no Teams são:

Excel (OneDrive)
Texto/CSV (OneDrive)
PDF (OneDrive)
Pasta do SharePoint Online
Lista do SharePoint Online
XML (OneDrive)
JSON (OneDrive)
OData
API Web

7 Observação

Os fluxos de dados no Teams não dão suporte a fontes de dados locais, como
locais de arquivo.

A tabela a seguir lista as principais diferenças de recursos entre os fluxos de dados do


Dataverse no Teams e os fluxos de dados do Dataverse.

Capacidade do fluxo de dados Dataverse for Teams Dataverse

Fluxos de dados padrão Yes Yes

Fluxos de dados analíticos No Yes

Suporte ao gateway No Yes

Atualização manual Yes Yes

Atualização agendada No Yes

Atualização incremental No Yes

Tabelas padrão No Yes

Tabelas personalizadas Yes Yes

Funcionalidade PQ completa Yes Yes

Conectores com suporte Subconjunto de conectores Todos os conectores

Pequenos volumes de dados Yes Yes

Volumes de dados maiores Não 1 Yes


1
Embora não haja nenhuma limitação na quantidade de dados que você pode carregar
no Dataverse para Teams, para obter um melhor desempenho no carregamento de
quantidades maiores de dados, recomendamos um ambiente do Dataverse.
Consumir dados de fluxos de dados
Artigo • 05/08/2023

As maneiras de consumir dados provenientes de fluxos de dados da Microsoft


dependem de vários fatores, como armazenamento e tipo do fluxo de dados. Neste
artigo, você aprenderá a escolher o fluxo de dados certo para suas necessidades.

Tipo do fluxo de dados


Há vários tipos de fluxos de dados disponíveis para você criar. Você pode escolher entre
um fluxo de dados do Power BI, um fluxo de dados padrão ou um fluxo de dados
analítico. Para saber mais sobre as diferenças e como selecionar o tipo certo com base
em suas necessidades, acesse Conhecendo as diferenças entre os tipos de fluxo de
dados.

Tipo de armazenamento
Um fluxo de dados pode gravar em vários tipos de destino de saída. Em suma, você
deve usar o Conector de fluxos de dados, a não ser que o destino seja uma tabela do
Dataverse. Nesse caso, você usa o Conector Dataverse/CDS.

Armazenamento do Azure Data Lake


O Azure Data Lake Storage está disponível em fluxos de dados do Power BI e fluxos de
dados analíticos do Power Apps. Por padrão, você está usando um Data Lake
Gerenciado pela Microsoft. No entanto, você também pode conectar um data lake auto-
hospedado ao ambiente do fluxo de dados. Os seguintes artigos descrevem como
conectar o data lake ao seu ambiente:

Conectar o armazenamento Data Lake Gen 2 a um workspace do Power BI


Conectar o armazenamento Data Lake Gen 2 a um ambiente do Power Apps

Ao conectar o data lake, você ainda deverá usar o conector do fluxos de dados. Se o
conector não atender às suas necessidades, você poderá considerar o uso do conector
do Azure Data Lake.

Dataverse
Um fluxo de dados padrão grava os dados de saída em uma tabela do Dataverse. O
Dataverse permite que você armazene e gerencie com segurança os dados que são
usados pelos aplicativos de negócios. Depois de carregar dados na tabela do Dataverse,
você poderá consumi-los usando o conector do Dataverse.

Os fluxos de dados podem obter dados de


outros fluxos de dados
Se você quiser reutilizar os dados criados por um fluxo de dados em outro fluxo de
dados, poderá fazê-lo usando o conector do fluxo de dados no editor do Power Query
ao criar o novo fluxo de dados.

Quando você obtém dados da saída de outro fluxo de dados, uma tabela vinculada é
criada. As tabelas vinculadas fornecem uma maneira de tornar os dados criados em um
fluxo de dados upstream disponíveis em um fluxo de dados downstream, sem copiar os
dados para o fluxo de dados downstream. Como as tabelas vinculadas são apenas
ponteiros para tabelas criadas em outros fluxos de dados, elas são mantidas atualizadas
pela lógica de atualização do fluxo de dados upstream. Se ambos os fluxos de dados
residirem no mesmo workspace ou ambiente, esses fluxos de dados serão atualizados
juntos para manter os dados em ambos os fluxos de dados sempre atualizados. Mais
informações: Vincular tabelas entre fluxos de dados

Separando a transformação de dados do


consumo de dados
Ao usar a saída de um fluxo de dados em outros fluxos de dados ou conjuntos de
dados, você consegue criar uma abstração entre a camada de transformação de dados e
o restante do modelo de dados. Essa abstração é importante porque cria uma
arquitetura de várias funções, na qual o cliente do Power Query pode se concentrar na
criação das transformações de dados e os modeladores de dados podem se concentrar
na modelagem de dados.

Perguntas frequentes
Minha tabela de fluxo de dados não aparece no conector de fluxo de dados no Power
BI

Provavelmente você está usando uma tabela do Dataverse como o destino do fluxo de
dados padrão. Use o conector Dataverse/CDS ou considere mudar para um fluxo de
dados analítico.

Há uma diferença nos dados quando removo as duplicidades nos fluxos de dados.
Como posso resolver isso?

Pode haver uma diferença nos dados entre o momento da criação e o momento da
atualização. Não podemos garantir qual instância está sendo mantida durante o tempo
de atualização. Para obter informações que ajudarão você a evitar inconsistências em
seus dados, acesse Trabalhar com valores duplicados.

Próximas etapas
Os artigos a seguir fornecem mais detalhes sobre artigos relacionados.

Criando e usando fluxos de dados no Power BI


Conectar-se aos dados criados por fluxos de dados do Power BI no Power BI
Desktop (Beta)
Criar e usar fluxos de dados no Power Platform
Como trabalhar com valores duplicados em fluxos de dados
Visão geral dos fluxos de dados com
reconhecimento de solução
Artigo • 23/03/2023

Quando você inclui seus fluxos de dados em uma solução, suas definições se tornam
portáteis, tornando mais fácil movê-los de um ambiente para outro, economizando
tempo necessário para criar o fluxo de dados.

Um caso de uso típico é que um ISV (fornecedor de software independente) desenvolva


uma solução que contenha um fluxo de dados, que extrai e transforma dados de uma
fonte de dados para tabelas do Dataverse, em um ambiente de área restrita. O ISV
moveria esse fluxo de dados e tabelas de destino para um ambiente de teste para testar
com a fonte de dados de teste para validar se a solução funciona bem e está pronta
para produção. Após a conclusão do teste, o ISV fornecerá o fluxo de dados e tabelas
aos clientes que os importarão para seu ambiente de produção para operar nos dados
do cliente. Esse processo é muito mais fácil quando você adiciona os fluxos de dados e
tabelas para os quais eles carregam dados em soluções e, em seguida, move as soluções
e seu conteúdo entre ambientes.

Os fluxos de dados adicionados a uma solução são conhecidos como fluxos de dados
com reconhecimento de solução . É possível adicionar vários projetos a uma única
solução.

7 Observação

Somente fluxos de dados criados em ambientes do Power Platform podem


estar cientes da solução.
Os dados carregados por fluxos de dados para seu destino não são portáteis
como parte das soluções, apenas as definições de fluxo de dados são. Para
recriar os dados depois que um fluxo de dados foi implantado como parte de
uma solução, você precisa atualizar o fluxo de dados.

Adicionar um fluxo de dados existente a uma


solução
Siga estas etapas para adicionar um fluxo de dados a uma solução.
Pré-requisitos
Você precisa ter criado uma solução antes de adicionar um fluxo de dados a ela.
Mais informações: Criar soluções
Você precisa ser o proprietário de pelo menos um fluxo de dados no ambiente.
Mais informações: Criar fluxos de dados

Adicionar o fluxo de dados


1. Conecte-se ao Power Apps .

2. Selecione Soluções, na barra de navegação.

3. Selecione a solução à qual você adicionará seu fluxo de dados e, no menu de


contexto, selecione Editar.

4. Selecione Adicionar existente>Automação>Fluxo de dados.

5. Opcional: se o fluxo de dados carregar dados em uma tabela personalizada do


Dataverse, adicione a tabela personalizada à solução também.

Neste exemplo, o fluxo de dados adicionado à solução carrega dados em uma


tabela personalizada chamada Detalhes do Pedido Completo, que você deseja
incluir também na solução com o fluxo de dados.

Depois que o fluxo de dados e a tabela para os quais ele carrega os dados são
adicionados à solução, ele tem os dois artefatos adicionados à solução. Nesse
caso, os artefatos são cr0c8_FullOrderDetails e importar dados de vendas.

Para salvar seu trabalho, não deixe de publicar todas as personalizações. Agora, a
solução está pronta para exportar do ambiente de origem e importar para o
ambiente de destino.

Exportando e importando soluções que


contêm fluxos de dados
Exportar e importar soluções que contêm fluxos de dados é idêntico a fazer as mesmas
operações para outros artefatos. Para obter as instruções mais atualizadas, acesse a
documentação sobre exportação e importação de soluções.

Atualizando as conexões de um fluxo de dados


após a importação da solução
Por motivos de segurança, as credenciais de conexões usadas por fluxos de dados não
são mantidas por soluções. Depois que um fluxo de dados for implantado como parte
de uma solução, você precisará editar suas conexões antes que ela possa ser agendada
para ser executada.

1. No painel de navegação esquerdo, selecione a seta para baixo ao lado do


Dataverse e selecione Fluxos de Dados. Identifique o fluxo de dados importado e
selecione Editar no menu de contexto.

2. Na lista fluxo de dados, localize e clique duas vezes no fluxo de dados que foi
adicionado como parte da solução importada.

3. Você deve inserir as credenciais necessárias para o fluxo de dados.

Depois que as credenciais da conexão forem atualizadas, todas as consultas que


usam essa conexão serão carregadas automaticamente.

4. Se o fluxo de dados carregar dados em tabelas do Dataverse, selecione Avançar


para examinar a configuração de mapeamento.

5. A configuração de mapeamento também é salva como parte da solução. Como


você também adicionou a tabela de destino às soluções, não é necessário recriar a
tabela nesse ambiente e você pode publicar o fluxo de dados.

É isso. Seu fluxo de dados agora atualiza e carrega dados para a tabela de destino.

Limitações conhecidas
Fluxos de dados não podem ser criados de dentro de soluções. Para adicionar um
fluxo de dados a uma solução, siga as etapas descritas neste artigo.
Os fluxos de dados não podem ser editados diretamente de dentro de soluções.
Em vez disso, o fluxo de dados deve ser editado na experiência de fluxos de dados.
Os fluxos de dados não podem usar referências de conexão para nenhum
conector.
Variáveis de ambiente não podem ser usadas por fluxos de dados.
Os fluxos de dados não dão suporte à adição de componentes necessários, como
tabelas personalizadas às quais eles carregam dados. Em vez disso, a tabela
personalizada deve ser adicionada manualmente à solução.
Os fluxos de dados não podem ser implantados por usuários do aplicativo
(entidades de serviço).
Não há suporte para a configuração de atualização incremental ao implantar
soluções. Após a implantação do fluxo de dados por meio da solução, a
configuração de atualização incremental deve ser reaplicada.
Não há suporte para tabelas vinculadas a outros fluxos de dados ao implantar
soluções. Após a implantação do fluxo de dados por meio da solução, edite o fluxo
de dados e edite a conexão com o fluxo de dados vinculado.
Usar a atualização incremental com
fluxos de dados
Artigo • 05/08/2023

Com fluxos de dados, você pode trazer grandes quantidades de dados para o Power BI
ou o armazenamento fornecido pela sua organização. Porém, em alguns casos não é
muito prático atualizar uma cópia completa dos dados de origem em cada atualização.
Uma boa alternativa é a atualização incremental, que oferece os seguintes benefícios
para os fluxos de dados:

A atualização ocorre com mais rapidez: somente os dados alterados precisam ser
atualizados. Por exemplo, atualizar apenas os últimos cinco dias de um fluxo de
dados de 10 anos.
A atualização é mais confiável: por exemplo, não é necessário manter conexões
de execução prolongada com sistemas de origem voláteis.
O consumo de recursos é reduzido: uma quantidade menor de dados para
atualização reduz o consumo geral da memória e de outros recursos.

A atualização incremental está disponível em fluxos de dados criados no Power BI e


fluxos de dados criados no Power Apps. Este artigo mostra as telas do Power BI, mas
essas instruções se aplicam aos fluxos de dados criados no Power BI ou no Power Apps.

7 Observação

Quando o esquema de uma tabela em um fluxo de dados analítico é alterado, uma


atualização completa ocorre para garantir que todos os dados resultantes
correspondam ao novo esquema. Como resultado, todos os dados armazenados de
modo incremental são atualizados e, em alguns casos, se o sistema de origem não
reter dados históricos, serão perdidos.
O uso da atualização incremental em fluxos de dados criados no Power BI requer que o
fluxo de dados resida em um workspace na capacidade Premium. A atualização
incremental no Power Apps requer planos do Power Apps por aplicativo ou por usuário
e só está disponível para fluxos de dados com Azure Data Lake Storage como destino.

No Power BI ou no Power Apps, o uso da atualização incremental requer que os dados


de origem ingeridos no fluxo de dados tenham um campo DateTime no qual a
atualização incremental possa filtrar.

Configuração da atualização incremental para


fluxos de dados
Um fluxo de dados pode conter muitas tabelas. A atualização incremental é configurada
no nível da tabela, permitindo que um fluxo de dados mantenha tabelas totalmente
atualizadas e tabelas atualizadas incrementalmente.
Para configurar uma tabela atualizada incrementalmente, comece configurando sua
tabela como faria com qualquer outra tabela.

Depois que o fluxo de dados for criado e salvo, selecione Atualização incremental No
modo de exibição de tabela, conforme mostrado na imagem a seguir.

Ao selecionar o ícone, surgirá a janela Configurações da atualização incremental. Ative


a atualização incremental.
A lista a seguir explica as configurações na janela configurações de atualização
incremental.

Ativar/desativar a atualização incremental: ativa ou desativa a política de


atualização incremental para a tabela.

Menu suspenso do campo de filtro: seleciona o campo de consulta no qual a


tabela deve ser filtrada para incrementos. Este campo contém apenas os campos
DateTime. Você não poderá usar a atualização incremental se a tabela não contiver
um campo DateTime.

Armazenar/atualizar linhas do passado: o exemplo na imagem anterior ilustra


essas configurações a seguir.

Neste exemplo, definimos uma política de atualização para armazenar cinco anos
de dados no total e atualizar incrementalmente 10 dias de dados. Supondo que a
tabela seja atualizada diariamente, as seguintes ações são executadas para cada
operação de atualização:

Adicione um novo dia de dados.

Atualizar 10 dias até a data atual.

Remover os anos civis com mais de cinco anos antes da data atual. Por exemplo,
se a data atual for 1º de janeiro de 2019, o ano de 2013 será removido.

A primeira atualização do fluxo de dados poderá demorar para importar todos os


cinco anos, mas é provável que as atualizações subsequentes sejam concluídas
muito mais rapidamente.

Detectar alterações de dados: uma atualização incremental de dez dias é muito


mais eficiente do que uma atualização completa de cinco anos, mas talvez
possamos fazer ainda mais. Ao marcar a caixa de seleção Detectar alterações nos
dados, será possível selecionar uma coluna de data/hora para identificar e atualizar
somente os dias em que os dados foram alterados. Isso pressupõe que uma
coluna dessa exista no sistema de origem, normalmente para fins de auditoria. O
valor máximo dessa coluna é avaliado para cada um dos períodos no intervalo
incremental. Se esses dados não foram alterados desde a última atualização, não
será necessário atualizar o período. No exemplo, isso poderia reduzir ainda mais os
dias atualizados incrementalmente de 10 para, talvez, 2.

 Dica

O design atual requer que a coluna usada para detectar as alterações nos
dados seja mantida e fique armazenada em cache na memória. É interessante
considerar uma das técnicas a seguir para reduzir a cardinalidade e o
consumo de memória:
Mantenha apenas o valor máximo dessa coluna no momento da
atualização, talvez usando uma função do Power Query.
Reduza a precisão a um nível aceitável, considerando seus requisitos de
frequência de atualização.

Atualizar somente períodos completos: imagine que a atualização esteja


agendada para execução todo dia às 4h. Caso apareçam dados no sistema de
origem durante as primeiras quatro horas desse dia, talvez não seja necessário
considerá-los. Não é muito prático nem faz muito sentido considerar algumas
métricas comerciais com base em dias parciais, como barris de petróleo por dia no
setor de petróleo e gás.
Outro exemplo em que é mais apropriado fazer a atualização apenas para
períodos concluídos diz respeito aos dados de um sistema financeiro. Imagine um
sistema financeiro em que os dados do mês anterior sejam aprovados no dia 12
do mês em curso. Você pode definir o intervalo incremental para um mês e
agendar a atualização para ser executada no dia 12 do mês. Com essa opção
marcada, o sistema atualizará dos dados de janeiro (o período mensal completo
mais recente) em 12 de fevereiro.

7 Observação

A atualização incremental do fluxo de dados determina as datas de acordo com a


seguinte lógica: se uma atualização estiver agendada, a atualização incremental dos
fluxos de dados usará o fuso horário definido na política de atualização. Se não
existir qualquer cronograma de atualização, a atualização incremental usará a hora
do computador que executa a atualização.

Depois que a atualização incremental for configurada, o fluxo de dados alterará


automaticamente sua consulta para incluir a filtragem por data. Se o fluxo de dados
tiver sido criado no Power BI, você também poderá editar a consulta gerada
automaticamente usando o editor avançado no Power Query para ajustar ou
personalizar a atualização. Leia mais sobre a atualização incremental e seu
funcionamento na próxima seção.

Atualização incremental e tabelas vinculadas


versus tabelas computadas
Para tabelas vinculadas , a atualização incremental atualiza a tabela de origem. Como as
tabelas vinculadas são simplesmente um ponteiro para a tabela original, a atualização
incremental não tem impacto na tabela vinculada. Quando a tabela de origem é
atualizada de acordo com sua política de atualização definida, qualquer tabela vinculada
deve assumir que os dados na origem são atualizados.

As tabelas computadas são baseadas em consultas em execução em um


armazenamento de dados, que pode ser outro fluxo de dados. Dessa forma, as tabelas
computadas se comportam da mesma maneira que as tabelas vinculadas.

Como tabelas computadas e tabelas vinculadas se comportam da mesma forma, os


requisitos e as etapas de configuração são os mesmos para ambos. Uma diferença é
que, para tabelas computadas, em determinadas configurações, a atualização
incremental não pode ser executada de forma otimizada devido à forma como as
partições são criadas.

Alteração entre atualização incremental e


completa
Os fluxos de dados são compatíveis com a alteração da política de atualização entre a
atualização incremental e a completa. Quando ocorre uma alteração em qualquer
direção (de completa para incremental ou de incremental para completa), a alteração
afeta o fluxo de dados após a atualização seguinte.

Ao mover um fluxo de dados de uma atualização completa para uma incremental, a


nova lógica de atualização atualiza o fluxo de dados adotando a janela de atualização e
faz a incrementação conforme definido nas configurações de atualização incremental.

Ao mover um fluxo de dados de uma atualização incremental para completa, todos os


dados acumulados na atualização incremental são substituídos pela política definida na
atualização completa. Esta ação deve ser aprovada.

Suporte a fuso horário na atualização


incremental
A atualização incremental do fluxo de dados depende do horário em que é executada. A
filtragem da consulta depende do dia em que é executada.

Para acomodar essas dependências e garantir a consistência dos dados, a atualização


incremental para fluxos de dados implementa o seguinte heurístico para os cenários
atualizar agora:

No caso em que uma atualização agendada é definida no sistema, a atualização


incremental usa as configurações de fuso horário da seção da atualização
agendada. Isso garante que, independentemente do fuso horário em que se
encontra a pessoa que está atualizando o fluxo de dados, ele será sempre
consistente com a definição do sistema.

Se nenhuma atualização agendada estiver definida, os fluxos de dados usarão o


fuso horário do computador do usuário que está executando a atualização.

A atualização incremental também pode ser invocada por APIs. Nesse caso, a chamada
à API pode ter uma configuração de fuso horário que é usada na atualização. O uso de
APIs pode ser útil para fins de teste e validação.
Detalhes de implementação de atualização
incremental
Os fluxos de dados usam o particionamento para a atualização incremental. A
atualização incremental nos fluxos de dados mantém o número mínimo de partições
para atender aos requisitos da política de atualização. As partições antigas que saem do
intervalo são descartadas, mantendo uma janela rolante. As partições são mescladas
oportunamente, reduzindo o número total de partições necessárias. Isso melhora a
compactação e, em alguns casos, pode melhorar o desempenho da consulta.

Os exemplos nesta seção compartilham a política de atualização a seguir:

Armazenar linhas no último um trimestre


Atualizar linhas nos últimos dez dias
Detectar alterações nos dados = Falso
Atualizar somente dias concluídos = Verdadeiro

Mesclar partições
Neste exemplo, as partições de dia são mescladas automaticamente com o nível do mês
depois de extrapolarem o intervalo incremental. As partições no intervalo incremental
precisam ser mantidas na granularidade diária para permitir que somente esses dias
sejam atualizados. A operação de atualização com Data da Execução 11/12/2016 mescla
os dias em novembro, por ficarem fora do intervalo incremental.

Eliminar partições antigas


As partições antigas que ficam fora do intervalo total são removidas. A operação de
atualização com Data da Execução 2/1/2017 descarta a partição do T3 de 2016 por ficar
fora do intervalo total.

Recuperação de uma falha prolongada


Este exemplo simula como o sistema se recupera bem de uma falha prolongada.
Digamos que a atualização não seja executada com êxito porque as credenciais da fonte
de dados expiraram e o problema leva 13 dias para ser resolvido. O intervalo
incremental é de apenas 10 dias.

A próxima operação de atualização bem-sucedida, com Data da Execução 15/01/2017


precisa preencher retroativamente os 13 dias faltante e atualizá-los. Ela também precisa
atualizar os nove dias anteriores porque eles não foram atualizados de acordo com o
cronograma normal. Em outras palavras, o intervalo incremental aumenta de dez para
22 dias.

A operação de atualização seguinte, com Data da Execução 16/1/2017, aproveita a


oportunidade para mesclar os dias de dezembro e os meses do T4 de 2016.
Conjuntos de dados e fluxo de dados de
atualização incremental
A atualização incremental do fluxo de dados e a do conjunto de dados foram
desenvolvidas para trabalhar em conjunto. É aceitável e compatível ter uma tabela de
atualização incremental em um fluxo de dados, totalmente carregada em um conjunto
de dados ou uma tabela totalmente carregada em um fluxo de dados carregado
incrementalmente em um conjunto de dados.

Ambas as abordagens funcionam de acordo com as definições especificadas por você


nas configurações de atualização. Mais informações: Atualização incremental no Power
BI Premium

Confira também
Este artigo descreveu a atualização incremental para fluxos de dados. Confira outros
artigos que podem ser úteis:

Preparação de dados de autoatendimento no Power BI


Criando tabelas computadas em fluxos de dados
Conectar-se a fontes de dados para fluxos de dados
Vincular tabelas entre fluxos de dados
Criação e uso de fluxos de dados no Power BI
Como usar fluxos de dados com fontes de dados locais
Recursos de desenvolvedor para fluxos de dados do Power BI

Confira mais informações sobre o Power Query e a atualização agendada nestes artigos:

Visão geral da Consulta no Power BI Desktop


Configuração de atualização agendada

Para saber mais sobre o Common Data Model, leia este artigo de visão geral:

Common Data Model – Visão geral


Conectar-se a fontes de dados de fluxos
de dados
Artigo • 13/06/2023

Com os fluxos de dados do Microsoft Power BI e do Power Platform, você pode se


conectar a várias fontes de dados diferentes para criar novos fluxos de dados ou
adicionar novas tabelas a um fluxo de dados existente.

Este artigo descreve como criar fluxos de dados usando essas fontes de dados. Para
obter uma visão geral de como criar e usar fluxos de dados, acesse Criar um fluxo de
dados para serviço do Power BI e Criar e usar fluxos de dados no Power Apps.

Criar um fluxo de dados usando uma fonte de


dados
Para criar um fluxo de dados de uma fonte de dados, primeiro você precisará se
conectar aos dados.

Serviço do Power BI

Conectar-se aos dados no Power BI:

1. Abra um workspace.
2. Selecione Novo.
3. Selecione o Fluxo de dados no menu suspenso.
4. Em Definir novas tabelas, selecione Adicionar novas tabelas.
Fontes de dados para fluxos de dados
Depois de criar o fluxo de dados na ferramenta de criação de fluxo de dados, será
exibida a caixa de diálogo Escolher fonte de dados.

As fontes de dados para os fluxos de dados são organizadas nas categorias a seguir,
que aparecem como guias na caixa de diálogo Escolher fonte de dados:

Todas as categorias
Arquivo
Banco de dados
Power Platform
Azure
Serviços Online
Outros

Para obter uma lista de todas as fontes de dados com suporte no Power Query, acesse
Conectores no Power Query.

Conectar-se a uma fonte de dados


Para conectar-se a uma fonte de dados, selecione-a. Usaremos um exemplo para
mostrar como funciona o processo, mas cada conexão de dados para os fluxos de
dados possuem um processo semelhante. Os diferentes conectores podem exigir
credenciais específicas ou outras informações, mas o fluxo é semelhante. Neste
exemplo, o banco de dados SQL Server foi selecionado na categoria de conexão de
dados do Banco de dados.
Uma janela de conexão para a conexão de dados selecionado é exibida. Se forem
necessárias credenciais, será solicitado que você as forneça. A imagem a seguir mostra
um servidor e um banco de dados sendo inseridos para conectar a um banco de dados
SQL Server.

Depois que as informações de conexão de URL ou de recurso do servidor forem


fornecidas, insira as credenciais a serem usadas para acessar os dados. Talvez você
também precise inserir o nome de um gateway de dados local. Em seguida, selecione
Avançar.

O Power Query Online inicia e estabelece a conexão com a fonte de dados. Em seguida,
ele apresenta as tabelas disponíveis dessa fonte de dados na janela do Navegador.
Selecione as tabelas e os dados a serem carregados ao marcar a caixa de seleção ao
lado de cada um no painel esquerdo. Para transformar os dados escolhidos, selecione
Transformar dados na parte inferior da janela do Navegador. Será exibida uma caixa de
diálogo do Power Query Online, na qual você pode editar as consultas e executar outras
transformações desejadas nos dados selecionados.

Conectando-se a fontes de dados adicionais


Há outros conectores de dados que não são mostrados na interface do usuário de
fluxos de dados do Power BI, mas podem ser usados mediante algumas etapas
adicionais.

Você pode executar as seguintes etapas para criar uma conexão com um conector que
não é exibido na interface do usuário:

1. Abra o Power BI Desktop e selecione Obter dados.

2. Abra o Editor do Power Query no Power BI Desktop e clique com o botão direito
do mouse na consulta relevante e selecione o Editor Avançado, conforme
mostrado na imagem a seguir. Agora, você pode copiar o script M que aparece na
janela do Editor Avançado.

3. Abra o fluxo de dados do Power BI e selecione Obter dados para obter uma
consulta em branco.

4. Cole a consulta copiada na consulta em branco para o fluxo de dados.


O script se conectará à fonte de dados especificada.

A lista a seguir mostra quais conectores você pode usar no momento copiando e
colando a consulta M em uma consulta em branco:

SAP Business Warehouse


Azure Analysis Services
Adobe Analytics
ODBC
OLE DB
Pasta
Pasta do SharePoint Online
Pasta do SharePoint
HDFS do Hadoop
Azure HDInsight (HDFS)
Arquivo HDFS do Hadoop
Informix (beta)

Próximas etapas
Este artigo mostrou a quais fontes de dados você pode se conectar para fluxos de
dados. Os seguintes artigos oferecem mais detalhes sobre cenários de uso comuns para
fluxos de dados:

Preparação de dados de autoatendimento no Power BI


Usar a atualização incremental com fluxos de dados
Criando tabelas computadas em fluxos de dados
Vincular tabelas entre fluxos de dados
Para obter informações sobre conectores individuais de Power Query, acesse a lista de
referência de conector dos Conectores do Power Query e selecione o conector sobre o
qual você deseja saber mais.

Informações adicionais e relacionadas sobre fluxos de dados podem ser encontradas


nos seguintes artigos:

Criação e uso de fluxos de dados no Power BI


Como usar fluxos de dados com fontes de dados locais
Recursos de desenvolvedor para fluxos de dados do Power BI
Integração entre fluxos de dados e o Azure Data Lake (versão prévia)

Confira mais informações sobre o Power Query e a atualização agendada nestes artigos:

Visão geral da Consulta no Power BI Desktop


Configuração de atualização agendada

Para saber mais sobre o Common Data Model, leia este artigo de visão geral:

Common Data Model – Visão geral


Quais licenças você precisa para usar
fluxos de dados?
Artigo • 05/10/2023

Os fluxos de dados podem ser criados em diferentes portais, como o Power BI e o


Power Apps, e podem ser de tipo analítico ou padrão. Além disso, alguns recursos de
fluxo de dados só estão disponíveis como recursos Premium. Considerando a ampla
gama de produtos que podem usar fluxos de dados e a disponibilidade de recursos em
cada tipo de produto ou fluxo de dados, é importante saber quais opções de
licenciamento você precisa usar fluxos de dados.

Criando fluxos de dados em espaços de


trabalho do Power BI
Se você quiser criar fluxos de dados em espaços de trabalho do Power BI, precisará ter
uma licença de Power BI Pro paga. Uma licença gratuita do Power BI não possibilita que
você crie fluxos de dados. Dependendo dos recursos usados, é necessário usar o Power
BI Premium (por usuário) ou a capacidade incorporada.

Uma conta Power BI Pro está disponível mensalmente. Várias opções estão disponíveis
para capacidades premium ou inseridas.

Criando fluxos de dados em ambientes do


Microsoft Power Platform
Se você quiser criar fluxos de dados no ambiente do Microsoft Power Platform, será
necessária uma licença do Power Apps (por usuário ou por aplicativo).

Se você quiser criar fluxos de dados analíticos que armazenam dados na conta do Azure
Data Lake Storage Gen2 da sua organização, você ou seu administrador precisará
acessar uma assinatura do Azure e uma conta do Azure Data Lake Storage Gen2.

Recursos Premium
Alguns dos recursos de fluxo de dados são limitados a licenças premium. Se quiser usar
o mecanismo de computação avançado para acelerar o desempenho de suas consultas
de fluxo de dados em tabelas computadas ou usar a opção de conexão DirectQuery
com o fluxo de dados, você precisará ter o Power BI P1 ou A3 ou capacidades
superiores.

Os recursos de IA do Power BI, na tabela vinculada e na tabela computada são funções


premium que não estão disponíveis com uma conta do Power BI Pro.

Lista de recursos
A tabela a seguir contém uma lista de recursos e a licença necessária para que eles
estejam disponíveis.

Recurso Power BI Power Apps

Armazenar dados em tabelas do Dataverse (fluxo de N/D Por plano de aplicativo


dados padrão) Por plano de usuário

Armazenar dados no Azure Data Lake Storage (fluxo Sim Sim, usando fluxos de
de dados analítico) dados analíticos

Armazenar dados no cliente fornecidos Azure Data Sim Por plano de aplicativo
Lake Storage (fluxo de dados analíticos; use seu Por plano de usuário
próprio Azure Data Lake Storage)

O mecanismo de computação aprimorado Somente N/D


(executado na capacidade do Power BI Power BI
Premium/execução paralela de transformações) Premium

Conexão do DirectQuery com o fluxo de dados Somente N/D


Power BI
Premium

Recursos de IA no Power BI Somente N/D


Power BI
Premium

Tabelas vinculadas Somente Sim, usando fluxos de


Power BI dados analíticos
Premium

Tabelas computadas (transformações no Somente Sim, usando fluxos de


armazenamento usando M) Power BI dados analíticos
Premium

Agendar atualização Sim Yes

Criação de fluxo de dados com o Power Query Sim Yes


Online

Gerenciamento de fluxo de dados Sim Yes


Recurso Power BI Power Apps

Novos conectores Sim Yes

Esquema padronizado, suporte interno para o Sim Yes


Common Data Model

Conector de dados de fluxos de dados no Power BI Sim Sim, usando fluxos de


Desktop dados analíticos

Atualização incremental de fluxos de dados Somente Sim, usando fluxos de


Power BI dados analíticos com
Premium plano por usuário

Limitações em cada licença


A tabela anterior mostra quais recursos cada licença oferece a você. As seções a seguir
fornecem detalhes sobre algumas das limitações de cada licença.

Licenças do Power Apps


Se você usar uma licença do Power Apps para criar fluxos de dados, não haverá
limitação no número de fluxos de dados e tabelas que você pode criar. No entanto, há
uma limitação no tamanho do serviço Dataverse que você pode usar e atualizar o
desempenho.

O plano por aplicativo do Power Apps abrange até uma capacidade de banco de dados
de 50 MB. O plano do Power Apps por usuário permite que você tenha um banco de
dados com capacidade de 250 MB.

As seguintes limitações estão em vigor no Power Apps:

Uma atualização de fluxo de dados pode ser executada por no máximo 24 horas.
Cada consulta/partição tem uma duração máxima de execução de quatro horas.
Para cada atualização, há um limite de simultaneidade de quatro
consultas/partições que podem ser atualizadas simultaneamente.
Os limites de atualização do Power Query Online aplicam-se a cada usuário. Mais
informações: Atualizar limites

Power BI Pro
Power BI Pro oferece a capacidade de criar fluxos de dados analíticos, mas não usa
nenhum dos recursos premium. Com uma conta do Power BI Pro, você não pode usar
tabelas vinculadas ou computadas, não pode usar recursos de IA no Power BI nem pode
usar o DirectQuery para se conectar ao fluxo de dados. O armazenamento para seus
fluxos de dados é limitado ao espaço deixado em sua conta Power BI Pro, que é um
subconjunto de armazenamento de 10 GB para todo o conteúdo do Power BI. No
momento, não relatamos o uso atual de armazenamento de fluxos de dados no Portal
do Power BI. Você será notificado se estiver quase atingindo o limite da capacidade
restante.

Power BI Premium
Se você usar o Power BI Premium (licenciamento baseado em capacidade), poderá usar
todos os recursos de IA do Power BI, tabelas computadas e tabelas vinculadas, com a
capacidade de ter uma conexão do DirectQuery com o fluxo de dados. Você também
pode usar o mecanismo de computação avançado. No entanto, o fluxo de dados criado
sob uma licença de capacidade premium usa apenas o Azure Data Lake Storage interno
e não é acessível por outras plataformas, exceto o próprio Power BI. Você não pode criar
fluxos de dados externos apenas por ter uma licença de Power BI Premium; você precisa
ter uma assinatura do Azure para Azure Data Lake Storage também.

Limitações por capacidade premium


Os fluxos de dados que estão usando uma capacidade premium para atualizar os dados
são limitados ao número máximo de tarefas paralelas que podem ser executadas em um
determinado momento. O número máximo de tarefas paralelas depende do tipo de
capacidade premium que você está usando. Esta tabela representa o número máximo
de tarefas paralelas que podem ser executadas em um determinado momento por
todos os fluxos de dados em um espaço de trabalho mapeado para a capacidade.

Tarefas paralelas
Uma capacidade premium pode executar várias avaliações em paralelo. Por exemplo,
você tem uma capacidade P4 e um fluxo de dados que consiste em 84 tarefas. Você
atualiza seu fluxo de dados e as primeiras 64 tarefas são alocadas para a atualização. As
20 avaliações restantes para esse fluxo de dados estão agrupadas em uma fila. Uma vez
que uma das avaliações é concluída, ela começa a próxima avaliação da fila. Se você
iniciar outro fluxo de dados em seu espaço de trabalho na mesma capacidade premium
enquanto o outro ainda estiver em execução, ele ficará estacionado na mesma fila da
capacidade premium e precisará aguardar os outros fluxos de dados no espaço de
trabalho para iniciar a atualização de seus dados.
Você pode usar os seguintes indicadores para estimar o número de tarefas da
atualização do fluxo de dados:

O número de consultas executadas na atualização (não se esqueça das tabelas


vinculadas upstream).
O número de partições em uma consulta de atualização incremental é considerado
como tarefas extras.

Estratégia para reduzir o número de tarefas durante a atualização


Para reduzir o número de tarefas ou melhorar a eficiência de suas tarefas, você pode
usar as seguintes estratégias:

Diminua o número de consultas em seu fluxo de dados combinando consultas


sempre que possível e apenas "habilite carga" para consultas usadas downstream.
Avalie se você realmente precisa que as tabelas vinculadas upstream sejam
atualizadas automaticamente.
Agende estrategicamente suas atualizações de fluxo de dados com base no
número de tarefas.
Certifique-se de que sua consulta retorne o conjunto mínimo de colunas e linhas
para atender à sua necessidade de dados. Quanto mais rápida e eficiente for a
execução da tarefa, mais cedo a próxima tarefa poderá ser iniciada.

Usando a conta Azure Data Lake Storage da sua


organização para armazenamento de fluxo de dados
Para criar fluxos de dados que armazenam dados na conta Azure Data Lake Storage da
sua organização, além das licenças de produto acima, você deve ter uma assinatura do
Azure. A quantidade de armazenamento que pode ser usada não é limitada pelo fluxo
de dados ou pelo produto em que foi criado.

Próxima etapa
Se você quiser ler mais detalhes sobre os conceitos discutidos neste artigo, acesse
qualquer um dos links a seguir.

Preços
Preços do Power BI
Preço do Power Apps
Preços do Azure Data Lake Storage Gen2

Recursos
Tabelas computadas
Tabelas vinculadas
Recursos de IA no Power BI
Comparação entre fluxos de dados padrão e analíticos
O mecanismo de computação aprimorado
Como migrar consultas do Power Query
da área de trabalho (Power BI e Excel)
para fluxos de dados
Artigo • 05/10/2023

Se você já tem consultas no Power Query, seja no Power BI Desktop ou no Excel, talvez
queira migrá-las para fluxos de dados. O processo de migração é simples e direto. Neste
artigo, você aprenderá as etapas para fazer isso.

Para saber como criar um fluxo de dados no Microsoft Power Platform, acesse Criar e
usar fluxos de dados no Power Platform. Para saber como criar um fluxo de dados no
Power BI, acesse Criar e usar fluxos de dados no Power BI.

Migrar as consultas da área de trabalho


Para migrar consultas do Power Query das ferramentas da área de trabalho:

1. Abra o Editor do Power Query:

No Power BI Desktop, na guia Início, selecione Transformar Dados.

No Excel, na guia Dados, selecione Obter Dados>Iniciar Editor do Power


Query.
2. Copie as consultas:

Se você tiver organizado as consultas em pastas (chamadas de grupos no Power


Query):

a. No painel Consultas, pressione Ctrl enquanto seleciona as pastas que deseja


migrar para o fluxo de dados.

b. Selecione Ctrl+C.
Se você não tiver pastas:

a. No painel Consultas, pressione Ctrl enquanto seleciona as consultas que deseja


migrar.

b. Selecione Ctrl+C.
3. Cole as consultas copiadas em um fluxo de dados:

a. Crie um fluxo de dados, se ainda não tiver um.

b. Abra o fluxo de dados no Editor do Power Query e, no painel Consultas,


selecione Ctrl+V para colar as pastas ou consultas copiadas.
A imagem abaixo mostra um exemplo de pastas copiadas com êxito.

4. Conectar o gateway de dados local.

Se a fonte de dados for uma fonte local, você precisará executar uma etapa extra.
Exemplos de fontes locais podem ser arquivos do Excel em uma pasta
compartilhada em um domínio local ou um banco de dados do SQL Server
hospedado em um servidor local.

Um fluxo de dados, como um serviço baseado em nuvem, requer que o gateway


de dados local se conecte à fonte de dados local. Você precisa instalar e configurar
o gateway para esse sistema de origem e, em seguida, adicionar a fonte de dados
para ele. Depois de concluir essas etapas, você poderá selecionar o gateway de
dados local ao criar a tabela no fluxo de dados.

O gateway não é necessário para fontes de dados que residem na nuvem, como
um banco de dados SQL do Azure.

5. Configure a conexão com a fonte de dados selecionando Configurar conexão e


inserindo credenciais ou qualquer outra coisa que você precise para se conectar à
fonte de dados nesta fase.

6. Verifique a conexão:

Se você tiver feito todas as etapas corretamente, verá uma pré-visualização dos
dados no Editor do Power Query.

Algumas funções do Power Query Desktop


exigem um gateway no Power Query Online
Algumas das funções podem exigir um gateway, mesmo que a fonte não seja local.
Entre elas estão funções como Web.BrowserContents e Web.Page. Se isso acontecer,
você poderá receber uma mensagem de erro indicando qual função específica não tem
suporte. A figura a seguir mostra um exemplo de um desses cenários.
Se um cenário como esse acontecer, você terá duas opções. Você pode configurar o
gateway para essa fonte de dados ou atualizar a consulta no Editor do Power Query
para o fluxo de dados, usando um conjunto de etapas com suporte sem a necessidade
do gateway.

Atualizar as tabelas de fluxo de dados


Após migrar consultas para o fluxo de dados, atualize o fluxo de dados para obter
dados carregados nessas tabelas. Você pode atualizar um fluxo de dados manualmente
ou configurar uma atualização automática com base no agendamento de sua
preferência.

Obter dados do Power Query Desktop


Agora você pode obter dados de tabelas de fluxo de dados no Power BI Desktop
usando o fluxo de dados do Power Platform ou conectores do Dataverse (dependendo
do tipo de fluxo de dados empregado, analítico ou padrão). Para mais informações:
Conectar-se aos dados criados por fluxos de dados do Power Platform no Power BI
Desktop
Usar um gateway de dados local nos
fluxos de dados do Power Platform
Artigo • 23/03/2023

Instale um gateway de dados local para transferir dados de maneira rápida e segura
entre o fluxo de dados do Power Platform e uma fonte de dados que não esteja na
nuvem, como um banco de dados SQL Server local ou um site local do SharePoint. É
possível exibir todos os gateways para os quais você tem permissões administrativas e
gerenciar permissões e conexões com eles.

Pré-requisitos

Serviço do Power BI
Uma conta de serviço do Power BI. Não tem uma? Inscreva-se gratuitamente por
60 dias.

Permissões administrativas em um gateway. Essas permissões são fornecidas por


padrão para os gateways instalados. Os administradores podem conceder
permissões para os gateways a outras pessoas.

Power Apps
Uma conta do Power Apps. Não tem uma? Inscreva-se gratuitamente por 30 dias.

Permissões administrativas em um gateway. Essas permissões são fornecidas por


padrão para os gateways instalados. Os administradores podem conceder
permissões para os gateways a outras pessoas.

Uma licença que dá suporte ao acesso a dados locais usando um gateway local.
Para saber mais sobre a linha "Conectar-se aos seus dados" da tabela "Explorar
planos do Power Apps", visite a página Preços do Power Apps .

Instale um gateway
É possível instalar um gateway de dados local diretamente do serviço online.

7 Observação
É uma boa prática geral garantir que você esteja usando uma versão com
suporte do gateway de dados local. Lançamos novas atualizações do gateway
de dados local todos os meses. Atualmente, a Microsoft dá suporte ativo
apenas às últimas seis versões do gateway de dados local.
A partir de abril de 2022, a versão mínima necessária do gateway será a de
fevereiro de 2021. Os fluxos de dados que são atualizados usando uma versão
anterior do gateway podem ter falhas na atualização.

Instalar um gateway por meio do serviço do Power BI


Para instalar um gateway por meio do serviço do Power BI:

1. Clique no botão “Downloads” no canto superior direito do serviço do Power BI e


escolha Gateway de Dados.

2. Instale o gateway usando as instruções fornecidas em Instalar um gateway de


dados local.

Instalar um gateway por meio do Power Apps


Para instalar um gateway por meio do Power Apps:

1. No painel de navegação esquerdo de powerapps.com , selecione


Dados>Gateways.
2. Selecione Novo gateway .
3. Na seção Gateway de dados local, selecione Baixar.

4. Instale o gateway usando as instruções fornecidas em Instalar um gateway de


dados local.

Usar uma fonte de dados local em um fluxo de


dados
1. Para saber como criar um fluxo de dados, acesse Criar um fluxo de dados com
base em uma fonte de dados.

2. Selecione uma fonte de dados local na lista de fontes de dados.


3. Forneça os detalhes de conexão do gateway corporativo que será usado para
acessar os dados locais. Você deve selecionar o próprio gateway e fornecer
credenciais para o gateway selecionado. Somente os gateways dos quais você é
um administrador aparecerão na lista.

É possível alterar o gateway corporativo usado para um determinado fluxo de dados e o


gateway atribuído a todas as suas consultas usando a ferramenta de criação de fluxo de
dados.

7 Observação

O fluxo de dados tentará localizar ou criar as fontes de dados necessárias usando o


novo gateway. Se isso não for possível, você não poderá alterar o gateway até que
todos os fluxos de dados necessários estejam disponíveis no gateway selecionado.

Exibir e gerenciar permissões de gateway

Permissões de gateway do serviço do Power BI


1. Clique no botão de instalação no canto superior direito do serviço do Power BI,
escolha Gerenciar gateways e selecione o gateway desejado.
2. Para adicionar um usuário ao gateway, selecione a tabela Administradores e insira
o endereço de email do usuário que você deseja adicionar como administrador. A
criação ou modificação de fontes de dados em fluxos de dados requer permissões
de administrador do gateway. Os administradores que têm controle total do
gateway, incluindo a adição de usuários, a definição de permissões, a criação de
conexões com todas as fontes de dados disponíveis e a exclusão do gateway.

As seguintes condições se aplicam ao adicionar um usuário ao gateway:

1. Se for detectado que uma fonte de dados existente está disponível para o gateway
selecionado, os campos Nome de usuário e Senha serão preenchidos
previamente.

a. Neste momento, se você selecionar Avançar, será considerado que você está
usando essa fonte de dados existente e, portanto, só precisa ter permissões
para ela.

b. Se você editar qualquer um dos campos de credencial e clicar em Avançar, será


considerado que você está editando essa fonte de dados existente, o que exige
que você seja um administrador do gateway.

2. Se não detectarmos que uma fonte de dados existente está disponível para o
gateway selecionado, os campos Nome de usuário e Senha ficarão em branco e,
se você editar os campos de credencial e clicar em Avançar, será considerado que
você está criando uma fonte de dados no gateway, o que exige que você seja um
administrador do gateway.

Se você só tiver permissão de usuário de fonte de dados no gateway, 1.b e 2 não


poderão ser realizados e o fluxo de dados não poderá ser criado.

Permissões de gateway do Power Apps


1. No painel de navegação esquerdo de powerapps.com , clique em Gateways e
selecione o gateway desejado.

2. Para adicionar um usuário a um gateway, selecione Usuários, especifique um


usuário ou grupo e especifique um nível de permissão. Criar fontes de dados com
um gateway em fluxos de dados requer a permissão de administrador no gateway.
Os administradores que têm controle total do gateway, incluindo a adição de
usuários, a definição de permissões, a criação de conexões com todas as fontes de
dados disponíveis e a exclusão do gateway.

Exibir e gerenciar conexões de gateway

Conexões de gateway do serviço do Power BI


1. Clique no botão de instalação no canto superior direito do serviço do Power BI,
escolha Gerenciar gateways e selecione o gateway desejado.

2. Para realizar a ação desejada:

Para exibir detalhes e editar as configurações, clique em Configurações do


cluster de gateway.
Para adicionar usuários como administradores do gateway, clique em
Administradores.
Para adicionar uma fonte de dados ao gateway, selecione Adicionar fonte de
dados, insira um nome para ela e escolha o tipo respectivo nas
Configurações da fonte de dados e insira o endereço de email da pessoa
que a usará.
Para excluir um gateway, clique nas reticências à direita do nome do gateway
e selecione Remover.

Conexões de gateway do Power Apps


1. No painel de navegação à esquerda em powerapps.com, clique em Gateways e
selecione o gateway desejado.

2. Para realizar a ação desejada:

Para exibir detalhes, editar as configurações ou excluir um gateway, clique em


Conexões e selecione uma conexão.

Para compartilhar uma conexão, clique em Compartilhar e adicione ou


remova usuários.

7 Observação

É possível compartilhar apenas alguns tipos de conexões, como a do


SQL Server. Para saber mais, confira Compartilhar recursos de aplicativo
de tela no Power Apps.

Para saber como gerenciar uma conexão, confira Gerenciar conexões de


aplicativo de tela no Power Apps.

Limitações
Há algumas limitações conhecidas ao usar fluxos de dados e gateways corporativos.

A atualização do fluxo de dados poderá falhar se um gateway de dados


desatualizado for usado. Desde abril de 2022, a versão mínima necessária do
gateway de dados é a de fevereiro de 2021.

Cada fluxo de dados pode usar apenas um gateway. Como tal, todas as consultas
devem ser configuradas usando o mesmo gateway.

A alteração do gateway afeta todo o fluxo de dados.

Se forem necessários vários gateways, a prática recomendada é criar vários fluxos


de dados (um para cada). Em seguida, use os recursos de referência de tabela ou
computação para unificar os dados.

Os fluxos de dados só têm suporte usando os gateways corporativos. Os gateways


pessoais não estarão disponíveis para seleção nas telas de listas suspensas e
configurações.

A criação de fontes de dados com um gateway em fluxos de dados só tem suporte


para pessoas com permissões de Administrador.
Os usuários com permissões Uso Permitido ou Uso Permitido + Compartilhamento
podem usar conexões existentes ao criar fluxos de dados.

Os seguintes conectores têm suporte:


DB2
Sistema de Arquivos
Apache Impala
Informix
MySQL
Banco de dados Oracle
PostgreSQL
SAP ERP
SharePoint
SQL Server
Teradata
Fluxos de desktop
HTTP com o Azure AD

Solução de problemas
Ao tentar usar uma fonte de dados local para publicar um fluxo de dados, é possível
que você se depare com o seguinte erro MashupException:

AzureDataLakeStorage failed to get the response:


'The underlying connection was closed: An unexpected error occurred on a
send.'

Geralmente, esse erro ocorre porque você está tentando se conectar a um ponto de
extremidade do Azure Data Lake Storage por meio de um proxy, mas não definiu
corretamente as configurações de proxy para o gateway de dados local. Para saber
como definir essas configurações de proxy, confira Definir as configurações de proxy
para o gateway de dados local.

Para saber mais sobre a solução de problemas de gateways ou a configuração do


serviço de gateway para sua rede, confira a Documentação do gateway de dados local.

Em caso de problemas com a versão do gateway sendo usada, tente atualizar para a
versão mais recente, pois seu problema pode ter sido resolvido nela. Para saber como
atualizar seu gateway, acesse Atualizar um gateway de dados local.
Próximas etapas
Criação e uso de fluxos de dados no Power Apps

Adicionar dados a uma tabela no Microsoft Dataverse usando o Power Query

Conectar-se ao Azure Data Lake Storage Gen2 para armazenamento de fluxo de


dados
Data exfiltration considerations and
best practices for dataflows
Article • 08/07/2023

Fabric dataflows and Power Platform dataflows are Microsoft 365 services that enable
users to easily connect to, extract, move, and transform data across hundreds of
supported data sources. Dataflows build upon an underlying service called Power Query
Online, which hosts the data movement engine (Mashup Engine) as a cloud service. By
default, connectivity originates from this cloud location and has unrestricted access to
the internet. Therefore, when using dataflows to access and move sensitive data,
organizations should consider strategies to deter insiders from accidental or malicious
data exfiltration. This article outlines known risk factors and best practices for
safeguards.

Considerations

Arbitrary code execution


Dataflow ETL jobs are defined through programs written in a language called Power
Query M. In its default configuration, the Mashup Engine executes these programs in
the cloud, outside the tenant's network boundary, and with unrestricted internet access.
Users can author programs that connect to multiple data sources, and upon consent,
allow data to flow between these sources.

A trusted user who has access to sensitive data can author a program to push the data
to an untrusted data store. Since the Mashup Engine runs entirely in the cloud, it doesn't
go through corporate firewalls and proxy servers. So, it isn't subject to any data loss
prevention (DLP) policies that might be enforced by these networks. Since the point of
access is on the public internet, data can travel to any destination that the user has
access to—either through authentication or anonymous access. Here are some
examples of ways in which these programs can exfiltrate sensitive data:

Anonymous web requests: By using Web.Contents, users can make web requests
with sensitive data in the body of the request.
Cross data source filtering and joins: Sensitive data can be used as filtering or join
conditions against another untrusted data source. Specifically, data can travel to
the untrusted data source in the form of query strings or parameters.
Output destinations: By using Fabric dataflows, users can specify output
destinations for their queries, thereby transferring data to a list of supported data
sinks, which includes Azure SQL databases and data warehouses, Fabric
Lakehouses, Warehouses, and KQL databases.

Cross-tenant data movement


The Mashup Engine requires data sources to be explicitly defined before making
connections. The data sources are bound to programs with a kind and path key (for
example, SQL;contoso.database.windows.net ). This binding provides an opportunity for
organizations to govern which data sources are permitted, by filtering based on the data
source paths. However, there are some data sources where the path is common across
all connections and data is segmented only by the tenant of the signed in user's OAuth
credentials. This scenario creates a risk factor for data exfiltration, where a user signs
into a higher security tenant and a lower security tenant and moves data between them.
Typically, this exfiltration can be done in two ways:

Outbound: A trusted user in a higher security tenant defines a dataflow in that


environment and creates an output destination to a permitted data sink, but
authenticates with the data sink using an account from a lower security tenant.
Inbound: A user in a lower security tenant defines a dataflow that reads data from
a sensitive data source in the higher security tenant. This definition can be
achieved by authenticating against the sensitive data source using a trusted
account in the higher security tenant.

Recommended best practices


DLP policies can operate at various OSI layers. In general, the more sensitive the data,
the lower the layer where the policies must be applied. Lower layer protocols are
typically more expensive to implement, harder to scale, and more difficult to operate.
For example, organizations with lower governance requirements might only need to
apply application layer policies. However, some organizations and entities processing
highly sensitive data might require extreme measures such as physical isolation. We
recommend that organizations handling sensitive data employ a combination of
application and network-level policies to protect against insider threats.

Network isolation
We recommend that all data stores containing sensitive data be network isolated to
permit access only from selected networks. This isolation restriction must be defined
and operated at the network layer or lower. For example, layer 3 firewalls, Network
Security Groups (NSGs), and Azure Private Links are good examples of mechanisms that
can be used. However, location-based conditional access policies in Azure Active
Directory (Azure AD) operate at the application layer and are considered insufficient for
this purpose.

These network isolation policies must obstruct line of sight from dataflows' cloud
execution engine to sensitive data stores (since the cloud engine runs on the public
internet). Dataflows' connectivity to these data stores is then forced to originate from
within one of the permitted networks by binding connections to an on-premises data
gateway or VNet data gateway. An important execution characteristic of dataflows is
that cloud-based evaluation and gateway-based evaluation are never blended. If a
dataflow needs to access a network isolated data store (and is therefore bound to a
gateway), all data access is then required to flow through the gateway. Additionally,
since gateways physically reside in networks controlled by the user tenant, they comply
with network level restrictions such as firewalls and DLP protection solutions. These
restrictions make gateway environments as secure and safe as any corporate managed
devices and mitigate risks associated with arbitrary code execution in a cloud
environment.

It's worth noting that network isolation must be applied to all data stores that might
contain sensitive data. Consider an example where a user creates a dataflow to read
data from OneDrive for Business into Power BI. Then the user later creates a linked
dataflow to transform the data in Power BI into downstream entities. In this scenario, it's
not sufficient to just isolate OneDrive for Business to trusted networks. Since sensitive
data might also reside within Power BI, it's important to isolate such data by enabling
private links and disabling public Internet access for Power BI. Learn more about secure
access to Power BI using private endpoints.
Force gateway execution
The goal for isolating sensitive data store to selected networks is to force the origin of
access back to trusted networks, so that existing policies governing managed devices
can be used to govern data movement from dataflows. In certain cases, a full network
isolation solution might take time to develop, test, and deploy. As an alternative, you
can file a dataflows support ticket to apply a tenant-wide policy that turns off the
Mashup Engine. This policy affects all query evaluations that use the Power Query
Online Mashup Engine. Impacted capabilities include:

Fabric dataflows
Power Platform dataflows
Azure Data Factory wrangling dataflows
Dataflows in Dynamics 365 (Customer Insights, Intelligent Order Management, and
so on)
Power BI Datamart
Power BI Quick Import from SharePoint

After application of the policy, all cloud-based execution fails with the following error:
Cloud evaluation request denied based on tenant policies. Please use a data gateway

and try again. This error effectively forces all query evaluations in the tenant to occur

on gateways, without first rolling out a full network isolation solution. Note that the
policy is applied to the entire tenant and not a subset of workloads. This policy means
existing workloads fail immediately and require manual intervention to convert to run
on gateways. Organizations applying this policy should also ensure that they have
enough capacity in their gateway clusters to accommodate all their workloads.

Tenant isolation
For most software-as-a-service (SaaS) layer data stores, such as Fabric Lakehouse and
Power Platform Dataverse, there's usually a multi-tenant endpoint that one
communicates with to gain access to the data. These endpoints are common across all
users of the service, so they can be difficult to isolate and protect solely using network
(Layer 3) isolation techniques. The recommended approach for this kind of data store is
to use Layer 7 policies, typically provided by Azure Active Directory:

Allow only Azure AD authentication. Remove anonymous and username/password


authentication schemes from the data store.
Use location policies to allow sign-in to the secured tenant only from managed
devices. Learn more.
Disallow unknown tenant sign-ins from managed devices by using Azure AD
tenant restrictions. Use tenant restrictions to manage access to SaaS apps. Learn
more.

This approach restricts access to the tenant’s sensitive data stores to a set of managed
devices where signing into another tenant isn't permitted, effectively isolating data
movement across the tenant.

Roadmap
The following list contains some of the features that are currently planned to help
organizations better manage data exfiltration risks in Fabric:

Data source connection allowlisting: Allows Fabric tenant admins to control the
kinds of connectors that can be used within the tenant, and the endpoints the
connectors can connect to.
Connection usage auditing: Support for auditing logs that track connection
creation, updating, deletion, and usage.
Criar tabelas computadas em fluxos de
dados
Artigo • 05/10/2023

Você pode executar cálculos no armazenamento ao usar fluxos de dados com uma
assinatura do Power BI Premium. Isso permite realizar cálculos em seus fluxos de dados
e retornar resultados que permitem que você se concentre na criação e na análise de
relatórios.

Para executar cálculos em armazenamento, primeiro você deve criar o fluxo de dados e
trazer dados para esse armazenamento de fluxo de dados do Power BI. Depois de ter
um fluxo de dados que contém dados, você pode criar tabelas computadas, que são
tabelas que fazem computações no armazenamento.

Há duas maneiras de conectar dados de fluxo de dados ao Power BI:

Usando a criação de autoatendimento de um fluxo de dados


Usando um fluxo de dados externo

As seções a seguir descrevem como criar tabelas computadas em seus dados de fluxo
de dados.

Como criar tabelas computadas


Depois que tiver um fluxo de dados com uma lista de tabelas, você poderá executar
cálculos nessas tabelas.

Na ferramenta de criação de fluxo de dados no serviço do Power BI, selecione Editar


tabelas. Em seguida, clique com o botão direito na tabela que deseja usar como base
para sua tabela computada e na qual deseja executar computações. No menu de atalho,
selecione Referência.

Para que a tabela seja qualificada como uma tabela computada, é necessário selecionar
Habilitar carga conforme mostrado na imagem a seguir. Clique com o botão direito na
tabela para exibir esse menu de atalho.

Ao selecionar Habilitar carga, você cria uma nova tabela cuja origem é a tabela
referenciada. O ícone mudará para o de computado, conforme mostrado na imagem a
seguir.
Qualquer transformação que você fizer nessa tabela recém-criada será executada nos
dados que já residem no armazenamento de fluxo de dados do Power BI. Isso significa
que a consulta não será executada na fonte de dados externa da qual os dados foram
importados (por exemplo, o banco de dados SQL do qual os dados foram obtidos).

Casos de uso de exemplo


Quais transformações podem ser feitas com tabelas computadas? Qualquer
transformação que você normalmente especifica ao usar a interface do usuário de
transformação no Power BI ou no editor M podem ser usadas ao executar a computação
no armazenamento.

Considere o exemplo a seguir. Você tem a tabela Conta que contém os dados brutos de
todos os clientes de sua assinatura do Dynamics 365. Você também tem dados brutos
de ServiceCalls da central de atendimento, com dados das chamadas de suporte que
foram realizadas de contas diferentes em cada dia do ano.

Imagine que você deseja enriquecer a tabela Account com dados de ServiceCalls.

Primeiro, você precisaria agregar os dados das ServiceCalls para calcular o número de
chamadas de suporte que foram feitas para cada conta no último ano.

Em seguida, mescle a tabela Account com a tabela ServiceCallsAggregated para calcular


a tabela Account enriquecida.

Agora, é possível ver os resultados, mostrados como EnrichedAccount na imagem a


seguir.

Esse é o processo. A transformação foi feita nos dados no fluxo de dados que residem
na assinatura do Power BI Premium, não nos dados da fonte.

Considerações e limitações
É importante observar que, se você remover o workspace da capacidade do Power BI
Premium, o fluxo de dados associado não será mais atualizado.

Ao trabalhar com fluxos de dados criados especificamente na conta do Azure Data Lake
Storage de uma organização, as tabelas vinculadas e as tabelas computadas só
funcionam corretamente quando as tabelas residem na mesma conta de
armazenamento. Mais informações: Conectar o Azure Data Lake Storage Gen2 para
armazenamento de fluxo de dados

As tabelas vinculadas estão disponíveis somente para fluxos de dados criados no Power
BI e no Power Apps. Como prática recomendada, ao fazer computações em dados
unidos por dados locais e na nuvem, crie uma nova tabela para executar essas
computações. Isso fornece uma experiência melhor do que usar uma tabela existente
para computações, como uma tabela que também está consultando dados de ambas as
fontes e fazendo transformações no armazenamento.

Confira também
Cenários e casos de uso de tabela computada

Este artigo descreveu tabelas computadas e fluxos de dados. Confira outros artigos que
podem ser úteis:

Preparação de dados de autoatendimento no Power BI


Usar a atualização incremental com fluxos de dados
Conectar-se a fontes de dados para fluxos de dados
Vincular tabelas entre fluxos de dados

Os links a seguir fornecem informações adicionais sobre fluxos de dados no Power BI e


outros recursos:

Criar e usar fluxos de dados no Power BI


Usar fluxos de dados com fontes de dados locais
Recursos do desenvolvedor para fluxos de dados do Power BI
Definir configurações de fluxo de dados de workspace (visualização)
Adicionar uma pasta CDM ao Power BI como um fluxo de dados (Versão
preliminar)
Conectar-se o Azure Data Lake Storage Gen2 para armazenamento de fluxo de
dados (visualização)

Para obter mais informações sobre Power Query e atualização agendada, você pode ler
esses artigos:

Visão geral de consulta no Power BI Desktop


Configurando atualização agendada

Para obter mais informações sobre o Common Data Model, leia este artigo com uma
visão geral:

Common Data Service


Vincular tabelas entre fluxos de dados
Artigo • 05/10/2023

Com fluxos de dados no Microsoft Power Platform, você pode ter uma única fonte de
armazenamento de dados organizacionais em que os analistas de negócios podem
preparar e gerenciar seus dados uma vez e, em seguida, reutilizá-los entre aplicativos de
análise diferentes na organização.

Ao vincular tabelas entre fluxos de dados, você pode reutilizar tabelas já ingeridas,
limpas e transformadas por fluxos de dados que pertencem a outras pessoas, sem
precisar manter esses dados. As tabelas vinculadas simplesmente apontam para as
tabelas em outros fluxos de dados e não copiam ou duplicam os dados.

As tabelas vinculadas são somente leitura; portanto, se você desejar criar


transformações para uma tabela vinculada, crie uma nova tabela computada com uma
referência à tabela vinculada.

Disponibilidade da tabela vinculada


A disponibilidade da tabela vinculada depende do uso de fluxos de dados no Power BI
ou no Power Apps. As seções a seguir descrevem os detalhes.

Tabelas vinculadas no Power BI


Para serem atualizadas, as tabelas vinculadas exigem uma assinatura do Power BI
Premium. As tabelas vinculadas estão disponíveis em qualquer fluxo de dados em um
workspace hospedado na capacidade do Power BI Premium. Não há limitações no fluxo
de dados de origem.

As tabelas vinculadas só funcionam corretamente em novos workspaces do Power BI e,


da mesma forma, todos os fluxos de dados vinculados devem estar localizados em
novos workspaces. Mais Informações: Crie os novos espaços de trabalho em Power BI

7 Observação

As tabelas diferem com base no fato de serem tabelas padrão ou computadas. As


tabelas padrão (em geral, conhecidas como tabelas) consultam uma fonte de dados
externa, como um banco de dados SQL. As tabelas computadas exigem capacidade
Premium no Power BI e executam transformações em dados que já estão no
armazenamento do Power BI.
Se o fluxo de dados não estiver localizado em um workspace de capacidade
Premium, você ainda poderá fazer referência a uma única consulta, ou combinar
duas ou mais consultas, desde que as transformações não sejam definidas como
transformações no armazenamento. Essas referências são consideradas tabelas
padrão. Para fazer isso, desative a opção Habilitar carga para as consultas
referenciadas a fim de impedir que os dados sejam materializados e inseridos no
armazenamento. A partir daí, você pode fazer referência a essas consultas Habilitar
carga = falso e definir Habilitar carga como Ativado apenas para as consultas
resultantes que você deseja materializar.

Tabelas vinculadas no Power Apps


Para obter mais informações sobre a disponibilidade de tabelas vinculadas no Power
Apps, acesse Licenças necessárias para usar fluxos de dados.

Como vincular tabelas entre fluxos de dados


Há algumas formas de vincular tabelas entre fluxos de dados. Para vincular tabelas no
Power BI, faça logon com suas credenciais do Power BI.

Você pode selecionar Obter dados na ferramenta de criação de fluxo de dados, que
exibe uma caixa de diálogo para selecionar as categorias e cada fonte de dados.
Selecione o conector de Fluxo de dados do Power Platform.

Uma janela de conexão para a conexão de dados selecionada é exibida. Se as


credenciais forem necessárias, você será solicitado a fornecê-las.

No Power BI, você pode selecionar Adicionar tabelas vinculadas na ferramenta de


criação de fluxo de dados.

Você também pode selecionar Adicionar tabelas vinculadas no menu Adicionar tabelas
no serviço do Power BI.

Uma janela do Navegador é aberta e você pode escolher um conjunto de tabelas para
se conectar. A janela exibe tabelas às quais você tem permissões em todos os
workspaces e ambientes da organização.

Após selecionadas, as tabelas vinculadas aparecem na lista de tabelas do fluxo de dados


na ferramenta de criação, com um ícone especial identificando-as como tabelas
vinculadas.

Você também pode exibir o fluxo de dados de origem a partir das configurações de
fluxo de dados da tabela vinculada.

Lógica de atualização de tabelas vinculadas


Há uma ligeira diferença na lógica de atualização de tabelas vinculadas com base no
uso do Power BI ou do Power Apps, conforme descrito nas seções a seguir.

Atualizar lógica no Power BI


A lógica de atualização padrão de tabelas vinculadas depende do fato do fluxo de
dados de origem estar no mesmo workspace do Power BI que o fluxo de dados de
destino. As seções a seguir descrevem o comportamento de cada uma.

Links entre workspaces: a atualização de links de tabelas em workspaces distintos


se comporta como um link para uma fonte de dados externa. Quando o fluxo de
dados é atualizado, ele obtém os dados mais recentes da tabela a partir do fluxo
de dados de origem. Se o fluxo de dados de origem for atualizado, ele não afetará
automaticamente os dados no fluxo de dados de destino.

Links no mesmo workspace: quando ocorre a atualização de dados para um fluxo


de dados de origem, esse evento dispara automaticamente um processo de
atualização para tabelas dependentes em todos os fluxos de dados de destino no
mesmo workspace, incluindo tabelas calculadas com base neles. Todas as outras
tabelas no fluxo de dados de destino são atualizadas conforme a agenda de fluxo
de dados. As tabelas que dependem de mais de uma fonte atualizam os dados
sempre que uma das fontes é atualizada com êxito.

7 Observação

Todo o processo de atualização é confirmado ao mesmo tempo. Por isso, se a


atualização de dados para o fluxo de dados de destino falhar, a atualização de
dados para o fluxo de dados de origem também falhará.

Atualizar lógica no Power Apps


A lógica de atualização de tabelas vinculadas no Power Apps se comporta como uma
fonte de dados externa. Quando o fluxo de dados é atualizado, ele obtém os dados
mais recentes da tabela a partir do fluxo de dados de origem. Se o fluxo de dados de
origem for atualizado, ele não afetará automaticamente os dados no fluxo de dados de
destino.

Permissões ao exibir relatórios de fluxos de


dados
Ao criar um relatório do Power BI que inclui dados com base em um fluxo de dados,
você pode ver tabelas vinculadas somente quando tem acesso ao fluxo de dados de
origem.
Limitações e considerações
Há limitações ao trabalhar com tabelas vinculadas:

Uma tabela pode ser referenciada por outros fluxos de dados. Outros fluxos de
dados podem referenciar a tabela de referência, e assim por diante, até cinco
vezes.
Não há permissão para dependências cíclicas de tabelas vinculadas.
O fluxo de dados deve estar em um novo workspace do Power BI ou em um
ambiente do Power Apps.
Uma tabela vinculada não pode ser unida a uma tabela normal que obtém seus
dados de uma fonte de dados local.
Ao usar parâmetros M para endereçar tabelas vinculadas, se o fluxo de dados de
origem for atualizado, ele não afetará automaticamente os dados no fluxo de
dados de destino.
Não há suporte para a tentativa de conectar duas tabelas de fluxo de dados entre
dois workspaces de tipos de armazenamento distintos: BYOSA (traga seu próprio
armazenamento) e Interno.

Próximas etapas
Os seguintes artigos podem ser úteis para criar ou trabalhar com fluxos de dados:

Preparação de dados de autoatendimento no Power BI


Usar a atualização incremental com fluxos de dados
Criar tabelas computadas em fluxos de dados
Conectar-se a fontes de dados para fluxos de dados

Os seguintes artigos fornecem mais informações sobre os fluxos de dados e o Power BI:

Criar e usar fluxos de dados no Power BI


Usar tabelas computadas no Power BI Premium
Usar fluxos de dados com fontes de dados locais
Recursos do desenvolvedor para fluxos de dados do Power BI

Para obter mais informações sobre Power Query e atualização agendada, você pode ler
esses artigos:

Visão geral de consulta no Power BI Desktop


Configurando atualização agendada

Para obter mais informações sobre o Common Data Model, leia este artigo com uma
visão geral:
Common Data Model - visão geral
Conectar-se ao Azure Data Lake Storage
Gen2 para armazenamento de fluxo de
dados
Artigo • 23/03/2023

Você pode configurar fluxos de dados para armazenar seus dados na conta Azure Data
Lake Storage Gen2 da sua organização. Este artigo descreve as etapas gerais necessárias
para fazer isso e fornece diretrizes e práticas recomendadas ao longo do caminho.

) Importante

O fluxo de dados com recurso de Tabelas analíticas utiliza o serviço Link do Azure
Synapse para o Dataverse, que pode oferecer diferentes níveis de compromissos de
conformidade, privacidade, segurança e localização de dados. Para obter mais
informações sobre Azure Synapse Link para Dataverse, acesse O que é Azure
Synapse Link para Dataverse?.

Há algumas vantagens em configurar para que fluxos de dados armazenem as


definições e arquivos de dados no data lake, como:

O Azure Data Lake Storage Gen2 fornece um local de armazenamento


extremamente escalonável para os dados.
Os arquivos de definição e de dados de fluxo de dados podem ser usados pelos
desenvolvedores de seu departamento de TI para aproveitar os serviços de IA
(inteligência artificial) e dados do Azure, conforme demonstrado nos exemplos do
GitHub dos serviços de dados do Azure.
Permite que os desenvolvedores da sua organização integrem dados de fluxo de
dados a aplicativos internos e soluções de linha de negócios, usando recursos para
desenvolvedores em fluxos de dados e no Azure.

Requisitos
Para usar o Azure Data Lake Storage Gen2 para fluxo de dados, é necessário o seguinte:

Um ambiente do Power Apps. Qualquer plano do Power Apps permitirá que você
crie fluxos de dados com Azure Data Lake Storage Gen2 como destino. Você
precisará ser autorizado no ambiente como um criador.
Uma assinatura do Azure. Você precisa de uma assinatura do Azure para usar o
Azure Data Lake Storage Gen2.
Um grupo de recursos. Use um grupo de recursos existente ou crie um.
Uma conta de armazenamento do Azure. A conta de armazenamento deve ter o
recurso Data Lake Storage Gen2 habilitado.

 Dica

Se você não tiver uma assinatura do Azure, crie uma conta de avaliação gratuita
antes de começar.

Preparar o Azure Data Lake Storage Gen2 para


fluxos de dados do Power Platform
Antes de configurar o ambiente com uma conta do Azure Data Lake Storage Gen2, você
deve criar e configurar uma conta de armazenamento. Aqui estão os requisitos para
fluxos de dados do Power Platform:

1. A conta de armazenamento deverá ser criada no mesmo locatário do Azure Active


Directory como locatário do Power Apps.
2. Recomendamos que a conta de armazenamento seja criada na mesma região que
o ambiente do Power Apps em que você planeja usá-la. Para determinar o local em
que está o ambiente do Power Apps, entre em contato com o administrador do
ambiente.
3. A conta de armazenamento deve ter o recurso Namespace hierárquico habilitado.
4. Você deve receber uma função Proprietário na conta de armazenamento.

As seções a seguir percorrem as etapas necessárias para configurar a conta do Azure


Data Lake Storage Gen2.

Criar a conta de armazenamento


Siga as etapas em Criar uma conta de armazenamento do Azure Data Lake Storage
Gen2.

1. Selecione a mesma região que a do ambiente e defina o armazenamento como


StorageV2 (uso geral v2).
2. Habilite o recurso de namespace hierárquico.
3. Recomendamos que você defina a configuração de replicação como RA-GRS
(Armazenamento com redundância geográfica com acesso de leitura).
Conectar o Azure Data Lake Storage Gen2 ao
Power Apps
Depois de configurar sua conta do Azure Data Lake Storage Gen2 no portal do Azure,
você estará pronto para conectá-la a um fluxo de dados específico ou a um ambiente
do Power Apps. Conectar o lake a um ambiente permitirá que outros criadores e
administradores no ambiente também criem fluxos de dados que armazenam os dados
no lake da sua organização.

Para conectar sua conta do Azure Data Lake Storage Gen2 ao fluxo de dados, siga estas
etapas:

1. Entre no Power Apps e verifique em qual ambiente você está. O comutador de


ambiente está localizado no lado direito do cabeçalho.

2. No painel de navegação à esquerda, selecione a seta para baixo ao lado de Dados.

3. Na lista exibida, selecione Fluxos de dados e, na barra de comandos, selecione


Novo fluxo de dados.
4. Selecione as tabelas analíticas que deseja. Essas tabelas indicam quais dados você
deseja armazenar na conta do Azure Data Lake Store Gen2 da sua organização.

Selecione a conta de armazenamento a ser


usada para o armazenamento do fluxo de
dados
Se uma conta de armazenamento ainda não tiver sido associada ao ambiente, uma caixa
de diálogo Vincular ao data lake será exibida. Você precisará entrar e encontrar o data
lake criado nas etapas anteriores. Neste exemplo, nenhum data lake está associado ao
ambiente e, portanto, um prompt é exibido solicitando para adicionar um.

1. Selecione a conta de armazenamento.

A tela Selecionar Conta de Armazenamento é exibida.


2. Selecione a ID da Assinatura da conta de armazenamento.

3. Selecione o Nome do grupo de recursos em que a conta de armazenamento foi


criada.

4. Insira o Nome da conta de armazenamento.

5. Selecione Salvar.

Depois que essas etapas forem concluídas com êxito, a conta do Azure Data Lake
Storage Gen2 estará conectada aos fluxos de dados do Power Platform e você poderá
continuar para criar um fluxo de dados.

Considerações e limitações
Há algumas considerações e limitações para ter em mente ao trabalhar com o
armazenamento de fluxo de dados:

Não há suporte para a vinculação de uma conta do Azure Data Lake Store Gen2
para armazenamento de fluxo de dados no ambiente padrão.
Depois que um local de armazenamento de fluxo de dados for configurado para
um fluxo de dados, ele não poderá ser alterado.
Depois que uma conta de armazenamento é vinculada, não há suporte para a
alteração do nome do ambiente e os fluxos de dados vinculados à conta de
armazenamento falharão. A alteração do nome do ambiente reabilitará esses
fluxos de dados.
Por padrão, qualquer membro do ambiente poderá acessar dados do fluxo de
dados usando o Conector de Fluxos de Dados do Power Platform. No entanto,
somente os proprietários de um fluxo de dados podem acessar os arquivos
diretamente no Azure Data Lake Storage Gen2. Para autorizar mais pessoas a
acessar os dados de fluxos de dados diretamente no lake, você deve autorizá-los
para a Pasta CDM do fluxo de dados no data lake ou no próprio data lake.
Quando um fluxo de dados é excluído, a respectiva Pasta do CDM no lake também
é excluída.
Não há suporte para a tentativa de conectar duas entidades de fluxo de dados
entre dois workspaces de diferentes tipos de armazenamento: BYOSA (Traga sua
Própria Conta de Armazenamento) e armazenamentos internos.

) Importante

Você não deve alterar os arquivos criados por fluxos de dados no lake da sua
organização nem adicionar arquivos à Pasta CDM de um fluxo de dados. A
alteração de arquivos poderá danificar os fluxos de dados ou alterar seu
comportamento e não tem suporte. Os Fluxos de dados do Power Platform só
concedem acesso de leitura aos arquivos que eles criam no lake. Se você autorizar
outras pessoas ou serviços no sistema de arquivos usado pelos Fluxos de dados do
Power Platform, conceda-lhes apenas acesso de leitura a arquivos ou pastas desse
sistema de arquivos.

Aviso de privacidade
Ao habilitar a criação de fluxos de dados com Tabelas analíticas em sua organização por
meio do serviço Link do Azure Synapse para Dataverse, os detalhes sobre a conta de
armazenamento do Azure Data Lake, como o nome da conta de armazenamento, serão
enviados e armazenados no Link do Azure Synapse para o serviço Dataverse, que
atualmente está localizado fora do limite de conformidade do PowerApps e poderá
empregar medidas de privacidade e segurança menores ou diferentes do que as
normalmente usadas no PowerApps. Observe que você pode remover a associação do
data lake a qualquer momento para descontinuar o uso dessa funcionalidade e os
detalhes da conta de armazenamento do Azure Data Lake serão removidos do serviço
Link do Azure Synapse para Dataverse. Há mais informações sobre o Link do Azure
Synapse para Dataverse disponíveis neste artigo.

Perguntas frequentes
E se eu tivesse criado fluxos de dados anteriormente no Azure Data Lake Storage Gen2 da
minha organização e gostaria de alterar o local de armazenamento?
Não é possível alterar o local de armazenamento de um fluxo de dados depois que ele
foi criado.

Quando posso alterar o local de armazenamento do fluxo de dados de um ambiente?

Atualmente, não há suporte para alterar o local de armazenamento do fluxo de dados


do ambiente.

Próximas etapas
Este artigo fornece diretrizes sobre como se conectar uma conta do Azure Data Lake
Storage Gen2 para armazenamento de fluxo de dados.

Para obter mais informações sobre fluxos de dados, o Common Data Model e o Azure
Data Lake Storage Gen2, acesse estes artigos:

Preparação de dados de autoatendimento com fluxos de dados


Criação e uso de fluxos de dados no Power Apps
Adicionar dados a uma tabela no Microsoft Dataverse

Para obter mais informações sobre o armazenamento do Azure, acesse este artigo:

Guia de segurança do Armazenamento do Azure

Para obter mais informações sobre o Common Data Model, acesse estes artigos:

Common Data Model – Visão geral


Pastas do Common Data Model
Definição de arquivo de modelo do CDM

Você pode fazer perguntas na Comunidade do Power Apps .


Qual é a estrutura de armazenamento
para fluxos de dados analíticos?
Artigo • 05/08/2023

Os fluxos de dados analíticos armazenam dados e metadados em Azure Data Lake


Storage. Os fluxos de dados aproveitam uma estrutura padrão para armazenar e
descrever os dados criados no lago, que é chamado de pastas de Modelo de Dados
Comuns. Neste artigo, você aprenderá mais sobre o padrão de armazenamento que os
fluxos de dados usam nos bastidores.

O armazenamento precisa de uma estrutura


para um fluxo de dados analítico
Se o fluxo de dados for padrão, os dados serão armazenados no Dataverse. O Dataverse
é como um sistema de banco de dados; tem o conceito de tabelas, exibições e assim
por diante. O Dataverse é uma opção de armazenamento de dados estruturado usada
por fluxos de dados padrão.

No entanto, quando o fluxo de dados é analítico, os dados são armazenados em Azure


Data Lake Storage. Os dados e metadados de um fluxo de dados são armazenados em
uma pasta do Common Data Model. Como uma conta de armazenamento pode ter
vários fluxos de dados armazenados nela, uma hierarquia de pastas e subpastas foi
introduzida para ajudar a organizar os dados. Dependendo do produto em que o fluxo
de dados foi criado, as pastas e subpastas podem representar espaços de trabalho (ou
ambientes) e, em seguida, a pasta Modelo de Dados Comum do fluxo de dados. Dentro
da pasta Common Data Model, o esquema e os dados das tabelas de fluxo de dados
são armazenados. Essa estrutura segue os padrões definidos para o Common Data
Model.
O que é a estrutura de armazenamento do
Common Data Model?
O Common Data Model é uma estrutura de metadados definida para trazer
conformidade e consistência para o uso de dados em várias plataformas. O Common
Data Model não é o armazenamento de dados, é a maneira como os dados são
armazenados e definidos.

As pastas common data model definem como o esquema de uma tabela e seus dados
devem ser armazenados. Em Azure Data Lake Storage, os dados são organizados em
pastas. As pastas podem representar um espaço de trabalho ou ambiente. Nessas
pastas, subpastas para cada fluxo de dados são criadas.

O que há em uma pasta de fluxo de dados?


Cada pasta de fluxo de dados contém uma subpasta para cada tabela e um arquivo de
metadados chamado model.json .

O arquivo de metadados: model.json


O arquivo model.json é a definição de metadados do fluxo de dados. Esse é o único
arquivo que contém todos os metadados de fluxo de dados. Ele inclui uma lista de
tabelas, as colunas e seus tipos de dados em cada tabela, a relação entre tabelas e assim
por diante. Você pode exportar esse arquivo de um fluxo de dados facilmente, mesmo
que não tenha acesso à estrutura de pastas do Common Data Model.

Você pode usar esse arquivo JSON para migrar (ou importar) seu fluxo de dados para
outro espaço de trabalho ou ambiente.
Para saber exatamente o que o arquivo de metadados model.json inclui, acesse o
arquivo de metadados (model.json) do Common Data Model.

Arquivos de dados
Além do arquivo de metadados, a pasta de fluxo de dados inclui outras subpastas. Um
fluxo de dados armazena os dados de cada tabela em uma subpasta com o nome da
tabela. Os dados de uma tabela podem ser divididos em várias partições de dados,
armazenadas no formato CSV.

Como ver ou acessar pastas do Common Data


Model
Se você estiver usando fluxos de dados que usam o armazenamento fornecido pelo
produto em que foram criados, você não terá acesso a essas pastas diretamente. Nesses
casos, obter dados dos fluxos de dados requer o uso do conector de fluxo de dados do
Microsoft Power Platform disponível na experiência Obter dados nos produtos serviço
do Power BI, Power Apps e Dynamics 35 Customer Insights ou no Power BI Desktop.
Para saber como funcionam os fluxos de dados e a integração Data Lake Storage
interna, acesse Fluxos de dados e a integração do Azure Data Lake (versão prévia).

Se sua organização habilitou fluxos de dados para aproveitar sua conta de Data Lake
Storage e foi selecionada como um destino de carga para fluxos de dados, você ainda
poderá obter dados do fluxo de dados usando o conector de fluxo de dados do Power
Platform, conforme mencionado acima. Mas você também pode acessar a pasta
Common Data Model do fluxo de dados diretamente por meio do lago, mesmo fora das
ferramentas e serviços do Power Platform. O acesso ao lago é possível por meio do
portal do Azure, Gerenciador de Armazenamento do Microsoft Azure ou qualquer outro
serviço ou experiência que dê suporte a Azure Data Lake Storage. Par obter mais
informações, confira Conectar-se ao Azure Data Lake Storage Gen2 para
armazenamento de fluxo de dados
Próximas etapas
Usar o Common Data Model para otimizar o Azure Data Lake Storage Gen2

O arquivo de metadados (model.json) para o Common Data Model

Adicionar uma pasta do CDM ao Power BI como um fluxo de dados (versão prévia)

Conectar-se ao Azure Data Lake Storage Gen2 para armazenamento de fluxo de


dados

Integração entre fluxos de dados e o Azure Data Lake (versão prévia)

Definir configurações de fluxo de dados de workspace (visualização)


Opções de armazenamento de fluxo de
dados
Artigo • 05/10/2023

Fluxos de dados padrão sempre carregam dados em tabelas do Dataverse em um


ambiente. Fluxos de dados analíticos sempre carregam dados em contas do Azure Data
Lake Storage. Para ambos os tipos de fluxo de dados, não há necessidade de provisionar
nem gerenciar o armazenamento. O armazenamento do fluxo de dados, por padrão, é
fornecido e gerenciado pelos produtos nos quais o fluxo de dados é criado.

Os fluxos de dados analíticos permitem uma opção de armazenamento adicional: a


conta do Azure Data Lake Storage de sua organização. Essa opção permite o acesso aos
dados criados por um fluxo de dados diretamente nas interfaces do Azure Data Lake
Storage. O fornecimento de sua própria conta de armazenamento para fluxos de dados
analíticos permite que outros aplicativos do Azure ou de linha de negócios façam uso
dos dados conectando-se diretamente ao lake.

Fluxos de dados que usam armazenamento


interno
Por padrão, os fluxos de dados analíticos usarão o Data Lake Storage interno; por
exemplo, quando você cria um fluxo de dados no Power BI ou no Power Apps. O acesso
à saída desse tipo de fluxo de dados só é possível por meio do conector de fluxos de
dados do Microsoft Power Platform no Power BI Desktop ou por meio de outros fluxos
de dados.

Fluxos de dados que usam armazenamento


fornecido pelo cliente
Para criar um fluxo de dados que usa a conta do Data Lake Storage da sua organização,
você deve vincular o ambiente ou o workspace no qual o fluxo de dados foi criado à sua
conta do Data Lake Storage. Dependendo de qual fluxo de dados de produto você está
usando (fluxos de dados do Power BI ou do Power Platform), as configurações para se
conectar a uma assinatura externa do Data Lake Storage estarão vinculadas em locais
diferentes.
Vinculando o Power BI ao Azure Data Lake Storage da sua
organização
Para configurar fluxos de dados do Power BI para armazenar dados no Data Lake
Storage da sua organização, você precisa seguir as etapas descritas em Conectar o
Azure Data Lake Storage Gen2 para armazenamento de fluxo de dados no portal de
administração do Power BI.

Vinculando um ambiente do Power Platform ao Azure


Data Lake Storage da sua organização
Para configurar fluxos de dados criados no Power Apps para armazenar dados no Azure
Data Lake Storage da sua organização, siga as etapas em Conectar o Azure Data Lake
Storage Gen2 para armazenamento de fluxo de dados no Power Apps.
Limitações conhecidas
Depois que um fluxo de dados é criado, seu local de armazenamento não pode ser
alterado.

Os recursos de tabela vinculada e computada só estão disponíveis quando ambos


os fluxos de dados estão na mesma conta de armazenamento.

O mecanismo de computação aprimorado


No Power BI, além do mecanismo de fluxo de dados padrão, um mecanismo de
computação aprimorado está disponível para os fluxos de dados criados em workspaces
do Power BI Premium. Você pode definir essa configuração no portal de administração
do Power BI, nas configurações da capacidade Premium. O mecanismo de computação
aprimorado está disponível nas capacidades Premium P1 ou A3 e superiores. O
mecanismo de computação aprimorado reduz o tempo de atualização exigido para
etapas de extração, transformação, carregamento (ETL) de longa execução em tabelas
computadas, como junções, distinções, filtros e agrupe por. Ele também permite
executar DirectQuery em tabelas do conjunto de dados do Power BI. Para mais
informações: O mecanismo de computação aprimorado
Próximas etapas
Os artigos abaixo fornecem mais informações que podem ser úteis.

Conectar o Azure Data Lake Storage Gen2 para armazenamento de fluxo de dados
(fluxos de dados do Power BI)
Conectar o Azure Data Lake Storage Gen2 para armazenamento de fluxo de dados
(fluxos de dados do Power Platform)
Criar tabelas computadas em fluxos de dados
O mecanismo de computação aprimorado
Noções básicas sobre as diferenças entre fluxos de dados padrão e analíticos
Cenários e casos de uso de tabela
computada
Artigo • 05/10/2023

Há benefícios em usar tabelas computadas em um fluxo de dados. Este artigo descreve


casos de uso de tabelas computadas e descreve como elas funcionam nos bastidores.

O que é uma tabela computada?


Uma tabela representa a saída de dados de uma consulta criada em um fluxo de dados,
após o fluxo de dados ter sido atualizado. Ela representa os dados de uma fonte e,
opcionalmente, as transformações aplicadas a ela. Às vezes, talvez você queira criar
tabelas que sejam uma função de uma tabela ingerida anteriormente.

Embora seja possível repetir as consultas que criaram uma tabela e aplicar novas
transformações a elas, essa abordagem tem desvantagens: os dados são ingeridos duas
vezes e a carga na fonte de dados é dobrada.

Tabelas computadas resolvem ambos os problemas. As tabelas computadas são


semelhantes a outras tabelas, pois obtêm dados de uma fonte e você pode aplicar
transformações adicionais para criá-las. Mas os dados das entidades computadas são
provenientes do fluxo de dados de armazenamento usado e não da fonte de dados
original. Ou seja, elas foram criadas anteriormente por um fluxo de dados e reutilizadas.

As tabelas computadas podem ser criadas fazendo referência a uma tabela no mesmo
fluxo de dados ou fazendo referência a uma tabela criada em um outro fluxo de dados.

Por que usar uma tabela computada?


A execução de todas as etapas de transformação em uma tabela pode ser lenta. Pode
haver muitos motivos para essa lentidão: a fonte de dados pode estar lenta ou as
transformações que você está fazendo podem precisar ser replicadas em duas ou mais
consultas. Pode ser melhor ingerir os dados da fonte primeiro e depois reutilizá-los em
uma ou mais tabelas. Nesses casos, você pode escolher criar duas tabelas: uma que
obtém dados da fonte de dados e outra (uma tabela computada) que aplica mais
transformações aos dados já gravados no data lake usado por um fluxo de dados. Essa
alteração pode aumentar o desempenho e a reutilização de dados, economizando
tempo e recursos.

Por exemplo, se duas tabelas compartilharem até mesmo uma parte de sua lógica de
transformação, sem uma tabela computada, será necessário realizar a transformação
duas vezes.
No entanto, se uma tabela computada for usada, a parte comum (compartilhada) da
transformação será processada uma vez e armazenada no Azure Data Lake Storage. Em
seguida, as transformações restantes são processadas a partir da saída da
transformação comum. Em geral, esse processamento é muito mais rápido.

Uma tabela computada fornece um local como o código-fonte para a transformação e


acelera a transformação porque ela só precisa ser feita uma vez e não várias vezes. A
carga na fonte de dados também é reduzida.

Cenário de exemplo para uso de uma tabela


computada
Se você estiver criando uma tabela agregada no Power BI para acelerar o modelo de
dados, poderá criar a tabela agregada ao fazer referência à tabela original e aplicar mais
transformações a ela. Ao usar essa abordagem, você não precisa replicar a
transformação da origem (a parte que é da tabela original).

Por exemplo, a figura a seguir mostra a tabela Pedidos.

Usando uma referência dessa tabela, você pode criar uma tabela computada.

A tabela computada pode ter transformações adicionais. Por exemplo, você pode usar
Agrupar por para agregar os dados no nível do cliente.
Isso significa que a tabela Pedidos agregados está obtendo dados da tabela Pedidos e
não da fonte de dados novamente. Como algumas das transformações que precisam ser
feitas já foram feitas na tabela Pedidos, o desempenho é melhor e a transformação de
dados é mais rápida.

Tabela computada em outros fluxos de dados


Você também pode criar uma tabela computada em outros fluxos de dados. Ela pode
ser criada obtendo os dados de um fluxo de dados com o conector de fluxo de dados
do Microsoft Power Platform.
O conceito da tabela computada é ter uma tabela persistente no armazenamento e
outras tabelas originadas dela, para que você possa reduzir o tempo de leitura da fonte
de dados e compartilhar algumas das transformações em comum. Essa redução é
possível ao obter dados de outros fluxos de dados por meio do conector de fluxo de
dados ou fazendo referência a outra consulta no mesmo fluxo de dados.

Tabela computada: com transformações ou


sem?
Agora que você sabe que as tabelas computadas são ótimas para melhorar o
desempenho da transformação de dados, uma boa pergunta a ser feita é se as
transformações devem sempre ser adiadas para a tabela computada ou se devem ser
aplicadas à tabela de origem. Ou seja, os dados devem sempre ser ingeridos em uma
tabela e depois transformados em uma tabela computada? Quais são os prós e contras?

Carregar dados sem transformação para arquivos de


Texto/CSV
Quando uma fonte de dados não permite a dobragem de consultas (como arquivos de
Texto/CSV), há poucos benefícios em aplicar transformações ao obter os dados da
origem, especialmente se os volumes de dados forem grandes. A tabela de origem deve
apenas carregar dados do arquivo Texto/CSV sem aplicar nenhuma transformação. Em
seguida, as tabelas computadas podem obter dados da tabela de origem e executar a
transformação por cima dos dados ingeridos.

Você pode se perguntar "qual é a vantagem de criar uma tabela de origem que só
ingere dados?" Essa tabela ainda pode ser útil, porque, se os dados da fonte forem
usados em mais de uma tabela, isso reduzirá a carga na fonte de dados. Além disso,
agora os dados podem ser reutilizados por outras pessoas e outros fluxos de dados. As
tabelas computadas são especialmente úteis em cenários em que o volume de dados é
grande ou quando uma fonte de dados é acessada por meio de um gateway de dados
local, porque reduzem o tráfego do gateway e a carga nas fontes de dados por trás
delas.

Como fazer algumas das transformações comuns em uma


tabela SQL
Se sua fonte de dados oferecer suporte à dobragem de consulta, recomenda-se
executar algumas das transformações na tabela de origem porque a consulta é dobrada
para a fonte de dados e somente os dados transformados são buscados nela. Essas
mudanças melhoram o desempenho geral. O conjunto de transformações que é comum
em tabelas computadas downstream deve ser aplicado na tabela de origem, para que
possam ser dobradas para a origem. Outras transformações que se aplicam apenas a
tabelas downstream devem ser feitas em tabelas computadas.
Melhores práticas para criação e
desenvolvimento de fluxos de dados
complexos
Artigo • 05/10/2023

Se o fluxo de dados que você está desenvolvendo estiver ficando maior e mais
complexo, veja aqui o que você pode fazer para melhorar o design original.

Dividi-lo em vários fluxos de dados


Não faça tudo em um fluxo de dados. Um único fluxo de dados complexo não apenas
torna o processo de transformação de dados mais longo, como também torna mais
difícil de entender e reutilizar o fluxo de dados. A divisão do fluxo de dados em vários
fluxos de dados pode ser feita separando tabelas em fluxos de dados diferentes ou até
mesmo uma tabela em vários fluxos de dados. Você pode usar o conceito de uma tabela
computada ou tabela vinculada para criar parte da transformação em um fluxo de
dados e reutilizá-la em outros fluxos de dados.

Dividir os fluxos de dados de transformação de


dados dos fluxos de preparo/extração
Ter alguns fluxos de dados apenas para extrair dados (ou seja, fluxos de dados de
preparo) e outros apenas para transformar dados é útil não apenas para criar uma
arquitetura multicamada, mas também é útil para reduzir a complexidade dos fluxos de
dados. Algumas etapas apenas extraem dados da fonte de dados, como obter dados,
navegação e alterações de tipo de dados. Ao separar os fluxos de dados de preparo e
os fluxos de dados de transformação, você torna seus fluxos de dados mais simples para
desenvolver.
Usar funções personalizadas
Funções personalizadas são úteis em cenários em que um determinado número de
etapas precisa ser feito para várias consultas de diferentes fontes. As funções
personalizadas podem ser desenvolvidas por meio da interface gráfica em Editor do
Power Query ou usando um script da M. As funções podem ser reutilizadas em um fluxo
de dados em quantas tabelas forem necessárias.

A função personalizada ajuda pois tem apenas uma versão do código-fonte, de modo
que você não precise duplicar o código. Como resultado, manter a lógica de
transformação do Power Query e todo o fluxo de dados é muito mais fácil. Para obter
mais informações, vá para o seguinte post de blog: Funções personalizadas facilitadas
no Power BI Desktop .

7 Observação
Às vezes, você pode receber uma notificação informando que uma capacidade
premium é necessária para atualizar um fluxo de dados com uma função
personalizada. Você pode ignorar essa mensagem e reabrir o editor de fluxo de
dados. Isso geralmente resolve seu problema, a menos que sua função se refira a
uma consulta "habilitada para carga".

Colocar consultas em pastas


O uso de pastas para consultas ajuda a agrupar consultas relacionadas. Ao desenvolver
o fluxo de dados, gaste um pouco mais de tempo para organizar as consultas em pastas
relacionadas. Usando essa abordagem, você pode encontrar consultas mais facilmente
no futuro, e manter o código fica muito mais fácil.

Usar tabelas computadas


Além de tornar seu fluxo de dados mais compreensível, as tabelas computadas também
fornecem melhor desempenho. Quando você usa uma tabela computada, as outras
tabelas referenciadas a partir dela obtém os dados de uma tabela "já processada e
armazenada". A transformação é muito mais simples e rápida.

Aproveite o mecanismo de computação


aprimorado
Para fluxos de dados desenvolvidos no portal de administração do Power BI, certifique-
se de usar o mecanismo de computação aprimorado executando junções e
transformações de filtro primeiro em uma tabela computada antes de fazer outros tipos
de transformações.

Dividir muitas etapas em várias consultas


É difícil manter o controle de um grande número de etapas em uma tabela. Em vez
disso, é recomendável dividir um grande número de etapas em várias tabelas. Você
pode usar Habilitar Carga para outras consultas, desabilitá-las se forem consultas
intermediárias e carregar apenas a tabela final por meio do fluxo de dados. Quando
você tem várias consultas com etapas menores em cada uma, é mais fácil usar o
diagrama de dependência e acompanhar cada consulta para uma investigação mais
aprofundada, em vez de pesquisar centenas de etapas em uma consulta.
Adicionar propriedades para consultas e etapas
A documentação é fundamental para ter um código fácil de manter. No Power Query,
você pode adicionar propriedades às tabelas e também às etapas. O texto que você
adiciona nas propriedades aparece como uma dica de ferramenta quando você passa o
mouse sobre essa consulta ou etapa. Esta documentação ajuda você a manter seu
modelo no futuro. Com apenas uma olhada em uma tabela ou etapa, você poderá
entender o que está acontecendo lá, em vez de repensar e relembrar o que você fez
nessa etapa.

Verifique se a capacidade está na mesma


região
Atualmente, os fluxos de dados não dão suporte a vários países ou regiões. A
capacidade Premium deve estar na mesma região que seu locatário do Power BI.

Separar as fontes locais das fontes na nuvem


Recomendamos que você crie um fluxo de dados separado para cada tipo de fonte,
como local, nuvem, SQL Server, Spark e Dynamics 365. A separação de fluxos de dados
por tipo de fonte facilita a solução rápida de problemas e evita limites internos ao
atualizar os fluxos de dados.

Separar os fluxos de dados com base na


atualização agendada necessária para tabelas
Se você tiver uma tabela de transações de vendas que é atualizada no sistema de
origem a cada hora e também tiver uma tabela de mapeamento de produto que é
atualizada toda semana, divida essas duas tabelas em dois fluxos de dados com
agendas de atualização de dados diferentes.

Evite agendar a atualização para tabelas


vinculadas no mesmo espaço de trabalho
Caso você seja frequentemente bloqueado de seus fluxos de dados que contêm tabelas
vinculadas, isso pode ser causado por um fluxo de dados dependente correspondente
no mesmo espaço de trabalho que é bloqueado durante a atualização do fluxo de
dados. Esse bloqueio fornece precisão transacional e garante que os dois fluxos de
dados sejam atualizados com êxito, mas pode impedir a edição.

Se você configurar um agendamento separado para o fluxo de dados vinculado, os


fluxos de dados poderão ser atualizados desnecessariamente e bloquear a edição do
fluxo de dados. Há duas recomendações para evitar esse problema:

Não defina um agendamento de atualização para um fluxo de dados vinculado no


mesmo workspace que o fluxo de dados de origem.
Se você quiser configurar um agendamento de atualização separadamente e
quiser evitar o comportamento de bloqueio, mova o fluxo de dados para um
workspace separado.
Práticas recomendadas para reutilizar de
fluxos de dados entre ambientes e
espaços de trabalho
Artigo • 05/08/2023

Este artigo discute as práticas recomendadas para reutilizar fluxos de dados de forma
eficaz e eficiente. Leia este artigo para evitar armadilhas de design e possíveis
problemas de desempenho ao desenvolver fluxos de dados para reutilização.

Separe os fluxos de dados de transformação de


dados dos fluxos de dados de preparo/extração
Se um fluxo de dados executar todas as ações, será difícil reutilizar suas tabelas em
outros fluxos de dados ou para outras finalidades. Os melhores fluxos de dados para
reutilização são os fluxos de dados que fazem apenas algumas ações. Criar fluxos de
dados especializados em uma tarefa específica é uma das melhores formas de reutilizá-
los. Se você tiver um conjunto de fluxos de dados que usa como fluxos de dados de
preparo, a única ação disponível será a de extrair dados como estão do sistema de
origem. Esses fluxos de dados podem ser reutilizados em vários outros fluxos.

Se você tiver fluxos de transformação de dados, poderá dividi-los em fluxos de dados


que fazem transformações comuns. Cada fluxo de dados pode fazer apenas algumas
ações. Essas poucas ações por fluxo garantem que a saída desse fluxo de dados seja
reutilizável por outros fluxos de dados.
Vários espaços de trabalho:
Cada espaço de trabalho (ou ambiente) está disponível apenas para membros desse
espaço de trabalho. Se você criar todos os fluxos de dados em um único espaço de
trabalho, vai minimizar a reutilização de seus fluxos de dados. Você pode ter alguns
workspaces genéricos para fluxos de dados que estão processando tabelas de toda a
empresa. Você também pode ter algum workspace para fluxos de dados processar
tabelas em vários departamentos. E também pode ter alguns espaços de trabalho para
fluxos de dados usados somente em departamentos específicos.
Definir os níveis de acesso corretos em espaços
de trabalho
Para dar acesso a fluxos de dados em outros espaços de trabalho e usar a saída de um
fluxo de dados em um espaço de trabalho, basta dar a eles acesso de exibição no
espaço de trabalho. Para saber mais sobre outras funções em um espaço de trabalho do
Power BI, acesse funções nos novos espaços de trabalho.
Endosso no fluxo de dados no Power BI
Pode haver muitos fluxos de dados criados em uma organização de locatário e pode ser
difícil para os usuários saberem qual fluxo é mais confiável. Os autores de um fluxo de
dados ou os usuários que têm acesso de edição a ele podem endossar o fluxo de dados
em três níveis: sem endosso, promovido ou certificado.

Esses níveis de endosso ajudam os usuários a encontrar fluxos de dados confiáveis cada
vez mais rápidos. O fluxo de dados com um nível de endosso mais alto aparece
primeiro. O administrador do Power BI pode delegar a capacidade de endossar fluxos
de dados para o nível certificado para outras pessoas. Mais informações: Endosso –
Como promover e certificar o conteúdo do Power BI
Separar tabelas em vários fluxos de dados
Você pode ter várias tabelas em um fluxo de dados. Um dos motivos pelos quais você
pode dividir tabelas em vários fluxos de dados é o que você aprendeu anteriormente
neste artigo sobre como separar os fluxos de dados de ingestão de dados e
transformação de dados. Outro bom motivo para ter tabelas em vários fluxos de dados
é quando você deseja uma agenda de atualização diferente de outras tabelas.

No exemplo mostrado na imagem a seguir, a tabela de vendas precisa ser atualizada a


cada quatro horas. A tabela de datas precisa ser atualizada apenas uma vez por dia para
manter o registro de data atual atualizado. E uma tabela de mapeamento de produto só
precisa ser atualizada uma vez por semana. Se você tiver todas essas tabelas em um
fluxo de dados, terá apenas uma opção de atualização para todas elas. No entanto, se
você dividir essas tabelas em vários fluxos de dados, poderá agendar a atualização de
cada fluxo de dados separadamente.
Bons candidatos à tabela para tabelas de fluxo
de dados
Ao desenvolver soluções usando Power Query nas ferramentas da área de trabalho, a
dúvida mais comum é: quais dessas tabelas são boas candidatas a serem movidas para
um fluxo de dados? As melhores tabelas a serem movidas para o fluxo de dados são as
tabelas que precisam ser usadas em mais de uma solução ou mais de um ambiente ou
serviço. Por exemplo, a tabela “Data” mostrada na imagem a seguir precisa ser usada em
dois arquivos separados do Power BI. Em vez de duplicar essa tabela em cada arquivo,
você pode criar a tabela em um fluxo de dados como uma tabela e reutilizá-la nesses
arquivos do Power BI.
Práticas recomendadas para criar um
modelo dimensional usando fluxos de
dados
Artigo • 05/08/2023

Criar um modelo dimensional é uma das tarefas mais comuns que você pode fazer com
um fluxo de dados. Este artigo destaca algumas das melhores práticas para criar um
modelo dimensional usando um fluxo de dados.

Fluxos de dados de preparo


Um dos principais pontos em qualquer sistema de integração de dados é reduzir o
número de leituras no sistema operacional de origem. Na arquitetura tradicional de
integração de dados, essa redução é feita criando um novo banco de dados chamado
banco de dados de preparo. A finalidade do banco de dados de preparo é carregar
dados de uma fonte de dados para um banco de dados de preparo, no estado em que
se encontram, em um agendamento regular.

O restante da integração de dados usará o banco de dados de preparo como a origem


para uma transformação adicional e convertendo-o na estrutura do modelo
dimensional.

Recomendamos que você siga a mesma abordagem usando fluxos de dados. Crie um
conjunto de fluxos de dados que são responsáveis por apenas carregar dados do
sistema de origem (e apenas para as tabelas necessárias), no estado em que se
encontram. O resultado é armazenado na estrutura de armazenamento do fluxo de
dados (Azure Data Lake Storage ou Dataverse). Essa alteração garante que a operação
de leitura no sistema de origem seja mínima.

Em seguida, você pode criar outros fluxos de dados que obtém os dados de fluxos de
dados de preparo. Os benefícios dessa abordagem incluem:

Redução do número de operações de leitura no sistema de origem e redução da


carga no sistema de origem como resultado.
Redução da carga em gateways de dados, se uma fonte de dados local for usada.
Ter uma cópia intermediária dos dados para fins de reconciliação, caso os dados
do sistema de origem sejam alterados.
Tornar os fluxos de dados de transformação independentes da fonte.
Fluxos de dados de transformação
Quando você separar os fluxos de dados de transformação dos fluxos de dados de
preparo, a transformação será independente da origem. Essa separação ajuda se você
estiver migrando o sistema de origem para um novo sistema. Tudo o que você precisa
fazer nesse caso é alterar os fluxos de dados de preparo. É provável que os fluxos de
dados de transformação funcionem sem nenhum problema, pois são provenientes
apenas dos fluxos de dados de preparo.

Essa separação também ajuda no caso da conexão do sistema de origem ser lenta. O
fluxo de dados de transformação não precisará esperar muito tempo para obter
registros provenientes de uma conexão lenta do sistema de origem. O fluxo de dados
de preparo já fez essa parte e os dados estarão prontos para a camada de
transformação.
Arquitetura em camadas
Uma arquitetura em camadas é aquela na qual você executa ações em camadas
separadas. Os fluxos de dados de preparo e transformação podem ser duas camadas de
uma arquitetura de fluxo de dados de várias camadas. Tentar executar ações em
camadas garante a manutenção mínima necessária. Quando você deseja alterar algo,
basta alterá-lo na camada na qual ele está localizado. Todas as outras camadas devem
continuar funcionando bem.

A imagem a seguir mostra uma arquitetura de várias camadas para fluxos de dados nos
quais suas tabelas são usadas em conjuntos de dados do Power BI.
Usar uma tabela computada o máximo possível
Ao usar o resultado de um fluxo de dados em outro fluxo de dados, você está usando o
conceito da tabela computada, o que significa obter dados de uma tabela "já
processada e armazenada". A mesma coisa pode acontecer em um fluxo de dados. Ao
fazer referência a uma tabela de outra tabela, você pode usar a tabela computada. Isso é
útil quando você tem um conjunto de transformações que precisam ser feitas em várias
tabelas, que são chamadas de transformações comuns.

Na imagem anterior, a tabela computada obtém os dados diretamente da origem. No


entanto, na arquitetura de fluxos de dados de preparo e transformação, é provável que
as tabelas computadas sejam originadas dos fluxos de dados de preparo.
Criar um esquema de estrela
O melhor modelo dimensional é o modelo de esquema estrela, que tem dimensões e
tabelas de fatos projetadas de maneira a minimizar a quantidade de tempo para
consultar os dados do modelo e que também facilita a compreensão para o visualizador
dos dados.

Não é ideal trazer dados no mesmo layout do sistema operacional para um sistema de
BI. As tabelas de dados devem ser remodeladas. Algumas das tabelas devem assumir a
forma de uma tabela de dimensão, que mantém as informações descritivas. Algumas
das tabelas devem assumir a forma de uma tabela de fatos, para manter os dados que
podem ser agregados. O melhor layout para formatar tabelas de fatos e tabelas de
dimensão é um esquema de estrela. Para obter mais informações: Entender o esquema
em estrela e sua importância no Power BI
Usar um valor de chave exclusivo para dimensões
Ao criar tabelas de dimensão, tenha uma chave para cada uma delas. Isso garante que
não haja relações de muitos para muitos (ou, em outras palavras, "fracas") entre
dimensões. Você pode criar a chave aplicando alguma transformação para garantir que
uma coluna ou uma combinação de colunas esteja retornando linhas exclusivas na
dimensão. Em seguida, essa combinação de colunas pode ser marcada como uma chave
na tabela no fluxo de dados.
Fazer uma atualização incremental para grandes tabelas
de fatos
Tabelas de fatos são sempre as maiores tabelas do modelo dimensional.
Recomendamos reduzir o número de linhas transferidas para essas tabelas. Se você tiver
uma tabela de fatos muito grande, certifique-se de usar a atualização incremental para
essa tabela. Uma atualização incremental pode ser feita no conjunto de dados do Power
BI e também nas tabelas de fluxo de dados.

Você pode usar a atualização incremental para atualizar apenas a parte dos dados que
foi alterada. Há várias opções para escolher a parte dos dados a ser atualizada e qual
parte deve ser mantida. Para obter mais informações: Usar a atualização incremental
com os fluxos de dados do Power BI
Usar referenciamento para criar dimensões e
tabelas de fatos
No sistema de origem, você geralmente tem uma tabela que usa para gerar tabelas de
fatos e dimensões no data warehouse. Essas tabelas são boas candidatas para tabelas
computadas e também fluxos de dados intermediários. A parte comum do processo,
como limpeza de dados e remoção de linhas e colunas extras, pode ser feita uma vez.
Usando uma referência da saída dessas ações, você pode produzir as tabelas de
dimensão e fatos. Essa abordagem usará a tabela computada para as transformações
comuns.
Melhorar o desempenho e a reutilização
separando a ingestão de dados dos
fluxos de dados de transformação de
dados
Artigo • 23/03/2023

Uma das melhores práticas para implementações de fluxo de dados é separar as


responsabilidades dos fluxos de dados em duas camadas: ingestão de dados e
transformação de dados. Esse padrão é especificamente útil ao lidar com várias
consultas de fontes de dados mais lentas em um fluxo de dados ou vários fluxos de
dados consultando as mesmas fontes de dados. Em vez de obter dados de uma fonte
de dados lenta várias vezes para cada consulta, o processo de ingestão de dados pode
ser feito uma vez e a transformação pode ser feita sobre esse processo. Este artigo
explica o processo.

Fonte de dados local


Em muitos cenários, a fonte de dados local é uma fonte de dados lenta. Especialmente
considerando que o gateway existe como a camada intermediária entre o fluxo de
dados e a fonte de dados.
O uso de fluxos de dados analíticos para ingestão de dados minimiza o processo de
obtenção de dados da origem e se concentra no carregamento de dados para Azure
Data Lake Storage. Uma vez no armazenamento, outros fluxos de dados podem ser
criados que aproveitam a saída do fluxo de dados de ingestão. O mecanismo de fluxo
de dados pode ler os dados e fazer as transformações diretamente do Data Lake, sem
entrar em contato com a fonte de dados ou o gateway original.
Fonte de dados lenta
O mesmo processo é válido quando uma fonte de dados é lenta. Algumas das fontes de
dados SaaS (software como serviço) são executadas lentamente devido às limitações de
suas chamadas à API.

Separação dos fluxos de dados de ingestão de


dados e transformação de dados
A separação das duas camadas — ingestão e transformação de dados — é útil nos
cenários em que a fonte de dados é lenta. Ele ajuda a minimizar a interação com a fonte
de dados.

Essa separação não é útil apenas devido à melhoria de desempenho, mas também é útil
para os cenários em que um antigo sistema de fonte de dados herdado foi migrado
para um novo sistema. Nesses casos, somente os fluxos de dados de ingestão de dados
precisam ser alterados. Os fluxos de dados de transformação de dados permanecem
intactos para esse tipo de alteração.

Reutilizar em outras ferramentas e serviços


A separação de fluxos de dados de ingestão de dados de fluxos de dados de
transformação de dados é útil em muitos cenários. Outro cenário de caso de uso para
esse padrão é quando você deseja usar esses dados em outras ferramentas e serviços.
Para essa finalidade, é melhor usar fluxos de dados analíticos e usar seus próprios Data
Lake Storage como o mecanismo de armazenamento. Mais informações: Fluxos de
dados analíticos

Otimizar o fluxo de dados de ingestão de


dados
Considere otimizar o fluxo de dados de ingestão de dados sempre que possível. Por
exemplo, se todos os dados da fonte não forem necessários e a fonte de dados oferecer
suporte à dobragem de consulta, filtrar dados e obter apenas um subconjunto
necessário será uma boa abordagem. Para saber mais sobre o dobramento de consultas,
acesse Dobramento de consultas do Power Query.

Criar os fluxos de dados de ingestão de dados


como fluxos de dados analíticos
Considere criar seus fluxos de dados de ingestão de dados como fluxos de dados
analíticos. Isso ajuda especialmente outros serviços e aplicativos a usar esses dados. Isso
também facilita que os fluxos de dados de transformação de dados obtenham dados do
fluxo de dados de ingestão analítica. Para saber mais, acesse Fluxos de dados analíticos.
Usando a saída de fluxos de dados do
Microsoft Power Platform de outras
cargas de trabalho de dados do Azure
Artigo • 23/03/2023

Dependendo do armazenamento para a saída dos fluxos de dados do Microsoft Power


Platform, você poderá usar essa saída em outros serviços do Azure.

Os benefícios de trabalhar com a saída de


fluxos de dados do Power Platform
Ao usar fluxos de dados do Power Platform, você poderá remodelar, limpar e preparar
dados para posterior análise e consumo. Há muitos serviços de dados do Azure que
trabalham com os dados como entrada e fornecem ações.

O Azure Machine Learning pode consumir a saída de fluxos de dados e usá-la para
cenários de machine learning (por exemplo, análise preditiva).
O Azure Data Factory pode pegar a saída de fluxos de dados em uma escala muito
maior, combinada com os dados de fontes de Big Data, para soluções avançadas
de integração de dados.
O Azure Databricks pode consumir a saída de fluxos de dados para usar em
algoritmos de ciência de dados aplicada e ampliar a IA com a escala de Big Data
no back-end do Apache Spark.
Outros serviços de dados do Azure podem usar a saída de fluxos de dados do
Power Platform para realizar mais ações nesses dados.

Fluxos de dados com Azure Data Lake Storage


externo
Se você conectou um armazenamento externo do Azure Data Lake Storage aos fluxos
de dados do Power Platform, poderá se conectar a ele usando qualquer serviço do
Azure que tenha o Azure Data Lake Storage como uma fonte, como o Azure Machine
Learning, Azure Data Factory, Azure Databricks e o Azure Analysis Services.

Em qualquer um desses serviços, use o Azure Data Lake Storage como a fonte. Você
poderá inserir os detalhes do armazenamento e se conectar aos dados que lá estão. Os
dados são armazenados no formato CSV e podem ser lidos por meio de qualquer uma
dessas ferramentas e serviços. A captura de tela a seguir mostra como o Azure Data
Lake Storage é uma opção de fonte de dados para o Azure Data Factory.

Fluxos de dados com o Dataverse


Mesmo que você esteja usando fluxos de dados padrão que armazenam os dados no
Dataverse, poderá se conectar ao Dataverse por meio de muitos serviços do Azure. A
imagem a seguir mostra que, no Azure Data Factory, a saída de um fluxo de dados do
Dataverse pode ser usada como uma fonte.

Fluxos de dados com Azure Data Lake Storage


interno
Quando você usa o armazenamento interno do Data Lake fornecido pelos fluxos de
dados do Power Platform, esse armazenamento é limitado exclusivamente às
ferramentas do Power Platform e não fica acessível em outras cargas de trabalho de
dados do Azure.
Mapeando campos com relações em
fluxos de dados padrão
Artigo • 05/10/2023

No fluxo de dados padrão, você pode mapear facilmente campos da consulta de fluxo
de dados para tabelas do Dataverse. No entanto, se a tabela Dataverse tiver campos de
pesquisa ou relação, será necessária uma consideração adicional para garantir que esse
processo funcione.

Qual é a relação e por que você precisa dela?


Se você estiver vindo de uma experiência anterior com desenvolvimento de banco de
dados, estará familiarizado com o conceito de relação entre tabelas. No entanto, muitos
usuários dos serviços do Microsoft Power Platform não têm essa experiência prévia.
Você pode se perguntar qual é a relação ou por que você deve criar uma relação entre
tabelas.

As tabelas e suas relações são conceitos fundamentais na criação de um banco de


dados. Saber tudo sobre relacionamentos está além do escopo deste artigo. No
entanto, discutiremos isso de uma forma geral aqui.

Digamos que você queira armazenar informações sobre clientes e os respectivos


detalhes, incluindo a região, no Dataverse. Você pode manter tudo em uma tabela. Sua
tabela pode ser chamada de Clientes e pode conter campos, como CustomerID, Nome,
Data de nascimento e Região. Agora imagine que você tenha outra tabela que também
tenha as informações da loja. Essa tabela pode ter campos, como ID da Loja, Nome e
Região. Como você pode ver, a região é repetida em ambas as tabelas. Não há um único
lugar em que você possa obter todas as regiões; alguns dos dados de região estão na
tabela Clientes e outros estão na tabela Lojas. Se você criar um aplicativo ou um
relatório com base nessas informações, sempre precisará combinar as informações das
duas regiões em uma só.
O que é feito na prática de design do banco de dados é criar uma tabela para Região
em cenários como o descrito acima. Essa tabela Região teria uma ID da Região, Nome e
outras informações sobre a região. As outras duas tabelas (Clientes e Lojas) terão
vínculos com essa tabela usando um campo (que pode ser a ID da Região se tivermos a
ID em ambas as tabelas ou Nome, se for exclusivo o suficiente para determinar uma
região). Isso significa ter uma relação da tabela Lojas e Clientes com a tabela Região.

No Dataverse, há várias maneiras de criar uma relação. Uma forma é criar uma tabela e
criar um campo em uma tabela que seja uma relação (ou pesquisa) com outra tabela,
conforme descrito na próxima seção.

O que são campos de pesquisa ou relação?


No Dataverse, você pode ter um campo definido como um campo de pesquisa, que
aponta para outra tabela.
Na imagem anterior, o campo Região é um campo de pesquisa para outra tabela
chamada Pesquisa de Região. Para saber mais sobre os diferentes tipos de
relacionamentos, acesse Criar um relacionamento entre tabelas.

Quando o mapeamento de campo não mostra


os campos de relacionamento
Se você criou um campo de pesquisa em uma tabela, que aponta para outra tabela, esse
campo poderá não aparecer no mapeamento do fluxo de dados. Isso porque a entidade
de destino envolvida no relacionamento exige que um campo Chave seja definido. Essa
prática recomendada vai garantir que o campo seja mapeável nos mapeamentos de
tabela do fluxo de dados.
Definindo o campo de Chave na tabela
Para definir o campo de chave na tabela, acesse a guia Chaves e adicione uma chave a
um campo que tenha valores exclusivos.

Depois de definir o campo de chave, você poderá ver o campo no mapeamento do


fluxo de dados.

Limitações conhecidas
Atualmente, não há suporte para mapeamento para campos de pesquisa
polimórfica.
Atualmente, não há suporte para o mapeamento para um campo de pesquisa de
vários níveis, uma pesquisa que aponta para o campo de pesquisa de outras
tabelas.
Os campos de pesquisa para Tabelas Padrão, a menos que contenham campos de
chave alternativos, conforme descrito neste documento, não aparecerão na caixa
de diálogo Tabelas de Mapa.
Os fluxos de dados não garantem a ordem de carregamento correta ao carregar-
se dados em tabelas configuradas como estruturas de dados hierárquicas.
Não há garantias sobre a ordem de execução da consulta ou ordem de
carregamento das tabelas do Dataverse. Recomendamos que você separe as
tabelas filho e pai em dois fluxos de dados e primeiro atualize o fluxo de dados
que contém artefatos filho.
Considerações de mapeamento de
campo para fluxos de dados padrão
Artigo • 05/10/2023

Ao carregar dados em tabelas do Dataverse, você precisará mapear as colunas da


consulta de origem na experiência de edição do fluxo de dados para as colunas da
tabela do Dataverse de destino. Além do mapeamento de dados, deve-se levar em
conta outras considerações e práticas recomendadas. Neste artigo, abordamos as
configurações de fluxo de dados distintas que controlam o comportamento da
atualização de fluxo de dados e, como resultado, os dados na tabela de destino.

Controlar se os fluxos de dados criam ou


atualizam registros a cada atualização
A cada atualização de um fluxo de dados, ele buscará registros da origem e os carregará
no Dataverse. Se você executar o fluxo de dados mais de uma vez, conforme configurar
o fluxo de dados, poderá:

Criar novos registros a cada atualização de fluxo de dados, mesmo que esses
registros já existam na tabela de destino.
Criar novos registros, caso ainda não existam na tabela, ou atualizar os registros
existentes, se já existirem na tabela. Esse comportamento é conhecido como
executar upsert.

O uso de uma coluna de chave indicará ao fluxo de dados para executar upsert registros
na tabela de destino, enquanto não selecionar uma chave sempre criará novos registros
na tabela de destino.

Uma coluna de chave é única e determinística de uma linha de dados na tabela. Por
exemplo, em uma tabela Pedidos, se a ID do pedido for uma coluna de chave, você não
deverá ter duas linhas com a mesma ID do pedido. Além disso, uma ID do pedido
(digamos um pedido com a ID 345) deve representar apenas uma linha na tabela. Para
escolher a coluna de chave para a tabela no Dataverse a partir do fluxo de dados, você
precisa definir o campo de chave na experiência Mapear Tabelas.

Escolher um nome primário e um campo de chave ao


criar uma nova tabela
A imagem a seguir mostra como você pode escolher a coluna de chave a ser preenchida
da origem ao criar uma nova tabela no fluxo de dados.

O campo de nome primário que você vê no mapeamento de campo é para um campo


de rótulo; este campo não precisa ser exclusivo. O campo usado na tabela para verificar
a duplicação será o campo definido no campo Chave Alternativa.

Ter uma chave primária na tabela garante que, mesmo que você tenha linhas de dados
duplicadas com o mesmo valor no campo mapeado para a chave primária, as entradas
duplicadas não serão carregadas na tabela, e a qualidade dos dados da tabela será alta.
Ter uma tabela com alta qualidade de dados é essencial na construção de soluções de
relatórios baseadas na tabela.

O campo nome primário


O campo nome primário é um campo de exibição usado no Dataverse. Esse campo é
usado em exibições padrão para mostrar o conteúdo da tabela em outros aplicativos.
Esse campo não é o campo de chave primária e não deve ser considerado assim. Esse
campo pode ter duplicatas, pois é um campo de exibição. A prática recomendada, no
entanto, é usar um campo concatenado para mapear para o campo de nome primário,
de modo que o nome seja totalmente explicativo.

O campo de chave alternativa é o que é usado como a chave primária.

Escolher um campo de chave ao carregar em uma tabela


existente
Ao mapear uma consulta de fluxo de dados para uma tabela Dataverse existente, você
pode escolher se e qual chave deve ser usada ao carregar dados na tabela de destino.

Esta imagem mostra como escolher a coluna de chave a ser usada ao executar upsert
em registros para uma tabela Dataverse existente:

Definir a coluna ID Exclusiva de uma tabela e usá-la como


um campo de chave para executar upsert de registros em
tabelas Dataverse existentes
Todas as linhas da tabela do Microsoft Dataverse têm identificadores únicos definidos
como GUIDs. Esses GUIDs são a chave primária de cada tabela. Por padrão, uma chave
primária de tabelas não pode ser definida por fluxos de dados e é gerada
automaticamente pelo Dataverse quando um registro é criado. Há casos de uso
avançados em que é desejável aproveitar a chave primária de uma tabela. Por exemplo,
integrar dados com fontes externas, mantendo os mesmos valores de chave primária na
tabela externa e na tabela Dataverse.

7 Observação

Esse recurso só está disponível ao carregar dados em tabelas existentes.


O campo identificador único só aceita uma cadeia de caracteres contendo
valores GUID. Qualquer outro tipo de dados ou valor levará à falha na criação
do registro.

Para aproveitar o campo identificador único de uma tabela, selecione Carregar na


tabela existente na página Mapear Tabelas ao criar um fluxo de dados. No exemplo
mostrado na imagem abaixo, gostaríamos de carregar dados na tabela
CustomerTransactions e usar a coluna TransactionID da fonte de dados como o
identificador único da tabela.

Note que, na lista suspensa Selecionar chave, é possível selecionar o identificador único
da tabela, que sempre é chamado de "tablename + id". Como o nome da tabela é
"CustomerTransactions", o campo identificador único será denominado
"CustomerTransactionId".

Depois de selecionada, a seção de mapeamento de coluna é atualizada para incluir o


identificador único como uma coluna de destino. Você pode mapear a coluna de origem
que representa o identificador único de cada registro.

Quais são bons candidatos para o campo de


chave
O campo de chave é um valor único que representa uma linha única na tabela. É
importante ter esse campo porque ele ajuda a evitar registros duplicados na tabela. Esse
campo pode vir de três fontes:

A chave primária no sistema de origem (como OrderID no exemplo acima).

Um campo concatenado criado por meio de transformações do Power Query no


fluxo de dados.
Uma combinação de campos a serem selecionados na opção Chave Alternativa.
Uma combinação de campos usados como um campo de chave também é
chamada de chave composta.

Remover linhas que não existem mais


Para que os dados da tabela sejam sempre sincronizados com os dados do sistema de
origem, escolha a opção Excluir linhas que não existem mais na saída da consulta. No
entanto, lembre-se de que essa opção causa lentidão no fluxo de dados porque há a
necessidade de uma comparação de linhas com base na chave primária (chave
alternativa no mapeamento de campo do fluxo de dados) para que essa ação ocorra.

Ter essa opção marcada significa que, se houver uma linha de dados na tabela que não
consta na saída de consulta da próxima atualização de fluxo de dados, essa linha será
removida da tabela.
7 Observação

Os fluxos de dados V2 padrão dependem dos campos createdon e modifiedon


para remover linhas inexistentes na saída de fluxos de dados da tabela de destino.
Se essas colunas não existirem na tabela de destino, os registros não serão
excluídos.

Limitações conhecidas
Atualmente, não há suporte para mapeamento para campos de pesquisa
polimórfica.
Atualmente, não há suporte para o mapeamento para um campo de pesquisa de
vários níveis, uma pesquisa que aponta para o campo de pesquisa de outras
tabelas.
Atualmente, não há suporte para mapeamento para Campos Status eMotivo do
Status.
Não há suporte para o mapeamento de dados em textos multilinhas com
caracteres de quebra de linha e as quebras de linha serão removidas. Você pode
usar a marca de quebra de linha <br> para carregar e preservar o texto multilinhas.
Só existe suporte ao mapeamento para campos Opção configurados com a
seleção múltipla ativada sob certas condições. O fluxo de dados carrega apenas
dados para Opção com a opção de seleção múltipla ativada, e uma lista separada
por vírgulas de valores (inteiros) dos rótulos é usada. Por exemplo, se os rótulos
forem "Choice1, Choice2, Choice3" com valores inteiros correspondentes de "1, 2,
3", os valores da coluna deverão ser "1,3" para selecionar a primeira e a última
opções.
Os fluxos de dados V2 padrão dependem dos campos createdon e modifiedon
para remover linhas inexistentes na saída de fluxos de dados da tabela de destino.
Se essas colunas não existirem na tabela de destino, os registros não serão
excluídos.
Funções de segurança e níveis de
permissão necessários para criar fluxos
de dados padrão.
Artigo • 07/10/2023

Os fluxos de dados são criados em um ambiente, e os fluxos de dados padrão carregam


dados para tabelas novas, existentes ou padrão do Dataverse, que também residem no
ambiente. Dependendo do cenário, um criador de fluxo de dados pode precisar de
funções diferentes ou múltiplas para criar e atualizar um fluxo de dados com êxito. Este
artigo orienta você sobre as funções e os níveis de permissão relacionados aos fluxos de
dados padrão, e fornece links para artigos que ensinam como gerenciá-los.

Funções necessárias para criar fluxos de dados


padrão
Algumas funções são necessárias para criar fluxos de dados e outras são necessárias
para controlar quais tabelas um criador de fluxo de dados pode criar ou atualizar. A
tabela a seguir descreve cada função, juntamente com o nível de permissão associado a
essa função.

Direito de Privilégios Descrição


acesso

Criador de Criar fluxos de dados Necessário para criar qualquer fluxo de dados. Fluxos
Ambiente de dados padrão exigem funções adicionais
dependendo das permissões de tabelas do Dataverse.

Usuário Básico Gravar em tabelas Tem todos os direitos para trabalhar com tabelas não
não personalizadas personalizadas.

Personalizador de Criar tabelas As tabelas personalizadas que este usuário cria são
Sistema personalizadas visíveis apenas para esse usuário.

Etapas para atribuir funções


As etapas no procedimento a seguir são originárias de Configurar a segurança do
usuário para recursos em um ambiente.

Verifique se o usuário ao qual você deseja atribuir uma função de segurança está
presente no ambiente. Caso contrário, adicione o usuário ao ambiente. Você pode
atribuir uma função de segurança como parte do processo de adição do usuário. Mais
informações: Adicionar usuários a um ambiente

Em geral, uma função de segurança só pode ser atribuída aos usuários que estão no
estado Habilitado. No entanto, se você precisar atribuir uma função de segurança aos
usuários no estado desabilitado, poderá fazer isso habilitando
allowRoleAssignmentOnDisabledUsers no OrgDBOrgSettings.

Para adicionar uma função de segurança a um usuário que já está presente em um


ambiente:

1. Entre no Centro de administração do Power Platform .

2. Selecionar Ambientes> [selecionar um ambiente] >Configurações Usuários>+


permissões>Usuários.

3. Selecione Gerenciar usuários no Dynamics 365.

4. Selecione o usuário na lista de usuários no ambiente e, em seguida, selecione


Gerenciar funções.
5. Atribua uma ou mais funções de segurança ao usuário.

6. Selecione OK.

Não há suporte para segurança em nível de


linha
A versão atual dos fluxos de dados padrão não dá suporte à segurança em nível de
linha.

Se você ainda não ouviu falar de segurança em nível de linha antes, aqui está uma
introdução rápida. Se você tiver usuários com diferentes níveis de acesso à mesma
tabela, poderá filtrar os dados no nível da linha. Por exemplo, na tabela Orders, você
pode ter uma coluna SalesTerritory. Além disso, talvez você queira filtrar os dados de
forma que os usuários da Califórnia só possam ver os registros da tabela Orders que
pertencem à Califórnia. Essa diferença é possível por meio da segurança em nível de
linha.

Compartilhamento ou coautoria de fluxos de


dados
Atualmente, não é possível que dois usuários diferentes colaborem no mesmo fluxo de
dados. Somente o criador (proprietário) do fluxo de dados pode editá-lo. Caso um fluxo
de dados precise ser transferido para um usuário diferente, um administrador de
ambiente pode alterar o proprietário do fluxo de dados de um usuário para outro. Por
motivos de segurança, a transferência de propriedade remove a conexão associada ao
fluxo de dados e exige que o novo proprietário atualize as credenciais usadas pelo fluxo
de dados.
Sincronizar a fonte de dados do Excel
com o Dataverse usando um fluxo de
dados
Artigo • 23/03/2023

Um dos cenários comuns que acontece quando se integra dados ao Dataverse é mantê-
los sincronizados com a fonte. Como usar o fluxo de dados padrão para carregar dados
no Dataverse. Este artigo explica como se pode manter os dados sincronizados com o
sistema de origem.

A importância da coluna de chave


Se você estiver usando um sistema de base de dados relacional como fonte, geralmente
existem colunas de chave nas tabelas e os dados estão em um formato adequado para
serem carregados no Dataverse. No entanto, os dados dos arquivos do Excel nem
sempre estão tão organizados. Geralmente nos arquivo do Excel existem planilhas de
dados sem nenhuma coluna de chave. Em Considerações de mapeamento de campos
para fluxos de dados padrão, é possível ver que, se houver uma coluna de chave na
origem, ela pode ser facilmente usada como uma chave alternativa para mapear os
campos do fluxo de dados.

A coluna de chave é importante para a tabela no Dataverse. A coluna de chave é o


identificador de linha que contém os valores exclusivos de cada linha. Esta coluna de
chave evita linhas duplicadas e também ajuda na sincronização dos dados com o
sistema de origem. Se uma linha for removida do sistema de origem, a coluna de chave
será útil para encontrá-la e removê-la do Dataverse.

Como criar uma coluna de chave


Se não existir uma coluna de chave na fonte de dados (Excel, arquivo de texto ou
qualquer outra fonte) é possível gerar uma usando o seguinte método:
1. Limpe os dados.

A primeira etapa para criar a coluna de chave é remover todas as linhas


desnecessárias, limpar os dados, remover linhas vazias e remover possíveis
duplicidades.

2. Adicione uma coluna de índice.


Depois que os dados forem limpos, a próxima etapa é atribuir uma coluna de
chave. É possível usar Adicionar coluna de índice na guia Adicionar coluna para
essa finalidade.

Ao adicionar a coluna de índice, existem algumas opções para personalizá-la, por


exemplo, personalizações do número inicial ou do número de valores a serem saltados a
cada vez. O valor inicial padrão é zero e incrementa um valor a cada vez.

Utilizar a coluna de chave como a chave


alternativa
Agora que você tem as colunas de chave, pode atribuir o mapeamento de campo do
fluxo de dados à chave alternativa.

A configuração é simples, basta definir a chave alternativa. No entanto, se você tiver


vários arquivos ou tabelas, há mais uma etapa a ser executada.

Se tiver vários arquivos


Se tiver apenas um único arquivo do Excel (ou planilha ou tabela), as etapas do
procedimento anterior serão suficientes para definir a chave alternativa. No entanto, se
você tiver vários arquivos (ou planilhas ou tabelas) com a mesma estrutura (mas com
dados diferentes), junte-os.
Se você estiver obtendo dados de vários arquivos do Excel, a opção Combinar arquivos
do Power Query juntará automaticamente todos os dados e o resultado será semelhante
à imagem a seguir.

Conforme mostrado na imagem anterior, além do resultado da junção, o Power Query


também traz a coluna Source.Name que contém o nome do arquivo. O valor do índice
de cada arquivo pode ser exclusivo, mas não é exclusivo em todos os vários arquivos.
No entanto, a combinação da coluna de índice e da coluna Source.Name é uma
combinação exclusiva. Escolha uma chave alternativa composta para este cenário.
Exclua as linhas que não existem mais no
resultado da consulta
A última etapa é marcar a caixa de seleção Excluir linhas que não existem mais na saída
da consulta. Essa opção compara os dados na tabela do Dataverse com os dados
provenientes da fonte com base na chave alternativa (que pode ser uma chave
composta) e remove as linhas que não existem mais. Como resultado, os dados no
Dataverse serão sempre sincronizados com a fonte de dados.
Adicionar dados a uma tabela no
Microsoft Dataverse usando Power
Query
Artigo • 05/10/2023

Neste procedimento, você criará uma tabela no Dataverse e preencherá essa tabela com
dados de um feed OData usando o Power Query. Você pode usar as mesmas técnicas
para integrar dados dessas fontes online e locais, entre outras:

SQL Server
Salesforce
IBM DB2
Access
Excel
APIs da Web
Feeds do OData
Arquivos de texto

Você também pode filtrar, transformar e combinar dados antes de carregá-los em uma
tabela nova ou existente.

Se não tiver uma licença para o Power Apps, é possível inscrever-se gratuitamente.

Pré-requisitos
Antes de começar a seguir este artigo:

Alterne para um ambiente no qual você pode criar tabelas.


Você deve ter um Power Apps por plano de usuário ou Power Apps por plano de
aplicativo.

Especificar os dados de origem


1. Entre no Power Apps .

2. No painel de navegação, selecione Dataverse para expandi-lo e selecione Tabelas.


3. No menu de comando, selecione Dados>Obter dados.

4. Na lista de fontes de dados, selecione OData.

5. Em Configurações de conexão, digite ou cole esta URL e selecione Avançar:

https://services.odata.org/V4/Northwind/Northwind.svc/

6. Na lista de tabelas, marque a caixa de seleção Clientes e, em seguida, clique ou


toque em Avançar.
7. (opcional) Modifique o esquema para atender às suas necessidades escolhendo
quais colunas incluir, transformando a tabela de uma ou mais maneiras,
adicionando um índice ou coluna condicional ou fazendo outras alterações.

8. No canto inferior direito, selecione Avançar.

Especificar a tabela de destino


1. Em Carregar configurações, selecione Carregar na nova entidade.
Você pode dar outro nome ou nome de exibição à nova entidade, mas deixe os
valores padrão para seguir este tutorial à risca.

2. Na lista de colunas de nome primário exclusivo, selecione ContactName e


selecione Avançar.

Você pode especificar uma coluna de nome primário diferente, mapear uma
coluna diferente na tabela de origem para cada coluna na tabela que está criando
ou ambas. Você também pode especificar se as colunas de texto na saída da
consulta devem ser criadas como Texto multilinha ou texto Single-Line no
Dataverse. Para seguir este tutorial exatamente, deixe o mapeamento de coluna
padrão.

3. Selecione Atualizar manualmente para Power Query – Atualizar Configurações e,


em seguida, selecione Publicar.

4. Em Dataverse (próximo à borda esquerda), selecione Tabelas para mostrar a lista


de tabelas no banco de dados.

A entidade Clientes criada com base em um feed OData é exibida como uma
entidade personalizada.

2 Aviso

Os dados existentes podem ser alterados ou excluídos ao carregar dados em uma


tabela do Dataverse enquanto mantém a opção Excluir linhas que não existem
mais na saída da consulta ou uma coluna de chave primária definida.

Se você selecionar Carregar em uma tabela existente, especifique uma entidade na


qual você adiciona os dados da tabela Clientes. Você pode, por exemplo, adicionar os
dados à entidade Conta com a qual o Common Data Service é fornecido. Em
Mapeamento de coluna, também especifique que os dados na coluna ContactName da
tabela Clientes devem ser adicionados à coluna Name da tabela Contas.
Se uma mensagem de erro sobre permissões for exibida, contate o seu administrador.
Como os fluxos de dados do Microsoft
Power Platform e os fluxos de dados de
estruturação do Azure Data Factory se
relacionam entre si
Artigo • 23/03/2023

Geralmente se diz que os fluxos de dados do Microsoft Power Platform e os fluxos de


dados do Azure Data Factory fazem a mesma coisa: extrair dados de sistemas de
origem, transformar os dados e carregar os dados transformados em um destino. No
entanto, há diferenças nesses dois tipos de fluxos de dados e é possível obter uma
solução implementada que funcione com uma combinação dessas tecnologias. Este
artigo descreve essa relação com mais detalhes.

Fluxo de dados do Power Platform


Os fluxos de dados do Power Platform são serviços de transformação de dados
viabilizados pelo mecanismo do Power Query e hospedados na nuvem. Esses fluxos de
dados obtêm dados de diferentes fontes de dados e, após a aplicação de
transformações, armazenam no Dataverse ou no Azure Data Lake Storage.
Fluxos de dados de estruturação do Data
Factory
O Data Factory é um serviço ETL (extração, transformação, carga) baseado na nuvem
que suporta muitas fontes e destinos diferentes. Há dois tipos de fluxos de dados nessa
tecnologia: o mapeamento dos fluxos de dados e os fluxos de dados de estruturação.
Os fluxos de dados de estruturação são viabilizados pelo mecanismo do Power Query
para transformação de dados.

O que eles têm em comum?


Os fluxos de dados do Power Platform e os fluxos de dados de estruturação do Data
Factory são úteis para obter dados de uma ou mais fontes, aplicar transformações nos
dados usando Power Query e carregar os dados transformados nos destinos. Além
disso:

Ambos são viabilizados ao usar a transformação de dados do Power Query.


Ambas são tecnologias baseadas na nuvem.

Qual é a diferença?
O ponto principal é conhecer as diferenças pois, assim, você poderá pensar nos cenários
para usar um ou outro.
Recursos Fluxo de dados do Power Platform Fluxos de dados de estruturação
do Data Factory

Destinos Dataverse ou Azure Data Lake Storage Muitos destinos (acesse a lista
aqui )

Transformação Há suporte para todas as funções do Há suporte para um conjunto


do Power Power Query limitado de funções (vá para a lista
Query aqui)

Origens Há suporte para muitas origens Apenas algumas fontes (acesse a


lista aqui)

Escalabilidade Depende da capacidade Premium e do uso Altamente escalonável


do mecanismo de computação aprimorado

Qual persona de usuário é adequada para qual


tipo de fluxo de dados?
Se você for um desenvolvedor cidadão de aplicativos ou um analista cidadão de dados
com um conjunto de dados de pequena ou média escala a serem integrados e
transformados, os fluxos de dados do Power Platform são mais adequados. O grande
número de transformações disponíveis, a capacidade de trabalhar com elas sem ter
conhecimento de desenvolvedor e o fato de que os fluxos de dados podem ser criados,
monitorados e editados no Power BI ou no Power Platform, são motivos que tornam os
fluxos de dados do Power Platform uma ótima solução de integração de dados para
esse tipo de desenvolvedor.

Se você for um desenvolvedor de dados que está mexendo com big data e conjuntos de
dados enormes com um grande número de linhas a serem sempre ingeridas, os fluxos
de dados de estruturação do Data Factory serão uma ferramenta melhor para o
trabalho. O fluxo de dados de estruturação converte a linguagem M, gerada pelo Editor
de mashup do Power Query Online, no código do Spark para executar na escala da
nuvem. Trabalhar com o portal do Azure para criar, monitorar e editar os fluxos de
dados de estruturação requer uma curva de aprendizado do desenvolvedor maior do
que na obtenção da experiência em fluxos de dados do Power Platform. Os fluxos de
dados de estruturação são mais adequados para esse tipo de público.
Modelos do Power Automate para o
conector de fluxos de dados
Artigo • 13/05/2023

O conector do Power Automate de fluxos de dados pode:

Disparar um fluxo quando uma atualização de fluxo de dados for concluída.


Tomar medidas para iniciar uma atualização de fluxo de dados.

Esta seção discute alguns casos de uso com tutoriais fornecidos para ajudar você a
começar a usar rapidamente este conector:

Envio de notificações:

Quando um status de atualização de fluxo de dados for alterado, envie uma


notificação por email.
Quando um fluxo de dados executar com sucesso ou falhar, envie uma notificação
por email.
Quando um status de atualização de fluxo de dados for alterado, envie uma
notificação por email.

Abertura de tíquete de suporte:

Quando uma atualização de fluxo de dados falhar, envie uma mensagem para a
fila do Barramento de Serviço do Azure para abrir um tíquete de suporte.

Atualização de fluxos de dados e conjuntos de dados de forma sequencial:

Quando selecionar um botão, inicie uma atualização de fluxo de dados.


Quando uma atualização analítica de fluxo de dados executar com sucesso, inicie
uma atualização padrão de fluxo de dados.
Quando uma atualização de fluxo de dados executar com sucesso, inicie uma
atualização do conjunto de dados do Power BI.
Quando um arquivo no SharePoint for atualizado, inicie uma atualização do fluxo
de dados.

Salve os metadados da atualização do fluxo de dados e crie um painel de


monitoramento de fluxos de dados:

Quando uma atualização de fluxo de dados for concluída, salve os metadados em


uma tabela do Dataverse
Quando uma atualização de fluxo de dados for concluída, salve os metadados no
Excel online
Quando uma atualização de fluxo de dados for concluída, salve os metadados em
um conjunto de dados de streaming do Power BI
Enviar notificação após conclusão de
uma atualização de fluxo de dados
Artigo • 05/10/2023

Quando a atualização do fluxo de dados for concluída, você ou outras pessoas que
gerenciam ou dependem do fluxo de dados podem querer receber uma notificação
para alertá-lo sobre o status de atualização do fluxo de dados. Dessa forma, você sabe
que seus dados estão atualizados e você pode começar a obter novas informações.
Outro cenário comum abordado por este tutorial é a notificação depois que um fluxo de
dados falha. Uma notificação permite que você comece a investigar o problema e alerte
as pessoas que dependem dos dados que estão sendo atualizados com êxito.

Para configurar uma notificação do Power Automate que será enviada quando um fluxo
de dados falhar:

1. Navegue até Power Automate .

2. Selecione Criar>Fluxo de nuvem automatizado.

3. Insira um nome para o fluxo e pesquise o conector "Quando uma atualização de


fluxo de dados for concluída". Selecione esse conector na lista e clique em Criar.

4. Personalize o conector. Insira as seguintes informações em seu fluxo de dados:

Tipo de grupo: selecione Ambiente ao se conectar ao Power Apps e


Workspace ao se conectar ao Power BI.
Grupo: selecione o ambiente do Power Apps ou o workspace do Power BI em
que o fluxo de dados está.
Fluxo de dados: selecione seu fluxo de dados pelo nome.

5. Selecione Nova etapa para adicionar uma ação ao seu fluxo.

6. Pesquise e selecione o conector Condição.

7. Personalize o conector Condição. Insira as seguintes informações:


a. Na primeira célula, adicione o Status de atualização do conector de fluxo de
dados.
b. Deixe a segunda célula como é igual a.
c. Na terceira célula, insira Falso.

8. Na seção Se sim, selecione Adicionar uma ação.

9. Pesquise o conector "Enviar uma notificação por email (V3)" e selecione-o.

10. Insira o endereço de email e as informações do assunto.

11. Dentro do corpo do email, selecione o campo ao lado do Corpo e use o conteúdo
dinâmico para adicionar informações de fluxo de dados ao conteúdo do seu email.


Abrir um tíquete quando houver falha
em uma atualização de fluxo de dados
Artigo • 23/03/2023

Quando a atualização do fluxo de dados for concluída ou estiver demorando mais do


que o esperado, você pode querer que a equipe de suporte investigue o problema. Com
este tutorial, você poderá abrir automaticamente um tíquete de suporte, criar uma
mensagem em uma fila ou Barramento de Serviço ou adicionar um item ao Azure
DevOps para notificar sua equipe de suporte.

Neste tutorial, usamos o Barramento de Serviço do Azure. Para obter instruções sobre
como configurar um Barramento de Serviço do Azure e criar uma fila, acesse Usar o
portal do Azure para criar uma fila e um namespace do Barramento de Serviço.

Para criar automaticamente uma fila no Barramento de Serviço do Azure:

1. Acesse o Power Automate .

2. Selecione Criar>Fluxo da nuvem automatizado.

3. Insira um nome de fluxo e pesquise o conector "Quando uma atualização de fluxo


de dados for concluída". Selecione esse conector na lista e selecione Criar.

4. Personalize o conector. Insira as seguintes informações sobre o fluxo de dados:

Tipo de Grupo: selecione Ambiente ao se conectar ao Power Apps e


Workspace ao se conectar ao Power BI.
Grupo: selecione o ambiente do Power Apps ou o workspace do Power BI em
que o fluxo de dados está.
Fluxo de dados: selecione seu fluxo de dados pelo nome.

5. Selecione Nova etapa para adicionar uma ação ao fluxo.

6. Pesquise e selecione o conector Condição.

7. Personalize o conector Condição. Insira as seguintes informações:


a. Na primeira célula, adicione o Status de atualização do conector de fluxo de
dados.
b. Deixe a segunda célula como é igual a.
c. Na terceira célula, insira Falso.

8. Na seção Se sim, selecione Adicionar uma ação.


9. Pesquise o conector "Enviar mensagem" no Barramento de Serviço e selecione-o.

10. Insira um Nome de conexão para essa mensagem. Na Cadeia de conexão, insira a
cadeia de conexão gerada quando você criou o namespace do Barramento de
Serviço. Em seguida, selecione Criar.

11. Adicione informações do fluxo de dados ao conteúdo da mensagem selecionando


o campo ao lado de Conteúdo e selecione o conteúdo dinâmico que você deseja
usar no Conteúdo dinâmico.


Acionar fluxos de dados e conjuntos de
dados do Power BI sequencialmente
Artigo • 05/10/2023

Há dois cenários comuns de como você pode usar esse conector para disparar vários
fluxos de dados e conjuntos de dados do Power BI em sequência.

Dispare a atualização de um fluxo de dados padrão após a conclusão bem-


sucedida de uma atualização de fluxo de dados analítico.

Se um único fluxo de dados fizer todas as ações, será difícil reutilizar suas tabelas
em outros fluxos de dados ou para outros propósitos. Os melhores fluxos de
dados a serem reutilizados são aqueles que fazem apenas algumas ações,
especializados em uma tarefa específica. Se você tiver um conjunto de fluxos de
dados do tipo fluxos de dados de preparo e a única ação for extrair os dados
"como estão" do sistema de origem, esses fluxos poderão ser reutilizados em
vários outros fluxos de dados. Para mais informações, consulte Práticas
recomendadas para reutilização de fluxos de dados nos ambientes e workspaces

Dispare a atualização de um conjunto de dados do Power BI quando uma


atualização de fluxo de dados for concluída com êxito.

Se você quiser garantir que seu painel seja atualizado depois que um fluxo de
dados atualize os dados, use o conector para disparar a atualização do conjunto
de dados do Power BI depois que o fluxo de dados for atualizado com êxito.

Este artigo aborda o primeiro cenário.

Para disparar fluxos de dados em sequência:

1. Navegue até Power Automate .

2. Selecione Criar>Fluxo de nuvem automatizado.

3. Insira um nome para o fluxo e pesquise o conector "Quando uma atualização de


fluxo de dados for concluída". Selecione esse conector na lista e clique em Criar.

4. Personalize o conector. Insira as seguintes informações em seu fluxo de dados:

Tipo de grupo: selecione Ambiente ao se conectar ao Power Apps e


Workspace ao se conectar ao Power BI.
Grupo: selecione o ambiente do Power Apps ou o workspace do Power BI em
que o fluxo de dados está.
Fluxo de dados: selecione seu fluxo de dados pelo nome.

5. Selecione Nova etapa para adicionar uma ação ao seu fluxo.

6. Pesquise e selecione o conector Condição.

7. Personalize o conector Condição. Insira as seguintes informações:


a. Na primeira célula, adicione o Status de atualização do conector de fluxo de
dados.
b. Deixe a segunda célula como é igual a.
c. Na terceira célula, insira Sucesso.

8. Na seção Se sim, selecione Adicionar uma ação.

9. Pesquise e selecione o conector "Atualizar um fluxo de dados".

10. Personalize o conector:

Tipo de grupo: selecione Ambiente ao se conectar ao Power Apps e


Workspace ao se conectar ao Power BI.
Grupo: selecione o ambiente do Power Apps ou o workspace do Power BI em
que o fluxo de dados está.
Fluxo de dados: selecione seu fluxo de dados pelo nome.
Carregar dados em uma tabela do
Dataverse e criar um relatório de
monitoramento de fluxos de dados com
o Power BI
Artigo • 23/03/2023

Este tutorial demonstra como carregar dados em uma tabela do Dataverse para criar um
relatório de monitoramento de fluxos de dados no Power BI.

Você poderá usar esse dashboard para monitorar a execução da atualização e a


contagem de falhas dos fluxos de dados. Com esse dashboard, será possível
acompanhar quaisquer problemas no desempenho dos fluxos de dados e compartilhar
os dados com outras pessoas.

Primeiro, você criará uma tabela do Dataverse que armazenará todos os metadados da
execução do fluxo de dados. Para cada atualização de um fluxo de dados, um registro é
adicionado a esta tabela. Você também pode armazenar metadados de várias execuções
de fluxo de dados na mesma tabela. Depois que a tabela for criada, você conectará o
arquivo do Power BI à tabela do Dataverse.
Pré-requisitos
Power BI Desktop .

Um ambiente do Dataverse com permissões para criar tabelas personalizadas.

Uma licença Premium do Power Automate.

Um fluxo de dados do Power BI ou um fluxo de dados do Power Platform.

Baixar o arquivo .pbit


Primeiro, baixe o arquivo .pbit do Dataverse.

Criar uma tabela no Dataverse


1. Navegue até o portal do Power Apps .

2. No painel de navegação à esquerda, expanda Dados, selecione Tabelas e, em


seguida, Nova tabela.

3. No painel Nova tabela:


a. Insira o Monitoramento de Fluxos de Dados no Nome de exibição.
b. Em Coluna de Nome Primário, insira o Nome do fluxo de dados em Nome de
exibição.
c. Selecione Criar.

4. Selecione Adicionar coluna para repetir a adição de colunas para os seguintes


valores:

Nome de exibição: "ID do fluxo de dados", Tipo de dados: Texto,


Obrigatório: Obrigatório.
Nome de exibição: "Status de Atualização", Tipo de dados: Texto,
Obrigatório: Obrigatório.
Nome de exibição: "Tipo de Atualização", Tipo de dados: Texto, Obrigatório:
Obrigatório.
Nome de exibição: "Hora de Início", Tipo de dados: Data e Hora,
Obrigatório: Obrigatório.
Nome de exibição: "Hora de Término", Tipo de dados: Data e Hora,
Obrigatório: Obrigatório.

Criação de um fluxo de dados


Se você ainda não tiver um, crie um fluxo de dados. Você pode criar um fluxo de dados
em Fluxos de dados do Power BI ou em Fluxos de dados do Power Apps.

Criando um fluxo do Power Automate


1. Acesse o Power Automate .

2. Selecione Criar>Fluxo da nuvem automatizado.

3. Insira um nome de fluxo e pesquise o conector "Quando uma atualização de fluxo


de dados for concluída". Selecione esse conector na lista e selecione Criar.

4. Personalize o conector. Insira as seguintes informações sobre o fluxo de dados:

Tipo de Grupo: selecione Ambiente ao se conectar ao Power Apps e


Workspace ao se conectar ao Power BI.
Grupo: selecione o ambiente do Power Apps ou o workspace do Power BI em
que o fluxo de dados está.
Fluxo de dados: selecione seu fluxo de dados pelo nome.

5. Selecione Nova etapa para adicionar uma ação ao fluxo.

6. Pesquise o conector "Adicionar uma nova linha" no Dataverse e selecione-o.

7. Em Adicionar uma nova linha, selecione Escolher uma tabela e escolha


Monitoramento de Fluxos de Dados na lista.
8. Para cada campo necessário, você precisa adicionar um valor dinâmico. Esse valor
é a saída dos metadados da execução do fluxo de dados.

a. Selecione o campo próximo ao Nome do Fluxo de Dados e selecione Nome do


Fluxo de Dados no conteúdo dinâmico.

b. Repita esse processo para todos os campos necessários.


9. Salvar o fluxo.

Criar um relatório do Power BI


1. Abra o arquivo .pbit .

2. Conecte-se à entidade Monitoramento de Fluxos de Dados do Dataverse.

Neste painel, para cada fluxo de dados no intervalo de tempo especificado, você pode
monitorar:

A duração do fluxo de dados


A contagem de fluxo de dados
A contagem de falhas do fluxo de dados

A ID exclusiva para cada fluxo de dados é gerada por uma mesclagem entre o nome do
fluxo de dados e a hora de início do fluxo de dados.
Carregar dados no Excel Online e criar
um relatório de monitoramento de
fluxos de dados com o Power BI
Artigo • 05/10/2023

Este tutorial demonstra como usar um arquivo do Excel e o conector de fluxos de dados
no Power Automate para criar um relatório de monitoramento de fluxos de dados no
Power BI.

Primeiro, você baixará o arquivo do Excel e o salvará no OneDrive for Business ou no


SharePoint. Em seguida, você criará um conector do Power Automate que carrega
metadados do fluxo de dados para o arquivo do Excel no OneDrive for Business ou no
SharePoint. Por fim, você conectará um arquivo do Power BI ao arquivo do Excel para
visualizar os metadados e começar a monitorar os fluxos de dados.

Você poderá usar esse dashboard para monitorar a execução da atualização e a


contagem de falhas dos fluxos de dados. Com esse dashboard, será possível
acompanhar quaisquer problemas no desempenho dos fluxos de dados e compartilhar
os dados com outras pessoas.
Pré-requisitos
Microsoft Excel

Power BI Desktop .

Uma licença premium do Power Automate

OneDrive for Business .

Um fluxo de dados do Power BI ou um fluxo de dados do Power Platform.

Baixar o arquivo .pbit


Primeiro, baixe o arquivo .pbit .

Baixe o arquivo do Excel e salve no OneDrive


Em seguida, baixe o arquivo.xlsx e salve o arquivo em um local no OneDrive for
Business ou no SharePoint

Criação de um fluxo de dados


Se você ainda não tiver um, crie um fluxo de dados. Você pode criar um fluxo de dados
em Fluxos de dados do Power BI ou em Fluxos de dados do Power Apps.

Criar um fluxo no Power Automate


1. Navegue até Power Automate .

2. Selecione Criar>Fluxo de nuvem automatizado.

3. Insira um nome para o fluxo e pesquise o conector "Quando uma atualização de


fluxo de dados for concluída". Selecione esse conector na lista e clique em Criar.
4. Personalize o conector. Insira as seguintes informações em seu fluxo de dados:

Tipo de grupo: selecione Ambiente ao se conectar ao Power Apps e


Workspace ao se conectar ao Power BI.
Grupo: selecione o ambiente do Power Apps ou o workspace do Power BI em
que o fluxo de dados está.
Fluxo de dados: selecione seu fluxo de dados pelo nome.

5. Selecione Nova etapa para adicionar uma ação ao seu fluxo.

6. Pesquise o conector "Adicionar uma linha a uma tabela" do Excel Online (Business)
e selecione-o.

7. Personalize o conector. Insira o local do arquivo do Excel e a tabela específica para


a qual os dados são carregados.

Local: selecione o local do arquivo do Excel no OneDrive for Business ou no


SharePoint.
Biblioteca de Documentos: selecione a biblioteca do arquivo do Excel.
Arquivo: selecione o caminho do arquivo para o arquivo do Excel.
Tabela: selecione "Dataflow_monitoring".

8. Adicione valores dinâmicos aos campos necessários.


Para cada campo necessário, você precisa adicionar um valor dinâmico. Esse valor
é a saída dos metadados da execução do fluxo de dados.

a. Selecione o campo ao lado de dataflowname_name.

b. Selecione Nome do fluxo de dados na caixa de contexto do conteúdo


dinâmico.

c. Repita esse processo para todos os campos obrigatórios.

9. Salve o fluxo.

Criar um relatório do Power BI


1. Abra o arquivo .pbit .

2. Conecte-se ao seu arquivo do Excel.

Neste painel, para cada fluxo de dados no intervalo de tempo especificado, você pode
monitorar:

A duração do fluxo de dados


A contagem de fluxo de dados
A contagem de falhas do fluxo de dados

O uniqueID para cada fluxo de dados é gerado por uma mesclagem entre o nome do
fluxo de dados e a hora de início do fluxo de dados.
Carregar dados em um conjunto de
dados de streaming do Power BI e criar
um relatório de monitoramento de
fluxos de dados com o Power BI
Artigo • 23/03/2023

Este tutorial demonstra como carregar dados em um conjunto de dados de streaming


do Power BI para criar um relatório de monitoramento de fluxos de dados no Power BI.

Primeiro, criaremos um novo conjunto de dados de streaming no Power BI. Esse


conjunto de dados coletará todos os metadados da execução do fluxo de dados e, para
cada atualização de um fluxo de dados, um registro será adicionado a esse conjunto de
dados. Você pode executar vários fluxos de dados no mesmo conjunto de dados. Por
fim, criaremos um relatório do Power BI com os dados para visualizar os metadados e
começar a monitorar os fluxos de dados.

Você poderá usar esse painel para monitorar a execução da atualização e a contagem
de falhas dos fluxos de dados. Com esse painel, será possível acompanhar quaisquer
problemas no desempenho dos fluxos de dados e compartilhar os dados com outras
pessoas.
Pré-requisitos
Uma licença do Power BI Pro.

Uma licença premium do Power Automate.

Um fluxo de dados do Power BI ou um fluxo de dados do Power Platform.

Criar um novo conjunto de dados de streaming


no Power BI
1. Navegue até o Power BI .

2. Abra um workspace.

3. No workspace, selecione Novo>conjunto de dados de streaming.


4. Em Novo conjunto de dados de streaming, selecione o bloco API e Avançar.
5. No novo painel, ative a Análise de dados históricos.

6. Insira os valores a seguir e, depois, selecione Criar.

Nome do conjunto de dados: "Monitoramento de fluxo de dados".


Valor: "Nome do fluxo de dados", Tipo de dados: Texto.
Valor: "ID do fluxo de dados", Tipo de dados: Texto.
Valor: "Status da atualização", Tipo de dados: Texto.
Valor: "Tipo da atualização", Tipo de dados: Texto.
Valor: "Hora de início", Tipo de dados: Data e hora.
Valor: "Hora de término", Tipo de dados: Data e hora.
Criação de um fluxo de dados
Se você ainda não tiver um, crie um fluxo de dados. Você pode criar um fluxo de dados
em Fluxos de dados do Power BI ou em Fluxos de dados do Power Apps.

Criar um fluxo no Power Automate


1. Acesse o Power Automate .

2. Selecione Criar>Fluxo da nuvem automatizado.

3. Insira um nome de fluxo e pesquise o conector "Quando uma atualização de fluxo


de dados for concluída". Selecione esse conector na lista e selecione Criar.

4. Personalize o conector. Insira as seguintes informações sobre o fluxo de dados:


Tipo de Grupo: selecione Ambiente ao se conectar ao Power Apps e
Workspace ao se conectar ao Power BI.
Grupo: selecione o ambiente do Power Apps ou o workspace do Power BI em
que o fluxo de dados está.
Fluxo de dados: selecione seu fluxo de dados pelo nome.

5. Selecione uma nova etapa para adicionar uma ação ao fluxo.

6. Pesquise o conector "Adicionar linhas a um conjunto de dados" no Power BI e o


selecione.

7. Personalize o conector. Insira as seguintes informações:

ID do workspace: selecione o workspace do Power BI que contém seu


conjunto de dados de streaming.
Conjunto de dados: selecione o Monitoramento de fluxo de dados do
conjunto de dados de streaming criado anteriormente em Criar um novo
conjunto de dados de streaming no Power BI.
Tabela: selecione RealTimeData.

8. Adicione valores dinâmicos aos campos necessários.

Para cada campo obrigatório, você precisa adicionar um valor dinâmico. Esse valor
é a saída dos metadados da execução do fluxo de dados.

a. Selecione o campo ao lado do Nome do fluxo de dados e selecione o botão de


relâmpago.
b. Selecione Nome do fluxo de dados na caixa de contexto do conteúdo
dinâmico.

c. Repita esse processo para todos os campos obrigatórios.

9. Salvar o fluxo.

Criar um relatório do Power BI


1. Navegue até o Power BI .

2. Navegue até o conjunto de dados de streaming (neste exemplo, no workspace


DocTestWorkspace e, no conjunto de dados Monitoramento de fluxo de dados,
selecione Criar Relatório).

3. Crie seu próprio relatório com esses dados.


Repetir um fluxo de dados
automaticamente em caso de falha
Artigo • 05/10/2023

No cenário em que você deseja repetir automaticamente um fluxo de dados quando a


atualização falhar, o Conector do Power Automate provavelmente é o caminho a seguir.
Neste tutorial, guiaremos você passo a passo na configuração do fluxo do Power
Automate.

Para repetir um fluxo de dados automaticamente em caso de falha:

1. Navegue até Power Automate .

2. Selecione Criar>Fluxo de nuvem automatizado.

3. Insira um nome para o fluxo e pesquise o conector Quando uma atualização de


fluxo de dados for concluída. Selecione esse conector na lista e clique em Criar.

4. Personalize o conector. Insira as seguintes informações em seu fluxo de dados:


a. Tipo de grupo: selecione Ambiente se estiver se conectando ao Power Apps e
Workspace se estiver se conectando ao Power BI.
b. Grupo: selecione o ambiente do Power Apps ou o workspace do Power BI em
que o fluxo de dados está.
c. Fluxo de dados: selecione seu fluxo de dados pelo nome.

5. Selecione Nova etapa para adicionar uma ação ao seu fluxo.

6. Pesquise e selecione o conector Condição.

7. Personalize o conector Condição. Insira as seguintes informações:


a. Na primeira célula, adicione o Status de atualização do conector de fluxo de
dados.
b. Deixe a segunda célula como é igual a.
c. Na terceira célula, insira Falha.

8. Na seção Se sim, selecione Adicionar uma ação.

9. Pesquise e selecione o conector Atualizar um fluxo de dados.

10. Personalize o conector:


a. Tipo de grupo: selecione Ambiente se estiver se conectando ao Power Apps e
Workspace se estiver se conectando ao Power BI.
b. Grupo: selecione o ambiente do Power Apps ou o workspace do Power BI em
que o fluxo de dados está.
c. Fluxo de dados: selecione o mesmo fluxo de dados escolhido na etapa 4.
Monitorar as atualizações do seu fluxo
de dados com o Power BI
Artigo • 05/10/2023

Ao trabalhar com fluxos de dados de qualquer tipo que não sejam fluxos de dados do
Power BI, é possível monitorar as atualizações de fluxo de dados usando o Power BI.
Este artigo inclui instruções passo a passo sobre como configurar seu painel para
compartilhar com todos de sua equipe. Este painel fornece insights sobre a taxa de
sucesso, a duração e outros pontos das atualizações.

Configurar seu painel


Para configurar o painel de monitoramento com o histórico de atualizações dos fluxos
de dados:

1. Navegue até Power Apps .

2. Escolha o ambiente que deseja monitorar.

3. Abra Configurações>Detalhes da Sessão.

4. Copie a URL da Instância, que deve ser semelhante a contoso.crm.dynamics.com .

5. Faça o download do Modelo do Power BI .

6. Abra o arquivo de modelo com o Power BI Desktop e forneça a URL da instância.


7. Selecione Carregar.

8. Se essa for a primeira vez que você usa esse painel, talvez seja necessário inserir
suas credenciais para entrar.

9. Dentro do painel, existem duas guias com informações sobre erros, duração e a
contagem de linhas que foram inseridas, foram "upsert" ou falharam:

Monitoramento do Fluxo de dados


Monitoramento da tabela

10. Desse ponto em diante, você pode alterar o painel como desejar e publicá-lo em
um workspace de sua escolha.

Onde encontrar as tabelas do Dataverse


As novas tabelas serão disponibilizadas imediatamente no seu ambiente. Para localizar
as tabelas em seu ambiente, execute as seguintes etapas:

1. Navegue até Power Apps .

2. Abra a visão geral das tabelas do Dataverse.


3. Navegue até a seção de tabelas gerenciadas.
4. Role para baixo até as tabelas de histórico de atualizações dos fluxos de dados.

Essas tabelas armazenarão o histórico pelo menos das últimas 50 atualizações. Atualizar
registros de histórico com mais de 90 dias pode ser removido pelo sistema. Para usar
essas tabelas, sugerimos que você use o Power BI para obter os dados por meio do
conector do Dataverse. Também sugerimos que você extraia esses dados em uma tabela
autogerenciada se desejar fazer análises por um período mais longo.

Monitoramento de fluxos de dados do Power


BI
Ao trabalhar com fluxos de dados do Power BI, convém conferir as seguintes páginas
para configurar sua solução de monitoramento:

Usar o Dataverse para criar um relatório de monitoramento de fluxos de dados


Usar um conjunto de dados do Power BI para criar um relatório de monitoramento
de fluxos de dados
Usar o Excel para criar um relatório de monitoramento de fluxos de dados

Problemas conhecidos
Em alguns casos, quando você tenta se conectar às tabelas do Dataverse manualmente
por meio do Power BI, as tabelas podem parecer estar vazias. Para resolver esse
problema, basta atualizar a visualização.
Solucionar problemas de fluxo de
dados: criar fluxos de dados
Artigo • 05/10/2023

Este artigo explica alguns dos erros e problemas mais comuns que podem ocorrer
quando você deseja criar um fluxo de dados e explica como corrigi-los.

Não consigo criar um fluxo de dados no Meu


workspace
Esse problema acontece quando você tenta criar um fluxo de dados no Meu workspace
no Power BI.

Motivo:

Não há suporte para a criação de fluxos de dados no Meu workspace.

Resolução:

Crie os fluxos de dados em workspaces organizacionais. Para saber como criar um


workspace organizacional, acesse Criar os novos workspaces no Power BI.
Não consigo criar um fluxo de dados em um
workspace organizacional no qual tenho
direitos somente leitura
Se você é membro de um workspace da organização e ainda não consegue criar um
fluxo de dados, isso pode ser devido aos seus direitos de acesso nesse workspace.

Motivo:

Você não tem direitos de edição no workspace.

Resolução:

Peça aos administradores ou membros do workspace que forneçam uma função de


Administrador, Membro ou Colaborador.
Não consigo criar um fluxo de dados em um
workspace em que tenho direitos de edição
Esse problema acontece quando você está em um workspace organizacional que você
criou ou que outra pessoa criou e você tem acesso de Administrador, Membro ou
Colaborador. Você deseja criar um fluxo de dados nesse cenário, mas não consegue.

Motivo:

O acesso à criação do fluxo de dados foi desabilitado pelo administrador do Power BI.

Resolução:

Peça ao administrador de locatários do Power BI para habilitar o acesso para você


seguindo estas etapas:

1. No menu Configurações no serviço do Power BI, selecione Portal de


administração.

2. No painel à esquerda, selecione Configurações do locatário e, na seção


Configurações do fluxo de dados, mude a opção para Habilitado. Em seguida,
selecione Aplicar.
Eu vejo apenas opções limitadas quando crio
um fluxo de dados
Às vezes, ao criar um fluxo de dados, você não vê todas as opções disponíveis. Por
exemplo, você pode ver apenas as opções mostradas na imagem a seguir.
No verdade, há mais opções disponíveis, conforme mostrado na imagem a seguir.

Motivo:
Você está criando o fluxo de dados em uma versão antiga do workspace do Power BI,
chamada V1.

Resolução:

Atualize o workspace do Power BI para a nova versão (v2). Para mais informações:
Atualizar workspaces clássicos para os novos workspaces no Power BI
O nome do fluxo de dados já existe, mas eu
excluí o antigo
Esse problema acontece quando você tenta criar um fluxo de dados com um nome que
já existe ou usar o nome de um fluxo de dados que tenha sido excluído recentemente.

Motivo:

Pode levar até 48 horas para que os sistemas de back-end excluam todos os arquivos e
referências ao fluxo de dados excluído.

Resolução:

Você pode aguardar 48 horas antes de publicar o fluxo de dados ou criá-lo agora com
um nome diferente e renomeá-lo mais tarde.
Solução de problemas de fluxo de
dados: obter dados de um fluxo de
dados
Artigo • 23/03/2023

Talvez você tenha criado um fluxo de dados e teve dificuldade em obter dados dele
(usando Power Query no Power BI Desktop ou de outros fluxos de dados). Este artigo
explica alguns dos problemas mais comuns com a obtenção de dados de um fluxo de
dados.

Erro: Esta tabela está vazia


Vamos supor que você esteja obtendo dados de um fluxo de dados (no Power BI
Desktop ou em outro fluxo de dados) e você tem acesso a esse fluxo de dados. Às
vezes, no entanto, quando você obtém dados de um fluxo de dados na situação acima,
você recebe uma mensagem na janela Navegador informando "Esta tabela está vazia".

Motivo:

Os dados não foram carregados na tabela.

Resolução:

Nas ferramentas da área de trabalho, como o Power Query no Excel e o Power Query no
Power BI Desktop, o carregamento de dados em tabelas ocorre automaticamente (a
menos que você desabilite). Esse comportamento é um pouco diferente no Power Query
em fluxos de dados. Nas entidades de fluxo de dados, os dados não serão carregados, a
menos que você atualize os dados.

Você precisa configurar uma atualização agendada para um fluxo de dados ou, se quiser
apenas uma única atualização, use a opção de atualização manual.
Depois que o fluxo de dados for atualizado, os dados das entidades ficarão visíveis na
janela Navegador de outras ferramentas e serviços.

Para mais informações: Atualizando um fluxo de dados no Power BI e Definir a


frequência de atualização no Power Apps

Meu fluxo de dados do Microsoft Power


Platform não está listado
Às vezes você tem um fluxo de dados do Microsoft Power Platform que criou e também
atualizou, mas ainda não consegue acessá-lo por meio do comando Obter dados. Isso
pode ocorrer porque a conta que está tentando acessar o fluxo de dados não tem
acesso. No entanto, caso a conta tenha acesso ao fluxo de dados, outro motivo poderá
ser o tipo de fluxo de dados que você está acessando.

Você poderá receber a mensagem de erro "Chegamos ao final do buffer" ou


"DataFormat.Error: chegamos ao final do buffer".
Motivo:

Somente fluxos de dados analíticos podem ser usados em uma operação Obter dados
de um fluxo de dados.

Resolução:

Se você criou um fluxo de dados que armazena dados no Dataverse, ou seja, um fluxo
de dados padrão, você não poderá vê-lo usando a operação Obter dados em um fluxo
de dados. No entanto, você pode usar Obter dados no Dataverse para acessá-lo. Ou
você pode criar um fluxo de dados analítico e acessá-lo usando Obter dados em um
fluxo de dados.
Não consigo fazer uma conexão do
DirectQuery com o fluxo de dados
Se você pretende usar o fluxo de dados como uma fonte do DirectQuery, talvez seja
necessário habilitá-lo primeiro.

Motivo:

As configurações aprimoradas do mecanismo de computação estão desabilitadas.

Resolução:

Habilite o mecanismo de computação aprimorado e, assim, você terá a opção de se


conectar ao fluxo de dados usando o DirectQuery.
Solução de problemas de fluxo de
dados: conexão com a fonte de dados
Artigo • 05/10/2023

Quando você cria um fluxo de dados, às vezes ocorre um erro ao se conectar à fonte de
dados. Esse erro pode ser causado pelo gateway, credenciais ou outros motivos. Este
artigo explica os erros e problemas de conexão mais comuns e sua resolução.

Erro: um gateway de dados local é necessário


para se conectar
Esse problema pode acontecer quando você move uma consulta de Power Query em
ferramentas da área de trabalho para Power Query no fluxo de dados e obtém o erro
"Um gateway de dados local é necessário para se conectar".

Motivo:

Quando sua tabela no fluxo de dados obtém dados de uma fonte de dados local, é
necessário ter um gateway para a conexão, mas o gateway não foi selecionado.

Resolução:

Selecione Selecionar gateway. Se o gateway ainda não tiver sido configurado, acesse
Instalar um gateway de dados local.
Erro: Especifique como se conectar
Esse problema ocorre quando você está conectado a uma fonte de dados, mas ainda
não configurou as credenciais ou os detalhes da conexão. Isso pode acontecer quando
você migra consultas para um fluxo de dados.

Motivo:

Os detalhes da conexão não estão configurados corretamente.

Resolução:

Selecione Configurar conexão. Configure os detalhes e as credenciais da conexão.

Expression.Error: O módulo chamado 'xyz' foi


desabilitado neste contexto
Às vezes, ao migrar suas consultas de Power Query em ferramentas da área de trabalho
para o fluxo de dados, você recebe um erro informando que um módulo está
desabilitado nesse contexto. Um exemplo dessa situação é quando sua consulta usa
funções como Web.Page ou Web.BrowserContents .

Motivo:

Os módulos desabilitados estão relacionados a funções que exigem uma conexão de


gateway de dados local para funcionar. Mesmo que a função esteja obtendo dados de
uma página da Web, devido a alguns requisitos de conformidade de segurança, ela
precisará passar por uma conexão de gateway.
Resolução:

Primeiro, instale e configure um gateway local. Em seguida, adicione uma fonte de


dados da Web para a URL da Web à qual você está se conectando.

Depois de adicionar a fonte de dados da Web, você pode selecionar o gateway no fluxo
de dados das opções e >Opções do projeto.
Pode ser necessário configurar credenciais. Quando você configurar o gateway e suas
credenciais com êxito, os módulos não serão mais desabilitados."

Fontes de dados excluídas ou antigas ainda


aparecem
Às vezes, quando você exclui uma fonte de dados do fluxo de dados, ela ainda aparece
em sua visão geral de credenciais ou visão geral da linhagem. Isso não afeta a
atualização ou a criação do fluxo de dados.
Motivo:

Um fluxo de dados mantém sua associação com fontes de dados de fluxo de dados
excluídas e não as exclui automaticamente. Isso requer um corte iniciado pelo usuário.

Resolução:

Para cortar as fontes de dados, você precisará seguir as seguintes etapas:

1. Abra o fluxo de dados.

2. Selecione Opções.

3. Selecione Opções do projeto.

4. Altere o gateway para outro gateway. Não importa qual deles, contanto que seja
um gateway diferente.
5. Depois de aplicar a alteração ao selecionar OK, repita as etapas 1 a 4 para
selecionar o gateway original novamente.

Essas etapas basicamente excluem todas as associações de fonte de dados para o fluxo
de dados. Depois de concluir essas etapas, você pode ser solicitado a configurar
credenciais. Ao configurar o gateway e suas credenciais com êxito, você efetivamente
"corta" as associações de fonte de dados para o fluxo de dados para apenas as que o
fluxo de dados está realmente usando.

7 Observação

No caso de fluxos de dados com fontes de dados em nuvem sem um gateway de


dados local, quando o nome da fonte de dados for alterado, uma conexão de fonte
de dados antiga ainda continuará existindo. Para remover essa conexão, no serviço
do Power BI, selecione o ícone de configurações, acesse Gerenciar Conexões e
Gateways>Conexões, selecione o menu de reticências pelo nome da conexão e
selecione Remover para remover a conexão de fonte de dados antiga/não
utilizada. Em seguida, acesse a Página inicial, selecione o espaço de trabalho,
selecione o fluxo de dados para abri-lo e, na página Nome da tabela, selecione
Editar tabelas. Em seguida, no editor do Power Query, selecione Salvar & Fechar
para que os fluxos de dados sejam atualizados para a conexão de fonte de dados
atual e para remover a conexão mais antiga.
Modelo do Power Query (pré-
visualização)
Artigo • 05/10/2023

Um modelo do Power Query é um arquivo que engloba o script do Power Query e os


metadados associados para um único projeto do Power Query.

Destina-se a ser usado como um meio simples para empacotar todo o projeto do Power
Query em um único arquivo. Em seguida, compartilhe o arquivo ou importe-o para
outras integrações do Power Query.

7 Observação

Um projeto do Power Query pode ser definido como uma única instância do editor
do Power Query. Essa instância pode conter qualquer número de parâmetros,
consultas e configurações específicas, como a localidade que deve ser usada para
interpretar tipos de dados.

) Importante

Os conceitos que estão fora do script do Power Query ou dos metadados estão
fora do escopo do que encontrar em um modelo do Power Query. Alguns
exemplos são conceitos relacionados ao fluxo de dados, como definição de
atualização agendada, histórico de atualização, IDs de fluxo de dados, conexões
referenciadas e outros conceitos que não são armazenados no script do Power
Query ou nos metadados de um projeto do Power Query.

Exportar um modelo

7 Observação

O guia a seguir se aplica a todos os hosts do Power Query Online.

Para o Power Query no Excel para Windows, siga o guia em exportar consultas no
Excel para um modelo do Power Query.
O botão Exportar modelo está dentro da guia Início da fita do Power Query, no grupo
Compartilhar.

Quando você seleciona este botão, a caixa de diálogo Modelo de exportação é exibida.
Nessa caixa de diálogo, você pode inserir o nome do modelo e a descrição usada para o
modelo.
Essa operação baixa um arquivo com a extensão .pqt, que é o arquivo de modelo do
Power Query.

Importar um modelo

7 Observação

Essa funcionalidade só está disponível dentro da experiência Dataflows Gen2 para


Microsoft Fabric.

A opção de importar de um modelo só está disponível em projetos do Power Query


sem consultas ou parâmetros definidos. Na tela inicial do editor do Power Query, há um
link Importar do modelo do Power Query.

Selecionar o botão Importar do modelo do Power Query aciona uma experiência para
ajudar a carregar seu modelo do Power Query e carregar imediatamente o projeto com
todas as consultas, parâmetros e configurações.

) Importante

As conexões e/ou definições de credenciais não são armazenadas dentro de um


arquivo de modelo do Power Query. Esses itens precisam ser definidos após a
importação do modelo.
Atalhos de teclado no Power Query
Artigo • 05/10/2023

Os atalhos de teclado fornecem uma maneira rápida de navegar e permite que os


usuários trabalhem com mais eficiência. Para usuários com deficiência visual ou de
mobilidade, os atalhos de teclado podem ser mais fáceis de usar do que a tela sensível
ao toque e são uma alternativa essencial ao uso do mouse. A tabela neste artigo lista
todos os atalhos disponíveis no Power Query Online.

Ao usar o Editor de consultas no Power Query Online, é possível navegar até a opção
Atalhos de teclado na guia Ajuda para ver a lista de atalhos de teclado.

7 Observação

Esses atalhos foram testados com o Microsoft Edge no Windows e no MacOS.


Apesar de tentarmos fornecer suporte para todos os navegadores, outros
navegadores podem criar ou implementar seus próprios atalhos. Como não
podemos controlar como outros navegadores se comportam, não podemos
garantir que todos os atalhos nesta lista funcionem em todos os navegadores.
Como não podemos controlar o comportamento de outros navegadores, não
podemos garantir que todos os atalhos nesta lista funcionem em todos os
navegadores.

Editor de Consultas
Ação Atalhos de teclado do Atalhos de teclado do
Windows MacOS

Obter dados Ctrl+Alt+D Control+Option+D

Inserir Dados Ctrl+Alt+T Command+Option+T

Adicionar coluna Ctrl+Alt+C Command+Option+C


personalizada

Escolher coluna Ctrl+K Command+K

Ir para coluna Ctrl+G Command+G

Adicionar coluna de Ctrl+E Command+E


exemplos

Consulta em branco Ctrl+M Fn+Comando+M


Ação Atalhos de teclado do Atalhos de teclado do
Windows MacOS

Editor avançado Ctrl+Shift+M Command+Shift+M

Atualizar Alt+F5 Option+F5

Search Alt+Q Option+Q

Visualização dos dados


Ação Atalhos de teclado do Atalhos de teclado do
Windows MacOS

Copiar Ctrl+C Command+C


células/linhas/colunas

Selecionar todas as células Ctrl+A Command+A

Selecionar coluna Ctrl+Espaço Control+Space

Quando o foco está no cabeçalho da coluna

Ação Atalhos de teclado do Atalhos de teclado do


Windows MacOS

Menu de filtro Alt + Tecla de seta para Option+Seta para baixo


baixo

Alterar menu do tipo de coluna Ctrl + Tecla de seta para Command+Seta para
baixo baixo

Mover o foco para o cabeçalho da Ctrl + Tecla de seta para a Command+Seta para a
coluna à esquerda esquerda esquerda

Mover o foco para o cabeçalho da Ctrl + Tecla de seta para a Command+Seta para a
coluna à direita direita direita

Selecionar a primeira coluna Página inicial Fn+Seta para a esquerda

Selecionar a última coluna Encerrar Fn+Seta para a direita

Quando o foco está na célula


Ação Atalhos de teclado do Atalhos de teclado do MacOS
Windows

Selecionar a primeira célula da Página inicial Fn+Seta para a esquerda


linha

Selecionar a última célula da linha Encerrar Fn+Seta para a direita

Selecionar a primeira célula da Alt+Home Fn+Option+Seta para a


coluna esquerda

Selecionar a última célula da Alt+End Fn+Option+Seta para a direita


coluna

Selecionar a primeira célula da Ctrl+Home Fn+Command+Esquerda


primeira linha

Selecionar a última célula da Ctrl+End Fn+Command+Seta para a


última linha direita

Selecione a célula uma página Uma página acima Fn+Seta para cima
acima

Selecione a célula uma página Uma página abaixo Fn+Seta para baixo
abaixo

Grade editável (Inserir dados/Tabela em


branco)
Ação Atalhos de teclado do Atalhos de teclado do
Windows MacOS

Copiar células/linhas/colunas Ctrl+C Command+C

Colar células/linhas/colunas Ctrl+V Command+V

Salvar dados inseridos Ctrl+Enter Command+Return

Mostrar sugestões (quando Ctrl+Espaço Ctrl+Espaço


disponível)

Editor de texto de várias linhas (consulta em


branco/editor avançado)
Ação Atalhos de teclado do Atalhos de teclado do
Windows MacOS

Alternar comportamento da Ctrl+M Control+Shift+M


guia

Exibição de diagrama
Ação Atalhos de teclado do Atalhos de teclado do
Windows MacOS

Expandir a consulta selecionada Ctrl + Tecla de seta para a Command+Seta para a direita
direita

Recolher consulta selecionada Ctrl + Tecla de seta para a Command+Seta para a


esquerda esquerda

Mover o foco do nível de consulta Alt + Tecla de seta para Option+Seta para baixo
para o nível da etapa baixo

Mover o foco do nível da etapa Esc Esc


para o nível de consulta

Expandir todas as consultas Ctrl + Shift + Tecla de Command+Shift+Seta para a


seta para a direita direita

Recolher todas as consultas Ctrl + Shift + Tecla de Command+Shift+Seta para a


seta para a esquerda esquerda

Inserir nova etapa usando o botão Ctrl+Alt+N Command+Options+N


+ (após selecionar a etapa)

Realçar consultas relacionadas Ctrl+Alt+R Command +Options+R

Selecionar todas as consultas Ctrl+A Command+A

Copiar consultas Ctrl+C Command+C

Colar as consultas Ctrl+V Command+V

Painel Consultas
Ação Atalhos de teclado do Atalhos de teclado do MacOS
Windows

Selecionar todas as Ctrl+A Command+A


consultas
Ação Atalhos de teclado do Atalhos de teclado do MacOS
Windows

Copiar consultas Ctrl+C Command+C

Colar as consultas Ctrl+V Command+V

Selecionar várias Ctrl + Tecla de seta para cima e Command+Seta para cima e
consultas consecutivas Ctrl + Tecla de seta para baixo Command+Seta para baixo
Práticas recomendadas ao trabalhar
com Power Query
Artigo • 23/03/2023

Este artigo contém algumas dicas e truques para aproveitar ao máximo sua experiência
de estruturação de dados no Power Query.

Escolher o conector correto


O Power Query oferece um grande número de conectores de dados. Esses conectores
variam de fontes de dados, como arquivos TXT, CSV e Excel, a bancos de dados como o
Microsoft SQL Server e serviços SaaS populares, como o Microsoft Dynamics 365 e o
Salesforce. Se você não vir sua fonte de dados listada na janela Obter Dados, sempre
poderá usar o conector ODBC ou OLEDB para se conectar à fonte de dados.

O uso do melhor conector para a tarefa fornecerá a você a melhor experiência e o


melhor desempenho. Por exemplo, o uso do conector do SQL Server em vez do
conector ODBC ao se conectar a um banco de dados SQL Server não apenas fornece
uma experiência de Obter Dados muito melhor, mas o conector do SQL Server também
oferece recursos que podem aprimorar sua experiência e seu desempenho, como a
dobragem de consultas. Para ler mais sobre a dobragem de consulta, vá para Power
Query dobramento de consulta.

Cada conector de dados segue uma experiência padrão, conforme explicado em


Obtenção de dados. Essa experiência padronizada tem um estágio chamado
Visualização de Dados. Nesta fase, você vai ver uma janela amigável para selecionar os
dados que deseja obter da fonte de dados, se o conector permitir, e uma visualização
simples desses dados. Você pode até mesmo selecionar vários conjuntos de dados da
fonte de dados por meio da janela Navegador, conforme mostrado na imagem a seguir.
7 Observação

Para ver a lista completa de conectores disponíveis no Power Query, acesse


Conectores no Power Query.

Filtrar antecipadamente
É sempre recomendável filtrar seus dados nos estágios iniciais da consulta ou o mais
cedo possível. Alguns conectores aproveitarão seus filtros por meio da dobragem de
consultas, conforme descrito em Dobragem de consultas do Power Query. Também é
uma prática recomendada filtrar todos os dados que não são relevantes para o seu caso.
Isso permitirá que você se concentre melhor em sua tarefa, mostrando apenas os dados
relevantes na seção de visualização de dados.

Você pode usar o menu de filtro automático que exibe uma lista distinta dos valores
encontrados na coluna para selecionar os valores que deseja manter ou filtrar. Você
também pode usar a barra de pesquisa para ajudar a encontrar os valores na coluna.
Você também pode aproveitar os filtros específicos de tipo, como No anterior para uma
coluna de data, datetime ou até mesmo de fuso horário de data.
Esses filtros específicos de tipo podem ajudar você a criar um filtro dinâmico que
sempre recuperará dados que estão no x números de segundos, minutos, horas, dias,
semanas, meses, trimestres ou anos anteriores, conforme mostrado na imagem a seguir.

7 Observação

Para saber mais sobre como filtrar seus dados com base em valores de uma coluna,
acesse Filtrar por valores.
Fazer operações caras por último
Determinadas operações exigem a leitura completa da fonte de dados para retornar
qualquer resultado e, portanto, serão lentas para visualização no Editor do Power Query.
Por exemplo, se você executar uma classificação, é possível que as primeiras linhas
classificadas estejam no final dos dados de origem. Portanto, para retornar algum
resultado, a operação de classificação deverá primeiro ler todas as linhas.

Outras operações (como filtros) não precisam ler todos os dados para retornar
resultados. Em vez disso, elas operam sobre os dados no que é chamado de uma forma
de "fluxo". Os dados "fluem" e os resultados são retornados ao longo do caminho. No
Editor do Power Query, essas operações só precisam ler o quanto baste dos dados de
origem para preencher a visualização.

Sempre que possível, execute essas operações de fluxo primeiro e faça operações mais
caras por último. Isso ajudará a minimizar o tempo gasto aguardando a visualização ser
renderizada cada vez que você adicionar uma nova etapa à consulta.

Trabalhar temporariamente em um
subconjunto de seus dados
Se a adição de novas etapas à consulta no Editor do Power Query for lenta, considere
primeiro fazer uma operação "Manter Primeiras Linhas" e limitar o número de linhas em
que você está trabalhando. Em seguida, depois de adicionar todas as etapas necessárias,
remova a etapa "Manter Primeiras Linhas".

Usar os tipos de dados corretos


Alguns recursos em Power Query são relativos ao contexto do tipo de dados da coluna
selecionada. Por exemplo, ao selecionar uma coluna de data, as opções disponíveis no
grupo de Colunas de data e hora no menu Adicionar Coluna ficarão disponíveis. Mas
se a coluna não tiver um tipo definido de dados, essas opções ficarão esmaecidas.
Ocorre uma situação semelhante para os filtros específicos de tipo, pois eles são
específicos para determinados tipos de dados. Se sua coluna não tiver o tipo de dados
correto definido, esses filtros específicos de tipo não ficarão disponíveis.

É crucial que você sempre trabalhe com os tipos de dados corretos para suas colunas.
Ao trabalhar com fontes de dados estruturadas, como bancos de dados, as informações
de tipo de dados serão trazidas do esquema da tabela encontrado no banco de dados.
Mas para fontes de dados não estruturadas, como arquivos TXT e CSV, é importante
definir os tipos de dados corretos para as colunas provenientes dessas fontes de dados.
Por padrão, Power Query oferece uma detecção automática de tipo de dados para
fontes de dados não estruturadas. Leia mais sobre esse recurso e como ele pode ajudá-
lo em Tipos de Dados.

7 Observação

Para saber mais sobre a importância dos tipos de dados e como trabalhar com eles,
confira Tipos de dados.

Explorar seus dados


Antes de começar a preparar os dados e adicionar novas etapas de transformação,
recomendamos que você habilite as ferramentas de criação de perfil de dados do Power
Query para descobrir facilmente informações sobre seus dados.

Essas ferramentas de criação de perfil de dados ajudam você a entender melhor seus
dados. As ferramentas fornecem pequenas visualizações que mostram informações por
coluna, como:

Qualidade da coluna – Fornece um pequeno gráfico de barras e três indicadores


com a representação de quantos valores na coluna se enquadram nas categorias
de valores válidos, de erro ou vazios.
Distribuição de coluna – Fornece um conjunto de visuais abaixo dos nomes das
colunas, os quais demostram a frequência e a distribuição dos valores em cada
uma das colunas.
Perfil da coluna – Fornece uma exibição mais completa da coluna e das estatísticas
associadas a ela.
Você também pode interagir com esses recursos, o que ajudará você a preparar seus
dados.

7 Observação

Para saber mais sobre as ferramentas de criação de perfil de dados, acesse


Ferramentas de criação de perfil de dados.

Documentar seu trabalho


Recomendamos que você documente suas consultas renomeando ou adicionando uma
descrição às etapas, consultas ou grupos conforme achar melhor.

Embora Power Query crie automaticamente um nome de etapa para você no painel de
etapas aplicadas, você também pode renomear as etapas ou adicionar uma descrição a
qualquer uma delas.
7 Observação

Para saber mais sobre todos os recursos e componentes disponíveis encontrados


no painel de etapas aplicadas, acesse Usando a lista de etapas aplicadas.

Adotar uma abordagem modular


É totalmente possível criar apenas uma consulta que contenha todas as transformações
e cálculos necessários. Mas se a consulta contiver um grande número de etapas, talvez
seja uma boa ideia dividir a consulta em várias consultas, em que uma consulta faça
referência à próxima. O objetivo dessa abordagem é simplificar e desacoplar as fases de
transformação em partes menores para que sejam mais fáceis de entender.

Por exemplo, digamos que você tenha uma consulta com as nove etapas mostradas na
imagem a seguir.
Você poderia dividir essa consulta em duas na etapa Mesclar com tabela de Preços.
Dessa forma, é mais fácil entender as etapas que foram aplicadas à consulta de vendas
antes da mesclagem. Para fazer essa operação, clique com o botão direito do mouse na
etapa Mesclar com tabela de Preços e selecione a opção Extrair Anterior.
Em seguida, você verá uma caixa de diálogo para dar um nome à nova consulta. Isso
dividirá efetivamente sua consulta em duas consultas. Uma consulta terá todas as
consultas antes da mesclagem. A outra consulta terá uma etapa inicial que fará
referência à nova consulta e ao restante das etapas que você tinha em sua consulta
original da etapa Mesclar com a tabela de Preços em diante.

Você também pode aproveitar o uso de referenciamento de consulta conforme achar


melhor. Mas é uma boa ideia manter as consultas em um nível que não pareça
assustador à primeira vista com tantos passos.

7 Observação

Para saber mais sobre a referência de consulta, acesse Noções básicas sobre o
painel consultas.

Criar grupos
Uma ótima maneira de manter seu trabalho organizado é usar grupos no painel de
consultas.
A única finalidade dos grupos é ajudar você a manter seu trabalho organizado, servindo
como pastas para suas consultas. Você pode criar grupos dentro de grupos, caso
precise. Mover consultas entre grupos é tão fácil quanto arrastar e soltar.

Tente dar a seus grupos nomes significativos que façam sentido para você e seu caso.

7 Observação

Para saber mais sobre todos os recursos e componentes disponíveis encontrados


dentro do painel de consultas, acesse Noções básicas sobre o painel consultas.

Consultas resilientes
Ter a certeza de criar uma consulta que não tenha problemas durante uma atualização
futura é uma prioridade máxima. Há vários recursos no Power Query para tornar sua
consulta resiliente a alterações e capaz de ser atualizada mesmo quando alguns
componentes da sua fonte de dados forem alterados.

Uma prática recomendada é definir o escopo da consulta quanto ao que ela deve fazer
e o que ela deve considerar em termos de estrutura, layout, nomes de colunas, tipos de
dados e qualquer outro componente que você considere relevante para o escopo.
Alguns exemplos de transformações que podem ajudar você a tornar sua consulta
resiliente a alterações são:

Se a consulta tiver um número dinâmico de linhas de dados, mas um número fixo


de linhas que servem como rodapé que deva ser removido, você poderá usar o
recurso Remover linhas inferiores.

7 Observação

Para saber mais sobre como filtrar seus dados por posição de linha, vá para
Filtrar uma tabela por posição de linha.

Se a consulta tiver um número dinâmico de colunas, mas você só precisar


selecionar colunas específicas do conjunto de dados, poderá usar o recurso
Escolher colunas.

7 Observação

Para saber mais sobre como escolher ou remover colunas, acesse Escolher ou
remover colunas.

Se a consulta tiver um número dinâmico de colunas e você precisar transformar


colunas em linhas apenas em um subconjunto das colunas, você poderá usar o
recurso de transformar colunas selecionadas em linhas.

7 Observação

Para saber mais sobre as opções para descompactar suas colunas, acesse
Colunas não dinâmicas.

Se a consulta tiver uma etapa que altere o tipo de dados de uma coluna, mas
algumas células gerarem erros, pois os valores não estão em conformidade com o
tipo de dados desejado, você poderá remover as linhas que geraram valores de
erro.

7 Observação

Para saber mais sobre como trabalhar e lidar com erros, acesse Lidar com
erros.
Usar parâmetros
Criar consultas dinâmicas e flexíveis é uma prática recomendada. Os parâmetros no
Power Query ajudam você a tornar suas consultas mais dinâmicas e flexíveis. Um
parâmetro serve como uma forma de armazenar e gerenciar facilmente um valor que
possa ser reutilizado de várias maneiras diferentes. Mas é mais comumente usado em
dois cenários:

Argumento de etapa – Você pode usar um parâmetro como o argumento de


várias transformações orientadas pela interface do usuário.

Argumento de função personalizada – Você pode criar uma função com base em
uma consulta e referenciar parâmetros como os argumentos de sua função
personalizada.
Os principais benefícios de criar e usar parâmetros são:

Exibição centralizada de todos os parâmetros por meio da janela Gerenciar


Parâmetros.

Reutilização do parâmetro em várias etapas ou consultas.


Torna a criação de funções personalizadas simples e fácil.

Você pode até mesmo usar parâmetros em alguns dos argumentos dos conectores de
dados. Por exemplo, você pode criar um parâmetro para o nome do servidor ao se
conectar ao banco de dados do SQL Server. Em seguida, você pode usar esse parâmetro
dentro da caixa de diálogo do banco de dados do SQL Server.

Se você alterar o local do servidor, tudo o que precisará fazer será atualizar o parâmetro
para o nome do servidor e suas consultas serão atualizadas.

7 Observação

Para saber mais sobre como criar e usar parâmetros, acesse Usar parâmetros.

Criar funções reutilizáveis


Se você se deparar com uma situação em que precise aplicar o mesmo conjunto de
transformações a diferentes consultas ou valores, a criação de uma função
personalizada do Power Query que possa ser reutilizada quantas vezes precisar poderá
ser útil. Uma função personalizada do Power Query é um mapeamento de um conjunto
de valores de entrada para um único valor de saída e é criada com base em operadores
e funções M nativas.

Por exemplo, digamos que você tenha várias consultas ou valores que exigem o mesmo
conjunto de transformações. Você poderia criar uma função personalizada que
posteriormente pudesse ser invocada nas consultas ou nos valores de sua escolha. Essa
função personalizada economizaria tempo e o ajudaria a gerenciar seu conjunto de
transformações em um local central, que você pode modificar a qualquer momento.
As funções personalizadas do Power Query podem ser criadas com base em consultas e
parâmetros existentes. Por exemplo, imagine uma consulta que tenha vários códigos
como uma cadeia de caracteres de texto e você deseja criar uma função que
decodificará esses valores.

Você começa com um parâmetro que tenha um valor que sirva de exemplo.
Com base nesse parâmetro, você cria outra consulta em que aplica as transformações
necessárias. Para esse caso, você deseja dividir o código PTY-CM1090-LAX em vários
componentes:

Origem = PTY
Destino = LAX
Airline = CM
FlightID = 1090
Em seguida, você pode transformar essa consulta em uma função, clicando com o botão
direito do mouse na consulta e selecionando Criar Função. Por fim, você pode invocar a
função personalizada em qualquer uma de suas consultas ou seus valores, conforme
mostrado na imagem a seguir.

Depois de mais algumas transformações, você poderá ver que alcançou a saída
desejada e aproveitou a lógica dessa transformação de uma função personalizada.

7 Observação

Para saber mais sobre como criar e usar funções personalizadas no Power Query,
veja o artigo Funções Personalizadas.
Comentários do Power Query
Artigo • 05/10/2023

Este artigo descreve como obter suporte ou enviar comentários para o Power Query.

Para conectores Power Query, acesse Comentários e suporte para conectores Power
Query.

Para documentação do Power Query, você pode enviar comentários por meio do link
Enviar e visualizar comentários para: Esta página na parte inferior de cada artigo.

Suporte e solução de problemas


Se você estiver encontrando um problema com o Power Query, use os canais de suporte
dedicados para o produto em que está usando o Power Query. Por exemplo, para o
Power BI, visite a página de suporte do Power BI .

Você também pode usar qualquer um dos seguintes recursos da comunidade:

Fóruns da comunidade para o produto em que você está usando o Power Query.
Por exemplo, para o Power BI, esse fórum seria Comunidade do Power BI
Recursos do site do Power Query

Para obter informações sobre os links de suporte de ajuda internos do Power Query, vá
para Obter ajuda do Power Query.

Enviar comentários
Para enviar comentários sobre o Power Query, forneça os comentários para o fórum
"ideias" para o produto em que você está usando o Power Query. Por exemplo, para o
Power BI, visite o fórum de ideias do Power BI . Se você tiver um, também poderá
fornecer comentários diretamente ao contato de sua conta Microsoft.
Como a correspondência difusa
funciona no Power Query
Artigo • 05/10/2023

Os recursos do Power Query, como mesclagem difusa, Valores de cluster e agrupamento


difuso usam os mesmos mecanismos para funcionar como correspondência difusa.

Este artigo aborda muitos cenários que demonstram como aproveitar as opções que a
correspondência difusa tem, com o objetivo de deixar claro o "fuzzy".

Ajustar o limite de similaridade


O melhor cenário para aplicar o algoritmo de correspondência difusa é quando todas as
cadeias de caracteres de texto em uma coluna contêm apenas as cadeias de caracteres
que precisam ser comparadas e nenhum componente extra. Por exemplo, comparar
Apples com 4ppl3s gera pontuações de similaridade mais altas do que comparar

Apples com My favorite fruit, by far, is Apples. I simply love them! .

Como a palavra Apples na segunda cadeia de caracteres é apenas uma pequena parte
de toda a cadeia de caracteres de texto, essa comparação produz uma pontuação de
similaridade mais baixa.

Por exemplo, o conjunto de dados a seguir consiste em respostas de uma pesquisa que
tinha apenas uma pergunta: "Qual é a sua fruta favorita?"

Fruta

Blueberries

Blue berries are simply the best

Strawberries

Strawberries = <3

Maçãs

'sples

4ppl3s

Bananas

fav fruit is bananas


Fruta

Banas

My favorite fruit, by far, is Apples. I simply love them!

A pesquisa forneceu uma única caixa de texto para inserir o valor e não teve validação.

Agora você tem a tarefa de agrupar os valores. Para executar essa tarefa, carregue a
tabela de frutas anterior no Power Query, selecione a coluna e selecione a opção
Valores de cluster na guia Adicionar coluna da faixa de opções.

A caixa de diálogo Valores de cluster é exibida, na qual você poderá especificar o nome
da nova coluna. Dê o nome de Cluster a essa nova coluna e selecione OK.
Por padrão, o Power Query usa um limite de similaridade de 0,8 (ou 80%) e o resultado
da operação anterior produz a tabela a seguir com a nova coluna Cluster.

Embora o clustering tenha sido feito, ele não está fornecendo os resultados esperados
para todas as linhas. A linha número dois (2) ainda tem o valor Blue berries are simply
the best , mas deveria ser clusterizado como Blueberries , e algo semelhante acontece

com as cadeias de caracteres de texto Strawberries = <3 , fav fruit is bananas e My


favorite fruit, by far, is Apples. I simply love them! .

Para determinar o que está causando esse agrupamento, clique duas vezes em Valores
de cluster no painel Etapas aplicadas para recuperar a caixa de diálogo Valores de
cluster. Dentro dessa caixa de diálogo, expanda Opções de cluster difuso. Habilite a
opção Mostrar pontuações de similaridade e selecione OK.
Habilitar a opção Mostrar pontuações de similaridade cria uma nova coluna na tabela.
Esta coluna mostra a pontuação de similaridade exata entre o cluster definido e o valor
original.

Após uma inspeção mais detalhada, o Power Query não conseguiu encontrar outros
valores no limite de similaridade para as cadeias de caracteres de texto Blue berries
are simply the best , Strawberries = <3 , fav fruit is bananas e My favorite fruit,
by far, is Apples. I simply love them! .

Volte para a caixa de diálogo Valores de cluster mais uma vez clicando duas vezes em
Valores de cluster no painel Etapas aplicadas. Altere o Limite de similaridade de 0,8
para 0,6, e selecione OK.

Essa alteração o aproxima do resultado que você está procurando, exceto pela cadeia
de caracteres de texto My favorite fruit, by far, is Apples. I simply love them! .
Quando você alterou o valor Limite de similaridade de 0,8 para 0,6, o Power Query
pôde usar os valores com uma pontuação de similaridade que começa de 0,6 até 1.

7 Observação

O Power Query sempre usa o valor mais próximo do limite para definir os clusters.
O limite define o limite inferior da pontuação de similaridade aceitável para atribuir
o valor a um cluster.
Você pode tentar novamente alterando a Pontuação de similaridade de 0,6 para um
número menor até obter os resultados que está procurando. Nesse caso, altere a
Pontuação de similaridade para 0,5. Essa alteração produz o resultado exato que você
está esperando com a cadeia de texto My favorite fruit, by far, is Apples. I simply
love them! agora atribuída ao cluster Apples .

7 Observação

Atualmente, apenas o recurso Valores de cluster no Power Query Online fornece


uma nova coluna com a pontuação de similaridade.

Considerações especiais para a tabela de


transformação
A tabela de transformação ajuda a mapear valores da coluna para novos valores antes
de executar o algoritmo de correspondência difusa.

Alguns exemplos de como a tabela de transformação pode ser usada:

Tabela de transformação em consultas de mesclagem difusa


Tabela de transformação em grupo por
Tabela de transformação em valores de cluster

) Importante

Quando a tabela de transformação é usada, a pontuação máxima de similaridade


para os valores da tabela de transformação é 0,95. Essa penalidade deliberada de
0,05 está em vigor para distinguir que o valor original de tal coluna não é igual aos
valores com os quais foi comparado desde que uma transformação ocorreu.
Para cenários em que você primeiro quer mapear seus valores e, então, executar a
correspondência difusa sem a penalidade de 0,05, recomendamos que você
substitua os valores da coluna e, depois, execute a correspondência difusa.
Nos bastidores do Firewall de
Privacidade de Dados
Artigo • 03/11/2023

7 Observação

Atualmente, os níveis de privacidade estão indisponíveis nos fluxos de dados do


Power Platform. A equipe do produto está trabalhando para reabilitar essa
funcionalidade nas próximas semanas.

Se você tiver usado o Power Query por qualquer intervalo de tempo, provavelmente já
experimentou isso. Lá está você, consultando, quando de repente recebe um erro que
nenhuma quantidade de pesquisa online, ajustes de consulta ou toques no teclado
pode remediar. Um erro como:

Formula.Firewall: Query 'Query1' (step 'Source') references other queries or steps,

so it may not directly access a data source. Please rebuild this data combination.

Ou talvez:

Formula.Firewall: Query 'Query1' (step 'Source') is accessing data sources that

have privacy levels which cannot be used together. Please rebuild this data
combination.

Esses erros de Formula.Firewall são o resultado do Firewall de Privacidade de Dados


(também conhecido como Firewall), que às vezes pode parecer que existe apenas para
frustrar analistas de dados no mundo todo. Porém, acredite ou não, o Firewall serve a
uma finalidade importante. Neste artigo, vamos nos aprofundar nos bastidores para
entender melhor como funciona. Munido de maior compreensão, você poderá
diagnosticar e corrigir melhor os erros de Firewall no futuro.

O que é isso?
A finalidade do Firewall de Privacidade de Dados é simples: ele existe para impedir que
Power Query vazem dados sem querer entre fontes.

Por que isso é necessário? Você certamente poderia criar algum M que passaria um
valor SQL para um feed OData. Mas isso seria vazamento intencional de dados. O autor
da compilação saberia (ou pelo menos deveria) saber que estava fazendo isso. Por que
então a necessidade de proteção contra vazamento de dados não intencional?

A resposta? Dobramento.

Dobramento?
Dobrar é um termo que se refere à conversão de expressões em M (como filtros,
renomeações, junções e assim por diante) em operações em uma fonte de dados bruta
(como SQL, OData e assim por diante). Uma grande parte do poder do Power Query
vem do fato de que o PQ pode converter as operações que um usuário executa por
meio de sua interface do usuário em linguagens complexas de fonte de dados de back-
end ou SQL, sem que o usuário precise conhecer esses idiomas. Os usuários obtêm o
benefício de desempenho das operações de fonte de dados nativas, com a facilidade de
uso de uma interface do usuário em que todas as fontes de dados podem ser
transformadas usando um conjunto comum de comandos.

Como parte do dobramento, o PQ às vezes pode determinar que a maneira mais


eficiente de executar uma compilação é pegar dados de uma fonte e passá-los para
outra. Por exemplo, se você estiver juntando um pequeno arquivo CSV a uma tabela
SQL enorme, provavelmente não quer que o PQ leia o arquivo CSV, leia a tabela SQL
inteira e, em seguida, junte-os no computador local. Você provavelmente deseja que o
PQ insira os dados CSV em uma instrução SQL e peça ao banco de dados SQL para
realizar a junção.

É assim que o vazamento de dados não intencional pode acontecer.

Imagine se você estivesse ingressando em dados SQL que incluíam números de


segurança social de funcionários com os resultados de um feed OData externo e, de
repente, descobriu que os CPFs do SQL estavam sendo enviados para o serviço OData.
Péssimo, não é?

Esse é o tipo de cenário que o Firewall pretende evitar.

Como funciona
O Firewall existe para impedir que dados de uma fonte sejam enviados sem querer para
outra fonte. Bastante simples.

Então, como ele realiza esta missão?


Ele faz isso dividindo suas consultas M em algo chamado “partições” e impondo a
seguinte regra:

Uma partição pode acessar fontes de dados compatíveis ou referenciar outras


partições, mas não ambas.

Simples... mas confuso. O que é uma partição? O que torna duas fontes de dados
"compatíveis"? E por que o Firewall deve se importar se uma partição deseja acessar
uma fonte de dados e referenciar uma partição?

Vamos detalhar isso e examinar a regra acima por etapas.

O que é uma partição?


Em seu nível mais básico, uma partição é apenas uma coleção de uma ou mais etapas
de consulta. A partição mais granular possível (pelo menos na implementação atual) é
uma única etapa. Partições maiores às vezes podem abranger várias consultas. (Mais
informações sobre isso mais tarde.)

Caso você não esteja familiarizado com as etapas, pode exibi-las à direita da janela
Editor do Power Query depois de selecionar uma consulta, no painel Etapas Aplicadas.
As etapas acompanham tudo o que você fez para transformar seus dados em sua forma
final.

Partições que fazem referência a outras partições


Quando uma consulta é avaliada com o Firewall ativado, o Firewall divide a consulta e
todas as suas dependências em partições (ou seja, grupos de etapas). Sempre que uma
partição faz referência a algo em outra partição, o Firewall substitui a referência por uma
chamada a uma função especial chamada Value.Firewall . Em outras palavras, o Firewall
não permite que partições acessem umas às outras diretamente. Todas as referências
são modificadas para percorrer o Firewall. Pense no Firewall como um porteiro. Uma
partição que faz referência a outra partição deve obter a permissão do Firewall para
fazer isso e o Firewall controla se os dados referenciados serão permitidos ou não na
partição.

Isso tudo pode parecer abstrato, então vamos dar uma olhada em um exemplo.

Suponha que você tenha uma consulta chamada Funcionários, que extrai alguns dados
de um banco de dados SQL. Suponha que você também tenha outra consulta
(Referência de Funcionários), que simplesmente faz referência aos Funcionários.

Power Query M
shared Employees = let
Source = Sql.Database(…),
EmployeesTable = …
in
EmployeesTable;

shared EmployeesReference = let


Source = Employees
in
Source;

Essas consultas acabarão divididas em duas partições: uma para a consulta Funcionários
e outra para a consulta Referência de Funcionários (que fará referência à partição
Funcionários). Quando avaliadas com o Firewall ativado, essas consultas serão reescritas
da seguinte maneira:

Power Query M

shared Employees = let


Source = Sql.Database(…),
EmployeesTable = …
in
EmployeesTable;

shared EmployeesReference = let


Source = Value.Firewall("Section1/Employees")
in
Source;

Observe que a referência simples à consulta Funcionários foi substituída por uma
chamada para Value.Firewall , que é fornecida com o nome completo da consulta
Funcionários.

Quando Referência de Funcionários é avaliada, a chamada para


Value.Firewall("Section1/Employees") é interceptada pelo Firewall, que agora tem a

chance de controlar se (e como) os dados solicitados fluem para a partição


EmployeesReference. Ele pode fazer qualquer número de coisas: negar a solicitação,
armazenar em buffer os dados solicitados (o que impede que qualquer dobra adicional
para sua fonte de dados original ocorra) e assim por diante.

É assim que o Firewall mantém o controle sobre os dados que fluem entre partições.

Partições que acessam diretamente fontes de dados


Digamos que você defina uma consulta Query1 com uma etapa (observe que essa
consulta de etapa única corresponde a uma partição do Firewall) e que essa única etapa
acesse duas fontes de dados: uma tabela de banco de dados SQL e um arquivo CSV.
Como o Firewall lida com isso, já que não há referência de partição e, portanto,
nenhuma chamada Value.Firewall para interceptar? Vamos examinar a regra anterior:

Uma partição pode acessar fontes de dados compatíveis ou referenciar outras


partições, mas não ambas.

Para que a consulta de fontes de dados que tem partição única e duas fontes de dados
tenha permissão para ser executada, suas duas fontes de dados devem ser
"compatíveis". Em outras palavras, é preciso que os dados sejam compartilhados
bidirecionalmente entre eles. Isso significa que os níveis de privacidade de ambas as
fontes precisam ser Públicos, ou ambas serem Organizacionais, pois essas são as duas
únicas combinações que permitem o compartilhamento em ambas as direções. Se
ambas as fontes estiverem marcadas como Privadas, ou uma estiver marcada como
Pública e outra como Organizacional, ou se estiverem marcadas usando alguma outra
combinação de níveis de privacidade, o compartilhamento bidirecional não será
permitido e, portanto, não será seguro que ambas sejam avaliadas na mesma partição.
Isso significaria que o vazamento de dados não seguro poderia ocorrer (devido à dobra)
e o Firewall não teria como impedi-lo.

O que acontece se você tentar acessar fontes de dados incompatíveis na mesma


partição?

Formula.Firewall: Query 'Query1' (step 'Source') is accessing data sources that

have privacy levels which cannot be used together. Please rebuild this data
combination.

Espero que agora você entenda melhor uma das mensagens de erro listadas no início
deste artigo.

Observe que esse requisito de compatibilidade só se aplica dentro de uma determinada


partição. Se uma partição estiver fazendo referência a outras partições, as fontes de
dados das partições referenciadas não precisarão ser compatíveis entre si. Isso ocorre
porque o Firewall pode armazenar os dados em buffer, o que impedirá qualquer dobra
adicional na fonte de dados original. Os dados serão carregados na memória e tratados
como se fossem provenientes do nada.

Por que não fazer as duas coisas?


Digamos que você defina uma consulta com uma etapa (que corresponderá novamente
a uma partição) que acessa duas outras consultas (ou seja, duas outras partições). E se
você quiser, na mesma etapa, também acessar diretamente um banco de dados SQL?
Por que uma partição não pode fazer referência a outras partições e acessar fontes de
dados compatíveis diretamente?

Como você viu anteriormente, quando uma partição faz referência a outra partição, o
Firewall atua como o porteiro para todos os dados que fluem para a partição. Para fazer
isso, ele deve ser capaz de controlar em quais dados são permitidos. Se houver fontes
de dados sendo acessadas dentro da partição e dados fluindo de outras partições, a
partição perde sua capacidade de ser o gatekeeper, uma vez que os dados que fluem
podem ser vazados para uma das fontes de dados acessadas internamente sem que ela
saiba. Assim, o Firewall impede que uma partição que acessa outras partições tenha
permissão para acessar diretamente quaisquer fontes de dados.

Então, o que acontece se uma partição tentar referenciar outras partições e também
acessar diretamente fontes de dados?

Formula.Firewall: Query 'Query1' (step 'Source') references other queries or steps,


so it may not directly access a data source. Please rebuild this data combination.

Agora, vamos entender a outra mensagem de erro listada no início deste artigo.

Partições detalhadas
Como você provavelmente pode adivinhar pelas informações acima, como as consultas
são particionadas acaba sendo incrivelmente importante. Se você tiver algumas etapas
que estão fazendo referência a outras consultas e outras etapas que acessam fontes de
dados, agora você espera reconhecer que desenhar os limites de partição em
determinados locais causará erros de Firewall, ao mesmo tempo que desenhá-los em
outros locais permitirá que sua consulta seja executada muito bem.

Então, como exatamente as consultas são particionadas?

Esta seção é provavelmente a mais importante para entender por que você está vendo
erros de Firewall e entender como resolvê-los (quando possível).

Aqui está um resumo de alto nível da lógica de particionamento.

Particionamento inicial
Cria uma partição para cada etapa em cada consulta
Fase Estática
Essa fase não depende dos resultados da avaliação. Em vez disso, ela se baseia
em como as consultas são estruturadas.
Corte de parâmetro
Corta partições por parâmetro, ou seja, qualquer uma que:
Não faz referência a nenhuma outra partição
Não contém invocações de função
Não é cíclica (ou seja, não se refere a si mesma)
Observe que "remover" uma partição inclui em qualquer outra partição
que a referencie.
Cortar partições de parâmetro permite que as referências de parâmetro
usadas nas chamadas de função de fonte de dados (por exemplo,
Web.Contents(myUrl) ) funcionem, em vez de gerar erros "a partição não

pode fazer referência a fontes de dados e outras etapas".


Agrupamento (estático)
As partições são mescladas em ordem de dependência de baixo para
cima. Nas partições mescladas resultantes, o seguinte será separado:
Partições em consultas diferentes
Partições que não fazem referência a outras partições (e, portanto, têm
permissão para acessar uma fonte de dados)
Partições que fazem referência a outras partições (e, portanto, são
proibidas de acessar uma fonte de dados)
Fase Dinâmica
Essa fase depende dos resultados da avaliação, incluindo informações sobre
fontes de dados acessadas por várias partições.
Filtragem
Corta partições que atendem a todos os seguintes requisitos:
Não acessa nenhuma fonte de dados
Não faz referência a nenhuma partição que acesse fontes de dados
Não é cíclica
Agrupamento (dinâmico)
Agora que partições desnecessárias foram cortadas, tente criar partições de
origem tão grandes quanto puder.
Mescle todas as partições com suas partições de entrada se cada uma de
suas entradas:
Faz parte da mesma consulta
Não faz referência a nenhuma outra partição
É referenciada apenas pela partição atual
Não é o resultado (ou seja, etapa final) de uma consulta
Não é cíclica
O que isso tudo significa?
Vamos ver um exemplo para ilustrar como funciona a lógica complexa apresentada
acima.

Veja abaixo um cenário de exemplo. É uma mesclagem bastante simples de um arquivo


de texto (Contatos) com um banco de dados SQL (Funcionários), em que o SQL Server é
um parâmetro (DbServer).

As três consultas
Aqui está o código M para as três consultas usadas neste exemplo.

Power Query M

shared DbServer = "montegoref6" meta [IsParameterQuery=true, Type="Text",


IsParameterQueryRequired=true];

Power Query M

shared Contacts = let

Source = Csv.Document(File.Contents("C:\contacts.txt"),[Delimiter=" ",


Columns=15, Encoding=1252, QuoteStyle=QuoteStyle.None]),

#"Promoted Headers" = Table.PromoteHeaders(Source,


[PromoteAllScalars=true]),

#"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",


{{"ContactID", Int64.Type}, {"NameStyle", type logical}, {"Title", type
text}, {"FirstName", type text}, {"MiddleName", type text}, {"LastName",
type text}, {"Suffix", type text}, {"EmailAddress", type text},
{"EmailPromotion", Int64.Type}, {"Phone", type text}, {"PasswordHash", type
text}, {"PasswordSalt", type text}, {"AdditionalContactInfo", type text},
{"rowguid", type text}, {"ModifiedDate", type datetime}})

in

#"Changed Type";

Power Query M

shared Employees = let

Source = Sql.Databases(DbServer),

AdventureWorks = Source{[Name="AdventureWorks"]}[Data],
HumanResources_Employee =
AdventureWorks{[Schema="HumanResources",Item="Employee"]}[Data],

#"Removed Columns" = Table.RemoveColumns(HumanResources_Employee,


{"HumanResources.Employee(EmployeeID)",
"HumanResources.Employee(ManagerID)", "HumanResources.EmployeeAddress",
"HumanResources.EmployeeDepartmentHistory",
"HumanResources.EmployeePayHistory", "HumanResources.JobCandidate",
"Person.Contact", "Purchasing.PurchaseOrderHeader", "Sales.SalesPerson"}),

#"Merged Queries" = Table.NestedJoin(#"Removed Columns",


{"ContactID"},Contacts,{"ContactID"},"Contacts",JoinKind.LeftOuter),

#"Expanded Contacts" = Table.ExpandTableColumn(#"Merged Queries",


"Contacts", {"EmailAddress"}, {"EmailAddress"})

in

#"Expanded Contacts";

Aqui está uma exibição de nível superior, mostrando as dependências.


Vamos particionar
Vamos ampliar um pouco e incluir etapas na imagem e começar a percorrer a lógica de
particionamento. Aqui está um diagrama das três consultas, mostrando as partições de
firewall iniciais em verde. Observe que cada etapa começa em sua própria partição.

Em seguida, cortamos partições de parâmetro. Assim, o DbServer é incluído


implicitamente na partição de origem.
Agora, executamos o agrupamento estático. Isso mantém a separação entre partições
em consultas separadas (observe, por exemplo, que as duas últimas etapas de
Funcionários não são agrupadas com as etapas de Contatos) e entre partições que
fazem referência a outras partições (como as duas últimas etapas de Funcionários) e
aquelas que não fazem (como as três primeiras etapas de Funcionários).
Agora, entramos na fase dinâmica. Nesta fase, as partições estáticas acima são avaliadas.
As partições que não acessam nenhuma fonte de dados são cortadas. As partições são
agrupadas para criar partições de origem tão grandes quanto for possível. No entanto,
neste cenário de exemplo, todas as partições restantes acessam fontes de dados e não
há nenhum agrupamento adicional que possa ser feito. Portanto, as partições de nosso
exemplo não serão alteradas durante essa fase.

Vamos supor
Porém, por uma questão de ilustração, vamos examinar o que aconteceria se a consulta
Contatos, em vez de vir de um arquivo de texto, fosse codificada no M (talvez por meio
da caixa de diálogo Inserir dados).

Nesse caso, a consulta Contatos não acessaria nenhuma fonte de dados. Assim, ela seria
cortada durante a primeira parte da fase dinâmica.
Com a partição Contatos removida, as duas últimas etapas dos Funcionários não
referenciam mais nenhuma partição, exceto aquela que contém as três primeiras etapas
dos Funcionários. Assim, as duas partições seriam agrupadas.

A partição resultante ficaria assim.


Exemplo: passando dados de uma fonte de
dados para outra
Certo, chega dessa explicação abstrata. Vamos examinar um cenário comum em que é
provável que você encontre um erro de Firewall e as etapas para resolvê-lo.

Imagine que você deseja pesquisar um nome de empresa do serviço Northwind OData
e, em seguida, usar o nome da empresa para executar uma pesquisa do Bing.

Primeiro, você cria uma consulta da Empresa para recuperar o nome da empresa.

Power Query M

let
Source =
OData.Feed("https://services.odata.org/V4/Northwind/Northwind.svc/", null,
[Implementation="2.0"]),
Customers_table = Source{[Name="Customers",Signature="table"]}[Data],
CHOPS = Customers_table{[CustomerID="CHOPS"]}[CompanyName]
in
CHOPS
Em seguida, você cria uma consulta de Pesquisa que faz referência à Empresa e a passa
para o Bing.

Power Query M

let
Source = Text.FromBinary(Web.Contents("https://www.bing.com/search?q=" &
Company))
in
Source

Neste momento, não há problemas. Avaliar a Pesquisa produz um erro de Firewall.

Formula.Firewall: Query 'Search' (step 'Source') references other queries or steps,

so it may not directly access a data source. Please rebuild this data combination.

Isso ocorre porque a etapa de origem da Pesquisa está fazendo referência a uma fonte
de dados (bing.com) e também fazendo referência a outra consulta/partição (Empresa).
Está violando a regra mencionada acima ("uma partição pode acessar fontes de dados
compatíveis ou fazer referência a outras partições, mas não a ambas").

O que fazer? Uma opção é desabilitar completamente o Firewall (por meio da opção
Privacidade rotulada Ignorar os Níveis de Privacidade e potencialmente melhorar o
desempenho). Mas e se você quiser deixar o Firewall habilitado?

Para resolver o erro sem desabilitar o Firewall, você pode combinar Empresa e Pesquisa
em uma única consulta, desta forma:

Power Query M

let
Source =
OData.Feed("https://services.odata.org/V4/Northwind/Northwind.svc/", null,
[Implementation="2.0"]),
Customers_table = Source{[Name="Customers",Signature="table"]}[Data],
CHOPS = Customers_table{[CustomerID="CHOPS"]}[CompanyName],
Search = Text.FromBinary(Web.Contents("https://www.bing.com/search?q=" &
CHOPS))
in
Search

Tudo está acontecendo dentro de uma única partição. Supondo que os níveis de
privacidade das duas fontes de dados sejam compatíveis, o Firewall agora deverá estar
feliz e você não receberá mais um erro.
É isso
Embora haja muito mais que poderia ser dito sobre este tópico, este artigo introdutório
já é longo o suficiente. Espero que ele tenha dado a você uma melhor compreensão do
Firewall e ajude a entender e corrigir erros de Firewall quando encontrá-los no futuro.
Diagnóstico de consulta
Artigo • 23/03/2023

Com o Diagnóstico de Consulta, você pode obter uma melhor compreensão do que o
Power Query está fazendo durante a criação e no momento da atualização no Power BI
Desktop. Embora estejamos expandindo esse recurso no futuro, incluindo a adição da
capacidade de usá-lo durante as atualizações completas, neste momento você pode
usá-lo para entender que tipo de consultas você está emitindo, quais lentidões você
pode encontrar durante a criação de atualização e que tipo de eventos em segundo
plano estão acontecendo.

Para usar o Diagnóstico de Consulta, acesse a guia Ferramentas na faixa de opções do


editor Power Query.

Por padrão, o Diagnóstico de Consulta pode exigir direitos administrativos para ser
executado (dependendo da política de TI). Se você não conseguir executar o
Diagnóstico de Consulta, abra a página de opções do Power BI e, na guia Diagnóstico,
selecione Habilitar no Editor de Consultas (não requer a execução como
administrador). Essa seleção impede que você possa rastrear o diagnóstico ao fazer
uma atualização completa no Power BI em vez do Editor do Power Query, mas permite
que você o use para visualizar, criar e assim por diante.
Sempre que você inicia o diagnóstico, o Power Query começa a rastrear as avaliações
que você causou. A avaliação que a maioria dos usuários imagina é aquela em que você
pressiona atualizar ou quando recupera dados pela primeira vez, mas há muitas ações
que podem causar avaliações, dependendo do conector. Por exemplo, com o conector
de SQL, quando você recupera uma lista de valores a serem filtrados, isso também inicia
uma avaliação, mas ela não se associa a uma consulta do usuário e isso é representado
no diagnóstico. Outras consultas geradas pelo sistema podem incluir o navegador ou a
experiência de obter dados.

Quando você pressiona Etapa de Diagnóstico, o Power Query executa uma avaliação
especial apenas da etapa que você está olhando. Em seguida, ele mostra o diagnóstico
dessa etapa, sem mostrar o diagnóstico de outras etapas da consulta. Isso pode levar
mais facilmente a uma visão limitada sobre um problema.

É importante que, se você estiver gravando todos os rastreamentos do Diagnóstico


Inicial, pressione Parar diagnóstico. Interromper o diagnóstico permitirá que o
mecanismo colete os rastreamentos gravados e analise-os na saída adequada. Sem esta
etapa, você perderá os rastreamentos.

Tipos de diagnóstico
Atualmente, fornecemos três tipos de diagnóstico, um dos quais tem dois níveis de
detalhes.

O primeiro desses diagnósticos são os diagnósticos primários, que têm uma visão
detalhada e uma visão resumida. A visão resumida tem como objetivo fornecer um
insight imediato de como o tempo está sendo gasto em sua consulta. A visão detalhada
é muito mais aprofundada, linha por linha e é, em geral, necessária apenas para um
diagnóstico sério por usuários de energia.

Para esse modo de exibição, alguns recursos, como a coluna Consulta da Fonte de
Dados, estão disponíveis apenas em determinados conectores. Trabalharemos para
estender a amplitude desta cobertura no futuro.

As partições de privacidade de dados fornecem uma melhor compreensão das partições


lógicas usadas para privacidade de dados.

7 Observação

O Power Query pode executar avaliações que talvez você não tenha disparado
diretamente. Algumas dessas avaliações são realizadas para recuperar metadados
para que possamos otimizar ainda mais nossas consultas ou fornecer uma melhor
experiência do usuário (como recuperar a lista de valores distintos dentro de uma
coluna exibida na experiência Filtrar Linhas). Outras podem estar relacionadas a
como um conector lida com avaliações paralelas. Ao mesmo tempo, se você vir
consultas repetidas em seu diagnóstico de consulta, que você acredita que não
fazem sentido, não hesite em entrar em contato por meio de canais de suporte
normais – seus comentários servem para melhorarmos nosso produto.

Exibição resumida versus detalhada


O diagnóstico de consulta fornece dois modos de exibição: resumido e detalhado. A
exibição resumida "recolhe" várias operações relacionadas em uma única operação.
Nesse processo, os detalhes coletados em cada operação são combinados e as
durações exclusivas são somadas. Nenhuma informação é perdida nesse processo.
A exibição resumida fornece uma visão geral do que ocorreu durante uma avaliação
para oferecer um revisão rápida de alto nível. Se houver necessidade de mais
detalhamento para uma operação específica, o usuário poderá examinar a ID do grupo
e exibir as operações correspondentes que foram agrupadas na exibição detalhada.

Explicando várias avaliações


Durante a atualização no editor de Power Query, há muito sendo feito nos bastidores
para tentar lhe proporcionar uma experiência de usuário fluida. Como exemplo, ao
Atualizar a Visualização, o avaliador executará a etapa final de cada consulta fornecida.
Mas, em segundo plano, ele executa sequencialmente as etapas n-1, n-2 e assim por
diante, de modo que, se você retroceder nas etapas, elas já estarão disponíveis.

Para oferecer um desempenho mais alto, atualmente ocorre algum cache para que não
seja necessário executar novamente todas as partes do plano da consulta final à medida
que ele volta nas etapas. Embora esse cache seja útil para a criação normal, ele significa
que nem sempre você obterá as informações de comparação de etapas corretas, devido
às avaliações posteriores que efetuam pull de dados armazenados em cache.

Esquema de diagnóstico

Id
Ao analisar os resultados de uma gravação, é importante filtrar a sessão de gravação
por ID, para que colunas como % de Duração Exclusiva façam sentido.

A ID é um identificador composto. Ela é formada por dois números: um antes do ponto


e outro depois. O primeiro número é o mesmo para todas as avaliações resultantes de
uma única ação do usuário. Em outras palavras, se você pressionar atualizar duas vezes,
haverá dois números diferentes antes do ponto, um para cada atividade do usuário
realizada. Essa numeração é sequencial para uma determinada gravação de diagnóstico.

O segundo número representa uma avaliação do mecanismo. Esse número é sequencial


para o tempo de vida do processo em que a avaliação está enfileirada. Se você executar
várias sessões de gravação de diagnóstico, verá esse número continuar crescendo nas
diferentes sessões.

Para resumir, se você começar a gravar, pressionar a avaliação uma vez e interromper a
gravação, você terá alguns números de IDs em seu diagnóstico. Mas, como você só
realizou uma ação, todos eles serão 1.1, 1.2, 1.3, e assim por diante.
A combinação da activityId e da evaluationId, separadas pelo ponto, fornece um
identificador exclusivo para uma avaliação de uma única sessão de gravação.

Consulta
O nome da Consulta no painel à esquerda do editor do Power Query.

Etapa
O nome da Etapa no painel à direita do editor do Power Query. Itens como menus
suspensos de filtro geralmente associam-se à etapa em que você está filtrando, mesmo
que você não esteja atualizando a etapa.

Categoria
A categoria da operação.

Tipo de fonte de dados


Isso informa que tipo de fonte de dados você está acessando, como SQL ou Oracle.

Operação
A operação real que está sendo executada. Essa operação pode incluir o trabalho do
avaliador, a abertura de conexões, o envio de consultas para a fonte de dados e muito
mais.

Hora de início
A hora em que a operação começou.

Hora de término
A hora em que a operação terminou.

Duração exclusiva (%)


A coluna Duração Exclusiva de um evento é a quantidade de tempo em que o evento
esteve ativo. Isso contrasta com o valor de "duração" que resulta da subtração dos
valores da coluna Hora de Início e da coluna Hora de Término de um evento. Esse valor
de "duração" representa o tempo total decorrido entre o momento em que um evento
começou e quando foi encerrado, o que pode incluir momentos em que o evento
estava em um estado suspenso ou inativo e outro evento estava consumindo recursos.

O percentual de duração exclusiva totaliza aproximadamente 100% dentro de uma


determinada avaliação, conforme representado pela coluna ID. Por exemplo, se você
filtrar linhas com id 1.x, os percentuais de Duração Exclusiva somarão aproximadamente
100%. Esse não é o caso se você somar os valores de % de Duração Exclusiva de todas
as linhas em uma determinada tabela de diagnóstico.

Duração exclusiva
O tempo absoluto, em vez do % da duração exclusiva. A duração total (ou seja, duração
exclusiva + tempo em que o evento estava inativo) de uma avaliação pode ser calculada
por meio de uma dessas maneiras:

Localize a operação chamada "Avaliação". A diferença entre Hora de Término e


Hora de Início resultará na duração total de um evento.

Subtraia a hora mínima de início de todas as operações em um evento da hora


máxima de término. Observe que, em casos em que as informações coletadas de
um evento não representam a duração total, uma operação chamada "Lacunas de
Rastreamento" é gerada para considerar esse intervalo de tempo.

Recurso
O recurso que você está acessando para dados. O formato exato desse recurso depende
da fonte de dados.

Consulta de fonte de dados


Power Query faz algo chamado dobramento, que é o ato de executar o maior número
possível de partes da consulta na fonte de dados de back-end. No modo de Consulta
Direta (em relação ao Power Query), quando habilitado, somente as transformações que
dobram serão executadas. No modo de importação, as transformações que não podem
ser dobradas serão executadas localmente.

A coluna Consulta da Fonte de Dados permite que você veja a consulta ou a


solicitação/resposta HTTP enviada na fonte de dados de back-end. À medida que você
cria sua consulta no editor, muitas Consultas de Fonte de Dados serão emitidas.
Algumas delas são a Consulta de Fonte de Dados final real para renderizar a
visualização, mas outras podem ser para criação de perfil de dados, lista suspensa de
filtros, informações sobre junções, recuperação de metadados para esquemas e outras
consultas pequenas.

Em geral, você não deve se preocupar com o número de Consultas de Fonte de Dados
emitidas, a menos que haja motivos específicos para se preocupar. Em vez disso, você
deve se concentrar em verificar se o conteúdo adequado está sendo recuperado. Essa
coluna também pode ajudar a determinar se a avaliação do Power Query foi totalmente
dobrada.

Informações adicionais
Há muitas informações recuperadas por nossos conectores. Grande parte é irregular e
não se encaixa bem em uma hierarquia de colunas padrão. Essas informações são
colocadas em um registro na coluna de informações adicionais. Informações registradas
de conectores personalizados também aparecem aqui.

Contagem de linhas
O número de linhas retornadas por uma Consulta de Fonte de Dados. Não habilitada
em todos os conectores.

Comprimento do conteúdo
Comprimento do conteúdo retornado por Solicitações HTTP, conforme normalmente
definido. Isso não está habilitado em todos os conectores e não será preciso para
conectores que recuperam solicitações em partes.

É consulta de usuário
Um valor booliano que indica se é uma consulta criada pelo usuário e se está presente
no painel à esquerda ou se foi gerada por alguma outra ação do usuário. Outras ações
do usuário podem incluir itens como seleção de filtro ou uso do navegador na
experiência de obter dados.

Caminho
O caminho representa a rota relativa da operação quando exibido como parte de uma
árvore de intervalo para todas as operações dentro de uma única avaliação. Na parte
superior (raiz) da árvore, há uma única operação chamada Avaliação com o caminho "0".
A hora de início dessa avaliação corresponde ao início dessa avaliação como um todo. A
hora de término dessa avaliação mostra quando toda a avaliação foi concluída. Essa
operação de alto nível tem uma duração exclusiva igual a 0, pois sua única finalidade é
servir como a raiz da árvore.

Operações adicionais ramificam da raiz. Por exemplo, uma operação pode ter "0/1/5"
como um caminho. Esse caminho seria entendido como:

0: raiz da árvore
1: pai da operação atual
5: índice da operação atual

A operação "0/1/5" pode ter um nó filho, nesse caso, o caminho teria o formato
"0/1/5/8", com 8 representando o índice do filho.

ID do Grupo
A combinação de duas (ou mais) operações não ocorrerá se isso levar à perda de
detalhes. O agrupamento foi projetado para aproximar "comandos" executados durante
a avaliação. Na exibição detalhada, várias operações compartilham uma ID de Grupo,
correspondente aos grupos agregados na exibição Resumida.

Assim como acontece com a maioria das colunas, a ID do grupo só é relevante dentro
de uma avaliação específica, conforme filtrado pela coluna ID.

Esquema de partições de privacidade de dados

Id
O mesmo que a ID dos outros resultados de diagnóstico de consulta. A parte inteira
representa uma única ID de atividade, enquanto a parte fracionária representa uma
única avaliação.

Chave de partição
Corresponde à Consulta/Etapa usada como uma partição de firewall.

Grupo de firewall
Categorização que explica por que essa partição deve ser avaliada separadamente,
incluindo detalhes sobre o nível de privacidade da partição.
Recursos acessados
Lista de caminhos de recursos para todos os recursos acessados por essa partição e, em
geral, identifica exclusivamente uma fonte de dados.

Entradas de partição
Lista de chaves de partição das quais a partição atual depende (essa lista pode ser usada
para criar um grafo).

Expression
A expressão que é avaliada sobre a consulta/etapa da partição. Em vários casos,
coincide com a consulta/etapa.

Hora de início
Hora em que a avaliação foi iniciada nessa partição.

Hora de término
Hora em que a avaliação terminou nessa partição.

Duração
Um valor derivado de Hora de Término menos Hora de Início.

Duração exclusiva
Se as partições tiverem que ser executadas em um único thread, a duração exclusiva
será a duração "real" que pode ser atribuída a essa partição.

Percentual da duração exclusiva


Duração exclusiva como porcentagem.

Diagnósticos
Essa coluna só aparece quando o diagnóstico de consulta "Agregado" ou "Detalhado"
também é capturado, permitindo que o usuário faça a correspondência entre as duas
saídas de diagnóstico.

Esquema de contadores de desempenho


Quando você executa contadores de desempenho, a cada meio segundo o Power Query
tira um instantâneo da utilização de recursos. Esse instantâneo não é útil para consultas
muito rápidas, mas pode ser útil para consultas que usam muito mais recursos.

% de tempo do processador
Percentual do tempo gasto pelos processadores na consulta. Esse percentual pode
alcançar acima de 100% devido a vários processadores.

Tempo total do processador


Duração total do tempo de processador gasto na consulta.

Bytes de dados de E/S por segundo


Velocidade de taxa de transferência dos dados recebidos da fonte de dados, expressa
em bytes por segundo.

Commit (bytes)
Quantidade de memória virtual reservada pela avaliação.

Conjunto de trabalho (bytes)


Quantidade de memória reservada pela avaliação.

Leituras adicionais
Como gravar o diagnóstico em vários casos de uso

Mais informações sobre como ler e visualizar seus rastreamentos gravados

Como entender quais operações de consulta estão dobrando usando o Diagnóstico de


Consulta
Gravando diagnóstico de consulta no
Power BI
Artigo • 23/03/2023

Ao criar no Power Query, o fluxo de trabalho básico é que você se conecta a uma fonte
de dados, aplica algumas transformações, possivelmente atualiza os dados no editor do
Power Query e, em seguida, carrega-os no modelo do Power BI. Depois que os dados
estão no modelo do Power BI, você poderá atualizá-lo de tempos em tempos no Power
BI Desktop (se estiver usando o Desktop para exibir a análise), além das atualizações
que você faz no serviço.

Embora você possa obter um resultado semelhante ao final de um fluxo de trabalho de


criação, atualização no editor ou atualização no próprio Power BI, são executadas
avaliações muito diferentes pelo software nas diferentes experiências do usuário
fornecidas. É importante saber o que esperar ao fazer o diagnóstico de consulta nesses
diferentes fluxos de trabalho, para que você não se surpreenda com os dados de
diagnóstico muito diferentes.

Para iniciar o Diagnóstico de Consulta, acesse a guia Ferramentas na faixa de opções do


editor Power Query. Você verá aqui algumas opções diferentes.

Há duas opções principais aqui, "Diagnosticar Etapa" e "Iniciar Diagnóstico" (junto com
"Parar Diagnóstico"). A primeira fornecerá informações sobre uma consulta até uma
etapa selecionada e tem maior utilidade para entender quais operações estão sendo
executadas localmente ou remotamente em uma consulta. A última fornece mais
informações sobre uma variedade de outros casos, discutidos abaixo.

Especificações do conector
É importante mencionar que não há como abordar todas as variantes do que você verá
no Diagnóstico de Consulta. Há muitas coisas que podem mudar exatamente o que
você vê nos resultados:

Connector
Transformações aplicadas
Sistema no qual você está executando
Configuração de rede
Opções de configuração avançadas
Configuração do ODBC

Para uma abordagem mais ampla, essa documentação se concentrará no Diagnóstico


de Consulta da tabela Northwind Customers, tanto no SQL quanto no OData. As notas
do OData usam o ponto de extremidade público encontrado no site OData.org ; no
entanto, você precisará obter o seu próprio SQL Server. Muitas fontes de dados serão
significativamente diferentes dessas e terão a documentação específica do conector
adicionada com o passar do tempo.

Iniciar/parar o diagnóstico
"Iniciar Diagnóstico" e "Parar Diagnóstico" são mais amplamente aplicáveis do que
"Diagnosticar Etapa", mas também fornecerão muito mais informações que você
precisará vasculhar. Por exemplo, a sequência de iniciar um diagnóstico, atualizar uma
visualização e parar, fornecerá informações equivalentes à execução de Diagnosticar
Etapa em cada etapa (pois é como o Power Query funciona no editor para atualizar cada
etapa de maneira independente).

Para iniciar a gravação, selecione Iniciar Diagnóstico, execute as avaliações desejadas


(criação, atualização de visualização, atualização completa) e, em seguida, selecione
Parar Diagnóstico.

Criação
A principal diferença do fluxo de trabalho de criação é que ele geralmente gerará mais
avaliações individuais do que as vistas em outros fluxos de trabalho. Conforme discutido
no artigo Diagnóstico de Consulta principal, elas são resultado do preenchimento de
várias interfaces do usuário, como o navegador ou as listas suspensas de filtro.

Vamos fazer um exemplo passo a passo. Estamos usando o conector do OData neste
exemplo, mas ao revisar a saída, também examinaremos a versão do SQL do mesmo
banco de dados. Para ambas as fontes de dados, vamos nos conectar à fonte de dados
por meio de "Nova Fonte", "Fontes Recentes" ou "Obter Dados". Para a conexão do SQL,
você precisará inserir credenciais para o servidor, mas para o ponto de extremidade do
OData público, você inserir o ponto de extremidade vinculado acima.
Depois de se conectar e escolher a autenticação, selecione a tabela Clientes no serviço
OData.

Isso apresentará a tabela Clientes na interface do Power Query. Digamos que queremos
saber quantos Representantes de Vendas existem em diferentes países. Primeiro, clique
com o botão direito do mouse em Representante de Vendas na coluna Título do
Contato , mouse sobre Filtros de Texto e selecione Igual a.
Agora, selecione Agrupar Por na faixa de opções e faça um agrupamento por País, com
sua agregação sendo uma Contagem.

Isso deverá apresentar os mesmos dados que você vê abaixo.

Por fim, navegue de volta para a guia Ferramentas da Faixa de Opções e selecione Parar
Diagnóstico. Isso interromperá o rastreamento e criará o arquivo de diagnóstico para
você; o resumo e as tabelas detalhadas aparecerão no lado esquerdo.
Se você rastrear uma sessão de criação inteira, normalmente vai esperar algo como uma
avaliação de consulta de origem, avaliações relacionadas ao navegador pertinente
e,pelo menos, uma consulta emitida para cada etapa que você aplicar (possivelmente
mais, dependendo das ações exatas de UX executadas). Em alguns conectores,
ocorrerão avaliações paralelas por questões de desempenho, as quais produzirão
conjuntos de dados muito semelhantes.

Atualizar visualização
Quando terminar de transformar os dados, você terá uma sequência de etapas em uma
consulta. Ao pressionar "Atualizar Visualização" ou "Atualizar Tudo" no editor do Power
Query, você não verá apenas uma etapa no diagnóstico de consulta. O motivo disso é
que a atualização no Editor do Power Query atualiza explicitamente a consulta que
termina com a última etapa aplicada e, em seguida, retorna pelas etapas aplicadas e
atualiza para a consulta até esse ponto, de volta à origem.

Isso significa que, se você tiver cinco etapas em sua consulta, incluindo Origem e
Navegador, vai querer ver cinco avaliações diferentes em seu diagnóstico. A primeira,
cronologicamente, muitas vezes (mas nem sempre) levará mais tempo. Isso pode
acontecer por dois motivos diferentes:

Ela pode armazenar em cache os dados de entrada, que as consultas executadas


depois dela (que representam etapas anteriores na Consulta do Usuário) podem
acessar localmente de modo mais rápido.
Ela pode ter transformações aplicadas a ela que truncam significativamente a
quantidade de dados que deve ser retornada.

Observe que, ao falar sobre "Atualizar Tudo", isso atualizará todas as consultas e você
precisará filtrar para obter as que você se interessa, como era de se esperar.

Atualização completa
O Diagnóstico de Consulta pode ser usado para diagnosticar a chamada "consulta final",
emitida durante a Atualização no Power BI, em vez de usar apenas a experiência do
Editor do Power Query. Para fazer isso, primeiro você precisa carregar os dados no
modelo uma vez. Se você estiver planejando fazer isso, certifique-se de perceber que, se
você selecionar Fechar e Aplicar , a janela do editor será fechada (interrompendo o
rastreamento) para que você precise fazer isso na segunda atualização ou selecione o
ícone suspenso em Fechar e Aplicar e selecione Aplicar em vez disso.
De qualquer forma, selecione Iniciar Diagnóstico na seção Diagnóstico da guia
Ferramentas no editor. Depois de fazer isso, atualize seu modelo ou apenas a tabela na
qual você tem interesse.

Depois de terminar de carregar os dados no modelo, selecione Parar Diagnóstico.

É possível que você veja alguma combinação de metadados e consultas de dados. As


chamadas de metadados capturam as todas as informações possíveis sobre a fonte de
dados. A recuperação de dados te a ver com o acesso à fonte de dados, a emissão da
Consulta de Fonte de Dados final que foi criada com operações dobradas e, em
finalmente, a execução local de possíveis avaliações ausentes.

É importante observar que, apenas porque você vê um recurso (banco de dados, ponto
de extremidade da Web etc.) ou uma consulta de fonte de dados em seu diagnóstico,
isso não significa que ele esteja necessariamente executando atividade de rede. O Power
Query pode recuperar essas informações do próprio cache. Em atualizações futuras,
indicaremos se as informações estão ou não sendo recuperadas do cache para facilitar o
diagnóstico.

Etapa diagnosticar
"Diagnosticar Etapa" tem maior utilidade para obter insights de quais avaliações estão
acontecendo, até mesmo em uma única etapa, o que poderá ajudá-lo a identificar, até
essa etapa, como está o desempenho, bem como quais partes da consulta estão sendo
executadas localmente ou remotamente.

Se você usou "Diagnosticar Etapa" na consulta que criamos acima, verá que ela retorna
por volta de apenas 10 linhas e, se examinarmos a última linha com uma Consulta de
Fonte de Dados, poderemos ter uma boa ideia de qual será a nossa consulta final
emitida para a fonte de dados. Nesse caso, veremos que Representante de Vendas foi
filtrado remotamente, mas o agrupamento (por processo de eliminação) ocorreu
localmente.

Se você iniciar e parar o diagnóstico e atualizar a mesma consulta, obteremos 40 linhas


devido ao fato de que, conforme mencionado acima, o Power Query está obtendo
informações sobre cada etapa, não apenas a etapa final. Isso se torna mais difícil
quando você está apenas tentando obter insights sobre uma parte específica da sua
consulta.

Leituras adicionais
Uma introdução ao recurso

Mais informações sobre como ler e visualizar seus rastreamentos gravados

Como entender quais operações de consulta estão dobrando usando o Diagnóstico de


Consulta
Visualizando e interpretando
diagnósticos de consulta no Power BI
Artigo • 23/03/2023

Introdução
Depois de registrar o diagnóstico que deseja usar, a próxima etapa é conseguir
entender o que eles dizem.

É útil ter uma boa compreensão do que exatamente cada coluna no esquema de
diagnóstico de consulta significa, o que não vamos repetir neste breve tutorial. Há um
texto completo sobre isso aqui.

Em geral, ao criar visualizações, é melhor usar a tabela detalhada completa. Porque


independentemente de quantas linhas são, o que você provavelmente está olhando é
algum tipo de representação de como o tempo gasto em recursos diferentes se soma
ou o que a consulta nativa emitida foi.

Conforme mencionado em nosso artigo sobre como registrar o diagnóstico, estou


trabalhando com os rastreamentos OData e SQL para a mesma tabela (ou quase assim)
— a tabela Customers da Northwind. Em particular, vou me concentrar na solicitação
comum de nossos clientes e em um dos conjuntos de rastreamentos mais fáceis de
interpretar: atualização completa do modelo de dados.

Criando as visualizações
Quando você está passando por rastreamentos, há muitas maneiras de avaliá-los. Neste
artigo, vamos nos concentrar em duas divisões de visualização: uma para mostrar os
detalhes que você se importa e a outra para examinar facilmente as contribuições de
tempo de vários fatores. Para a primeira visualização, uma tabela é usada. Você pode
escolher os campos que quiser, mas os recomendados para uma visão fácil e de alto
nível do que está acontecendo são:

Id
Start Time
Consulta
Step
Consulta da Fonte de Dados
Percentual da duração exclusiva
Contagem de Linhas
Categoria
Consulta Usuário é
Caminho

Para a segunda visualização, uma opção é usar um Gráfico de Colunas Empilhadas. No


parâmetro 'Axis', talvez você queira usar 'Id' ou 'Etapa'. Se estivermos olhando para a
Atualização, porque ela não tem nada a ver com as etapas no próprio Editor,
provavelmente só queremos olhar para a 'ID'. Para o parâmetro 'Legenda', você deve
definir 'Categoria' ou 'Operação' (dependendo da granularidade desejada). Para o
'Valor', defina 'Duração Exclusiva' (e verifique se não é o %, para que você obtenha o
valor de duração bruta). Por fim, para a dica de ferramenta, defina " Hora de início mais
cedo".

Depois que a visualização for criada, certifique-se de classificar por " Hora de Início Mais
Cedo" em ordem crescente para que você possa ver a ordem em que as coisas
acontecem.

Embora suas necessidades exatas possam ser diferentes, essa combinação de gráficos é
um bom lugar para começar a examinar vários arquivos de diagnóstico e para uma série
de finalidades.

Interpretando as visualizações
Conforme mencionado acima, há muitas perguntas que você pode tentar responder
com o diagnóstico de consulta, mas as duas que vemos com mais frequência estão
perguntando quanto tempo é gasto e perguntando qual é a consulta enviada à origem.

Perguntar como o tempo é gasto é fácil e será semelhante para a maioria dos
conectores. Um aviso com o diagnóstico de consulta, conforme mencionado em outro
lugar, é que você verá funcionalidades drasticamente diferentes dependendo do
conector. Por exemplo, muitos conectores baseados em ODBC não terão uma gravação
precisa de qual consulta é enviada para o sistema de back-end real, pois Power Query
só vê o que ele envia para o driver ODBC.

Se quisermos ver como o tempo é gasto, podemos apenas examinar as visualizações


que criamos acima.

Agora, como os valores de tempo para as consultas de exemplo que estamos usando
aqui são tão pequenos, se quisermos trabalhar com o tempo de relatórios do Power BI,
é melhor converter a coluna De Duração Exclusiva em 'Segundos' no editor de Power
Query. Depois de fazermos essa conversão, podemos examinar nosso gráfico e ter uma
ideia decente de onde o tempo é gasto.

Para meus resultados do OData, vejo na imagem que a grande maioria do tempo foi
gasto recuperando os dados da origem— se eu selecionar o item 'Fonte de Dados' na
legenda, ele me mostrará todas as diferentes operações relacionadas ao envio de uma
consulta à Fonte de Dados.

Se executarmos todas as mesmas operações e criarmos visualizações semelhantes, mas


com os rastreamentos SQL em vez dos do ODATA, poderemos ver como as duas fontes
de dados se comparam!
Se selecionarmos a tabela Fonte de Dados, como com o diagnóstico do ODATA,
poderemos ver que a primeira avaliação (2.3 nesta imagem) emite consultas de
metadados, com a segunda avaliação realmente recuperando os dados com os quais
nos preocupamos. Como estamos recuperando pequenas quantidades de dados nesse
caso, os dados retirados levam uma pequena quantidade de tempo (menos de um
décimo de segundo para que toda a segunda avaliação aconteça, com menos de um
décimo de segundo para a recuperação de dados em si), mas isso não será verdade em
todos os casos.

Como acima, podemos selecionar a categoria 'Fonte de Dados' na legenda para ver as
consultas emitidas.

Pesquisando os dados
Examinando caminhos

Quando você está olhando para isso, se parece que o tempo gasto é estranho, por
exemplo, na consulta OData, você pode ver que há uma consulta de fonte de dados
com o seguinte valor:

Request:
https://services.odata.org/V4/Northwind/Northwind.svc/Customers?
$filter=ContactTitle%20eq%20%27Sales%20Representative%27&$select=CustomerID%
2CCountry HTTP/1.1
Content-Type:
application/json;odata.metadata=minimal;q=1.0,application/json;odata=minimal
metadata;q=0.9,application/atomsvc+xml;q=0.8,application/atom+xml;q=0.8,appl
ication/xml;q=0.7,text/plain;q=0.7

<Content placeholder>
Response:
Content-Type:
application/json;odata.metadata=minimal;q=1.0,application/json;odata=minimal
metadata;q=0.9,application/atomsvc+xml;q=0.8,application/atom+xml;q=0.8,appl
ication/xml;q=0.7,text/plain;q=0.7
Content-Length: 435

<Content placeholder>

Essa Consulta de Fonte de Dados está associada a uma operação que ocupa apenas,
digamos, 1% da Duração Exclusiva. Enquanto isso, há um semelhante:

Request:
GET https://services.odata.org/V4/Northwind/Northwind.svc/Customers?
$filter=ContactTitle eq 'Sales Representative'&$select=CustomerID%2CCountry
HTTP/1.1

Response:
https://services.odata.org/V4/Northwind/Northwind.svc/Customers?
$filter=ContactTitle eq 'Sales Representative'&$select=CustomerID%2CCountry
HTTP/1.1 200 OK

Essa Consulta de Fonte de Dados está associada a uma operação que ocupa quase 75%
da Duração Exclusiva. Se você ativar o Caminho, descobrirá que o último é na verdade
um filho do primeiro. Isso significa que a primeira consulta basicamente adicionou uma
pequena quantidade de tempo por conta própria, com a recuperação de dados real
sendo rastreada pela consulta 'interna'.

São valores extremos, mas estão dentro dos limites do que pode ser visto.
Entender a dobragem com o
Diagnóstico de Consulta
Artigo • 03/04/2023

Uma das razões mais comuns para usar o Diagnóstico de Consulta é obter uma visão
melhor de quais operações foram "empurradas" pelo Power Query para serem
executadas pela fonte de dados de back-end, operação também conhecida como
"dobragem". Se quisermos ver o que foi dobrado, podemos examinar quais consultas
"mais específicas" foram enviadas para a fonte de dados de back-end. Podemos
examinar isso tanto no ODATA quanto no SQL.

A operação descrita no artigo sobre Diagnóstico da Gravação faz basicamente quatro


coisas:

conecta-se à fonte de dados


pega a tabela do cliente
filtra a função de ID do cliente para "Representante de vendas"
Agrupamentos por "País"

Como atualmente o conector do ODATA não suporta a dobragem COUNT() para o


ponto de extremidade e, como esse ponto de extremidade também é um pouco
limitado quanto às operações, não esperamos que essa etapa final seja dobrada. Por
outro lado, a filtragem é relativamente simples. Isso é exatamente o que vemos se
examinarmos a consulta mais específica produzida acima:

Request:
GET https://services.odata.org/V4/Northwind/Northwind.svc/Customers?
$filter=ContactTitle eq 'Sales Representative'&$select=CustomerID%2CCountry
HTTP/1.1

Response:
https://services.odata.org/V4/Northwind/Northwind.svc/Customers?
$filter=ContactTitle eq 'Sales Representative'&$select=CustomerID%2CCountry
HTTP/1.1 200 OK

Podemos ver que estamos filtrando a tabela para ContactTitle igualando 'Representante
de Vendas', e estamos retornando apenas duas colunas: ID do cliente e País. O país,
obviamente, é necessário para o agrupamento que, como não está sendo executado
pelo ponto de extremidade do ODATA, deve ser executado localmente. Podemos chegar
à conclusão do que dobra e do que não dobra aqui.
Da mesma forma, se examinarmos a consulta específica e final produzida no diagnóstico
do SQL, veremos algo ligeiramente diferente:

select

count(1) as [Count]
from
(
select [_].[Country]
from [dbo].[Customers] as [_]
where [_].[ContactTitle] = 'Sales Representative' and [_].[ContactTitle]
is not null
) as [rows]
group by [Country]

Aqui, podemos ver que o Power Query criou uma subseleção em que ContactTitle foi
filtrado para "Representante de Vendas" e depois agrupou por País nesta subseleção.
Todas as nossas operações foram dobradas.

A utilização do Diagnóstico de Consulta nos permite examinar que tipo de operações


serão dobradas no futuro e, assim, esperamos facilitar o uso dessa funcionalidade.
Por que minha consulta é executada
várias vezes?
Artigo • 13/05/2023

Durante a atualização no Power Query, há muito sendo feito nos bastidores para tentar
oferecer uma experiência suave ao usuário e executar suas consultas com eficiência e
segurança. No entanto, em alguns casos, você pode observar que várias solicitações de
fonte de dados estão sendo disparadas pelo Power Query quando os dados são
atualizados. Às vezes, essas solicitações são normais, mas outras vezes podem ser
evitadas.

Quando várias solicitações ocorrem


As seções a seguir descrevem algumas situações em que o Power Query pode enviar
várias solicitações para uma fonte de dados.

Design do conector
Os conectores podem fazer várias chamadas a uma fonte de dados por vários motivos,
incluindo metadados, cache de resultados, paginação e assim por diante. Esse
comportamento é normal e foi projetado para funcionar dessa forma.

Várias consultas referenciando uma única fonte de dados


Várias solicitações à mesma fonte de dados poderão ocorrer se várias consultas
efetuarem pull dessa fonte de dados. Essas solicitações podem acontecer mesmo
quando apenas uma consulta faz referência à fonte de dados. Se essa consulta for
referenciada por uma ou mais outras consultas, cada consulta, juntamente com todas as
consultas das quais ela depende, será avaliada de maneira independente.

Em um ambiente de área de trabalho, uma única atualização de todas as tabelas do


modelo de dados é executada usando um único cache compartilhado. O cache pode
reduzir a probabilidade de ocorrer várias solicitações para a mesma fonte de dados, pois
uma consulta pode se beneficiar da mesma solicitação já ter sido executada e
armazenada em cache para outra consulta. Mesmo aqui, porém, você pode receber
várias solicitações porque a fonte de dados não está armazenada em cache (por
exemplo, arquivos CSV locais), a solicitação para a fonte de dados é diferente de uma
solicitação que já foi armazenada em cache devido a operações downstream (que
podem alterar a dobragem), o cache é muito pequeno (o que é relativamente
improvável) ou porque as consultas estão sendo executadas aproximadamente ao
mesmo tempo.

Em um ambiente de nuvem, cada consulta é atualizada usando o próprio cache


separado, portanto, uma consulta não pode se beneficiar da mesma solicitação que já
foi armazenada em cache para uma consulta diferente.

Dobragem
Às vezes, a camada de dobragem do Power Query pode gerar várias solicitações a uma
fonte de dados, com base nas operações que estão sendo executadas downstream.
Nesses casos, você pode evitar várias solicitações usando Table.Buffer . Para mais
informações: Colocar sua tabela em buffer

Carregando no modelo do Power BI Desktop


No Power BI Desktop, o AS (Analysis Services) atualiza os dados usando duas avaliações:
uma para buscar o esquema, o que o AS faz solicitando linhas zero, e outra para buscar
os dados. Se a computação do esquema de linha zero exigir a busca dos dados,
poderão ocorrer solicitações duplicadas de fonte de dados.

Análise de privacidade de dados


A privacidade de dados faz suas próprias avaliações de cada consulta para determinar
se as consultas são seguras para serem executadas juntas. Às vezes, essa avaliação pode
causar várias solicitações a uma fonte de dados. Um sinal indicador de que uma
determinada solicitação vem da análise de privacidade de dados é que ela terá uma
condição "TOP 1000" (embora nem todas as fontes de dados ofereçam suporte a essa
condição). Em geral, desabilitar a privacidade de dados, supondo que isso seja aceitável,
eliminaria o "TOP 1000" ou outras solicitações relacionadas à privacidade de dados
durante a atualização. Para mais informações: Desabilitar o firewall de privacidade de
dados

Downloads de dados em segundo plano (também


conhecidos como "análise em segundo plano")
Assim como as avaliações executadas para privacidade de dados, o editor do Power
Query baixará por padrão uma visualização das primeiras mil linhas de cada etapa da
consulta. O download dessas linhas ajuda a garantir que a visualização de dados esteja
pronta para ser exibida assim que uma etapa for selecionada, mas também poderá
causar solicitações duplicadas à fonte de dados. Para mais informações: Desabilitar a
análise em segundo plano

Tarefas diversas em segundo plano do editor do Power


Query
Várias tarefas em segundo plano do editor do Power Query também podem disparar
solicitações extras à fonte de dados (por exemplo, análise de dobragem de consultas,
criação de perfil de coluna, atualização automática da visualização das mil linhas que o
Power Query dispara após o carregamento dos resultados no Excel e assim por diante).

Isolando várias consultas


Você pode isolar instâncias de várias consultas desativando partes específicas do
processo de consulta para isolar o local do qual vêm as solicitações duplicadas. Por
exemplo, se você começar:

No editor do Power Query


Com o firewall desabilitado
Com a análise em segundo plano desabilitada
Com a criação de perfil de coluna e outras tarefas em segundo plano desabilitadas
[Opcional] Fazendo um Table.Buffer

Neste exemplo, você terá apenas uma única avaliação da M que acontecerá quando
você atualizar a visualização do editor do Power Query. Se as solicitações duplicadas
ocorrerem neste ponto, elas serão inerentes de alguma forma à maneira como a
consulta é criada. Caso contrário, e se você habilitar as configurações acima uma a uma,
poderá observar em que ponto as solicitações duplicadas começam a ocorrer.

As seções a seguir descrevem essas etapas mais detalhadamente.

Configurar o editor do Power Query


Você não precisa se reconectar nem recriar a consulta, basta abrir a consulta que deseja
testar no editor do Power Query. Você pode duplicar a consulta no editor se não quiser
mexer com a consulta existente.

Desabilitar o firewall de privacidade de dados


A próxima etapa é desabilitar o firewall de privacidade de dados. Esta etapa pressupõe
que você não esteja preocupado com o vazamento de dados entre fontes, portanto, o
firewall de privacidade de dados pode ser desabilitado usando Sempre ignorar
configurações de nível de privacidade na opção Definir Combinação Rápida no Excel
ou usando a configuração Ignorar os níveis de privacidade e potencialmente melhorar
o desempenho descrita em Níveis de privacidade do Power BI Desktop no Power BI
Desktop.

Desfaça esta etapa antes de retomar o teste normal.

Desabilitar a análise em segundo plano


A próxima etapa é desabilitar a análise em segundo plano. A análise em segundo plano
é controlada pela configuração Permitir que a visualização de dados baixe em
segundo plano descrita em Desabilitar atualização em segundo plano do Power Query
para o Power BI. Você também pode desabilitar essa opção no Excel.

Armazenar a tabela em buffer


Você também pode usar Table.Buffer para forçar a leitura de todos os dados, o que
imita o que acontece durante um carregamento. Para usar Table.Buffer no editor do
Power Query:

1. Na barra de fórmulas do editor do Power Query, selecione o botão fx para


adicionar uma nova etapa.

2. Na barra de fórmulas, coloque o nome da etapa anterior em Table.Buffer (<o nome


da etapa anterior fica aqui>). Por exemplo, se a etapa anterior tiver sido nomeada
como Source , a barra de fórmulas exibirá = Source . Edite a etapa na barra de
fórmulas para mostrar = Table.Buffer(Source) .

Para mais informações: Table.Buffer

Executar o teste
Para executar o teste, faça uma atualização no editor do Power Query.
Uso de parâmetros
Artigo • 23/03/2023

Um parâmetro atua como forma de armazenar e gerenciar facilmente um valor que


possa ser reutilizado.

Os parâmetros forneces a flexibilidade para alterar dinamicamente a saída das consultas


de acordo com o valor e podem ser usados para:

Alterar os valores de argumento para transformações específicas e funções de


fonte de dados.
Entradas em funções personalizadas.

Você pode gerenciar facilmente os parâmetros na janela Gerenciar Parâmetros. Para


acessar a janela Gerenciar Parâmetros, selecione a opção Gerenciar Parâmetros, em
Gerenciar Parâmetros, na guia Página Inicial.
Criar um parâmetro de texto
O Power Query fornece duas maneiras fáceis de criar parâmetros:
Em uma consulta existente: clique com o botão direito do mouse em uma
consulta cujo valor é uma constante simples não estruturada, como uma data, um
texto ou um número, e selecione Converter em Parâmetro.

Você também pode converter um parâmetro em uma consulta, clicando com o


botão direito do mouse no parâmetro e selecionando Converter em Consulta.

Usando a janela Gerenciar Parâmetros: selecione a opção Novo Parâmetro no


menu suspenso Gerenciar Parâmetros na guia Página Inicial. Ou inicie a janela
Gerenciar Parâmetros e selecione Novo na parte superior para criar um
parâmetro. Preencha esse formulário e selecione OK para criar um novo
parâmetro.
Depois de criar o parâmetro, você sempre pode voltar para a janela Gerenciar
Parâmetros, para modificar qualquer um dos parâmetros a qualquer momento.

Propriedades do parâmetro
Um parâmetro armazena um valor que pode ser usado para transformações no Power
Query. Além do nome do parâmetro e do valor armazenado, ele também tem outras
propriedades que fornecem metadados. As propriedades de um parâmetro são:

Nome: forneça um nome para esse parâmetro que permita reconhecer e


diferenciar facilmente em relação a outros parâmetros.

Descrição: a descrição é exibida ao lado do nome do parâmetro, quando as


informações do parâmetro são exibidas, ajudando os usuários que estão
especificando o valor do parâmetro a entender a finalidade e a semântica.

Obrigatório: a caixa de seleção indica se os usuários subsequentes podem


especificar se um valor deve ser fornecido para o parâmetro.
Tipo: especifica o tipo de dados do parâmetro. Recomendamos que você sempre
configure o tipo de dados do parâmetro. Para saber mais sobre a importância dos
tipos de dados, acesse Tipos de dados.

Valores sugeridos: fornece ao usuário sugestões para selecionar um valor para o


Valor Atual nas opções disponíveis:

Qualquer valor: o valor atual pode ser qualquer valor inserido manualmente.

Lista de valores: fornece uma experiência simples como tabela, para que você
possa definir uma lista de valores sugeridos que podem ser selecionados
posteriormente para o Valor Atual. Quando essa opção for selecionada, uma
nova opção chamada Valor Padrão será disponibilizada. A partir daqui, você
pode selecionar o que deve ser o valor padrão para esse parâmetro, que é o
valor padrão mostrado ao usuário ao referenciar o parâmetro. Esse valor não é
igual ao Valor Atual, que é o valor armazenado dentro do parâmetro e pode ser
passado como um argumento nas transformações. Usar a Lista de valores abre
um menu suspenso exibido nos campos Valor Padrão e Valor Atual, no qual
você pode escolher um dos valores na lista de valores sugeridos.

7 Observação
Você ainda pode digitar manualmente qualquer valor que deseja passar
para o parâmetro. A lista de valores sugeridos serve apenas como
sugestões simples.

Consulta: usa uma consulta de lista (uma consulta cuja saída é uma lista) para
fornecer a lista de valores sugeridos que você pode selecionar posteriormente
para o Valor Atual.

Valor Atual: o valor armazenado neste parâmetro.

Onde usar os parâmetros


Um parâmetro pode ser usado de várias maneiras diferentes, mas é mais comumente
usado em dois cenários:

Argumento de etapa: você pode usar um parâmetro como o argumento de várias


transformações orientadas pela interface do usuário.
Argumento de Função Personalizada: você pode criar uma função com base em
uma consulta e referenciar parâmetros como os argumentos da função
personalizada.

Nas próximas seções, você verá um exemplo para esses dois cenários.

Argumento de etapa
Para habilitar esse recurso, primeiro acesse a guia Exibir, no editor de Power Query, e
selecione a opção Sempre permitir no grupo Parâmetros.

Por exemplo, a tabela Pedidos a seguir contém os campos OrderID, Unidades e


Margem.

Neste exemplo, crie um novo parâmetro com o nome Margem Mínima, com um tipo
Número Decimal e um Valor Atual de 0,2.
Acesse a consulta Pedidos e, no campo Margem, selecione a opção de filtro Maior que.
Na janela Filtrar Linhas, há um botão com um tipo de dados para o campo selecionado.
Selecione a opção Parâmetro no menu suspenso desse botão. Na seleção de campo ao
lado do botão de tipo de dados, selecione o parâmetro que você deseja passar para
esse argumento. Nesse caso, é o parâmetro Margem Mínima.

Depois de selecionar OK, a tabela será filtrada usando o Valor Atual para o parâmetro.
Se você modificar o Valor Atual do parâmetro Margem Mínima para 0,3, a consulta de
pedidos será atualizada imediatamente e mostrará apenas as linhas em que a Margem
está acima de 30%.

 Dica

Muitas transformações no Power Query permitem que você selecione o parâmetro


em uma lista suspensa. Recomendamos que você sempre procure e aproveite o
que os parâmetros podem oferecer.

Argumento de função personalizada


Com Power Query, você pode criar uma função personalizada em uma consulta
existente com um simples clique. Seguindo o exemplo anterior, clique com o botão
direito do mouse na consulta Pedidos e selecione Criar Função. Essa ação inicia uma
nova janela Criar Função. Nesta janela, nomeie a nova função e ela informará os
parâmetros que estão sendo referenciados na consulta. Esses parâmetros são usados
como parâmetros para a função personalizada.
Você pode nomear essa nova função como desejar. Para fins de demonstração, o nome
dessa nova função é MyFunction. Depois de selecionar OK, um novo grupo será criado
no painel Consultas, usando o nome da nova função. Nesse grupo, você encontrará os
parâmetros que estão sendo usados para a função, a consulta que foi usada para criar a
função e a própria função.

Para testar essa nova função, insira um valor, como 0,4, no campo abaixo do rótulo
Margem Mínima. Em seguida, selecione o botão Invocar. Isso cria uma nova consulta
com o nome Função Invocada, e o valor 0,4 passa efetivamente a ser usado como o
argumento para a função, mostrando apenas as linhas em que a margem está acima de
40%.
Para saber mais sobre como criar funções personalizadas, acesse Criar uma função
personalizada.

Parâmetros de vários valores ou de lista


Um novo tipo de parâmetro disponível somente no Power Query Online se refere aos
parâmetros de vários valores ou de lista. Esta seção descreve como criar um novo
parâmetro de lista e como usá-lo nas consultas.

Seguindo o exemplo anterior, altere o valor atual em Margem Mínima de 0,3 para 0,1. A
nova meta é criar um parâmetro de lista que possa conter os números dos pedidos em
que você está interessado para análise. Para criar o novo parâmetro, vá para a caixa de
diálogo Gerenciar Parâmetros e selecione Novo, para criar um novo parâmetro.
Preencha esse novo parâmetro com as seguintes informações:

Nome: pedidos interessantes


Descrição: um conjunto de números de pedidos interessantes para uma análise
específica
Obrigatório: true
Tipo: lista

Depois de definir esses campos, será exibida uma nova grade em que você pode inserir
os valores que deseja armazenar para o parâmetro. Nesse caso, esses valores são 125,
777 e 999.
7 Observação

Embora esse exemplo use números, você também pode armazenar outros tipos de
dados na lista, como texto, datas, datetime e muito mais. Para obter mais
informações: Tipos de dados no Power Query

 Dica

Se você quiser ter mais controle sobre quais valores são usados no parâmetro de
lista, sempre pode criar uma lista com valores constantes e converter a consulta de
lista em um parâmetro, conforme mostrado anteriormente neste artigo.

Com os novos parâmetros de lista Pedidos Interessantes estabelecidos, volte para a


consulta Pedidos. Selecione o menu de filtro automático do campo OrderID. Selecione
Filtros de número>Incluso.
Depois de selecionar essa opção, uma nova caixa de diálogo Filtrar linhas será exibida.
Aqui, você pode selecionar o parâmetro de lista em um menu suspenso.

7 Observação

Os parâmetros de lista podem funcionar com as opções Incluso ou Não incluso.


Incluso permite filtrar apenas pelos valores da lista. Não incluso faz exatamente o
oposto e tenta filtrar a coluna para obter todos os valores que não são iguais aos
valores armazenados no parâmetro.
Depois de selecionar OK, você retornará à consulta. Lá, a consulta foi filtrada usando o
parâmetro de lista que você criou, com o resultado de que foram mantidas apenas as
linhas em que a OrderID era igual a 125, 777 ou 999.
Tratamento de erros
Artigo • 23/03/2023

Semelhante a como o Excel e a linguagem DAX têm uma função IFERROR , o Power
Query tem sua própria sintaxe para testar e capturar erros.

Conforme mencionado no artigo sobre como lidar com erros no Power Query, erros
podem aparecer na etapa ou no nível da célula. Este artigo se concentrará em como
você pode capturar e gerenciar erros com base em sua própria lógica específica.

7 Observação

Para demonstrar esse conceito, este artigo usará uma Pasta de Trabalho do Excel
como sua fonte de dados. Os conceitos mostrados aqui se aplicam a todos os
valores no Power Query e não apenas aos provenientes de uma pasta de trabalho
do Excel.

A fonte de dados de exemplo para essa demonstração é uma Pasta de Trabalho do Excel
com a tabela a seguir.

Esta tabela de uma pasta de trabalho do Excel tem erros do Excel, como #NULL!, #REF!,
e #DIV/0! na coluna Taxa Padrão. Quando você importa essa tabela para o editor de
Power Query, a imagem a seguir mostra como ela ficará.
Observe como os erros da pasta de trabalho do Excel são mostrados com o valor
[Error] em cada uma das células.

Neste artigo, você aprenderá a substituir um erro por outro valor. Além disso, você
também aprenderá a capturar um erro e usá-lo para sua própria lógica específica.

Nesse caso, a meta é criar uma nova coluna Taxa Final que usará os valores da coluna
Taxa Padrão. Se houver erros, ele usará o valor da coluna Taxa Especial correspondente.

Fornecer um valor alternativo ao localizar erros


Nesse caso, a meta é criar uma nova coluna Taxa Final na fonte de exemplo que usará
os valores da coluna Taxa Padrão. Se houver erros, ele usará o valor da coluna Taxa
Especial correspondente.

Para criar uma nova coluna personalizada, vá para o menu Adicionar coluna e selecione
Coluna personalizada. Na janela Coluna personalizada, insira a fórmula try [Standard
Rate] otherwise [Special Rate] . Nomeie esta nova coluna como Taxa Final.

A fórmula acima tentará avaliar a coluna Taxa Padrão e gerará seu valor se nenhum erro
for encontrado. Se forem encontrados erros na coluna Taxa Padrão, a saída será o valor
definido após a instrução otherwise , que nesse caso é a coluna Taxa Especial.
Depois de adicionar os tipos de dados corretos a todas as colunas na tabela, a imagem
a seguir mostra a aparência da tabela final.

7 Observação

Como uma abordagem alternativa, você também pode inserir a fórmula try
[Standard Rate] catch ()=> [Special Rate] , que é equivalente à fórmula anterior,

mas usando a palavra-chave com uma função que não requer parâmetros.

A palavra-chave catch foi introduzida no Power Query em maio de 2022.

Forneça sua própria lógica de erro condicional


Usando a mesma fonte de dados de exemplo da seção anterior, a nova meta é criar uma
nova coluna para a Taxa Final. Se o valor da Taxa Padrão existir, esse valor será usado.
Caso contrário, o valor da coluna Taxa Especial será usado, exceto para as linhas com
qualquer erro #REF! .

7 Observação

A única finalidade de excluir o erro #REF! é para fins de demonstração. Com os


conceitos mostrados neste artigo, você pode direcionar todos os campos de sua
escolha do registro de erro.

Ao selecionar qualquer um dos espaços em branco ao lado do valor do erro, você


obtém o painel de detalhes na parte inferior da tela. O painel de detalhes contém o
motivo DataFormat.Error do erro e a mensagem Invalid cell value '#REF!' de erro:
Você só pode selecionar uma célula por vez, portanto, só é possível ver efetivamente os
componentes de erro de um valor de erro por vez. É aqui que você criará uma nova
coluna personalizada e usará a expressão try .

Usar try com lógica personalizada


Para criar uma nova coluna personalizada, vá para o menu Adicionar coluna e selecione
Coluna personalizada. Na janela Coluna personalizada, insira a fórmula try [Standard
Rate] . Nomeie esta nova coluna Todos os Erros.
A expressão try converte valores e erros em um valor de registro que indica se a
expressão try tratou um erro ou não, bem como o valor apropriado do registro do
erro.

Você pode expandir essa coluna recém-criada com valores de registro e examinar os
campos disponíveis a serem expandidos selecionando o ícone ao lado do cabeçalho da
coluna.
Esta operação exporá três novos campos:

All Errors.HasError — exibe se o valor da coluna Taxa Padrão teve um erro ou não.
All Errors.Value — se o valor da coluna Taxa Padrão não tiver nenhum erro, essa
coluna exibirá o valor da coluna Taxa Padrão. Para valores com erros, esse campo
não estará disponível e, durante a operação de expansão, essa coluna terá null
valores.
All Errors.Error — se o valor da coluna Taxa Padrão não tiver nenhum erro, essa
coluna exibirá o valor da coluna Taxa Padrão. Para valores sem erros, esse campo
não estará disponível e, durante a operação de expansão, essa coluna terá null
valores.
Para uma investigação mais aprofundada, você pode expandir a coluna All Errors.Error
para obter os três componentes do registro de erro:

Motivo do erro
Mensagem de erro
Detalhes do erro

Depois de fazer a operação de expansão, o campo All Errors.Error.Message exibe a


mensagem de erro específica que informa exatamente qual é o erro do Excel que cada
célula tem. A mensagem de erro é derivada do campo Mensagem de Erro do registro
de erro.

Agora, com cada mensagem de erro em uma nova coluna, você pode criar uma nova
coluna condicional com o nome Taxa Final e as seguintes cláusulas:

Se o valor na coluna All Errors.Errors.Message for igual null , a saída será o valor
da coluna Taxa Padrão .
Caso contrário, se o valor na coluna Todos os Erros.Errors.Message não for igual
Invalid cell value '#REF!'. a , a saída será o valor da coluna Taxa Especial .
Caso contrário, será nulo.

Depois de manter apenas as colunas Conta, Taxa Padrão, Taxa Especial e Taxa Final e
adicionar o tipo de dados correto para cada coluna, a imagem a seguir demonstra a
aparência da tabela final.
Usar try e catch com lógica personalizada
Como alternativa, você também pode criar uma nova coluna personalizada usando as
palavras-chave try e catch .

try [Standard Rate] catch (r)=> if r[Message] <> "Invalid cell value '#REF!'." then

[Special Rate] else null

Mais recursos
Entender e trabalhar com erros no Power Query
Adicionar uma coluna personalizada no Power Query
Adicionar uma coluna condicional no Power Query
Importar dados de um banco de dados
usando a consulta de banco de dados
nativa
Artigo • 05/10/2023

O Power Query oferece a flexibilidade de importar dados de uma ampla variedade de


bancos de dados compatíveis. Ele pode executar consultas de banco de dados nativas, o
que pode economizar o tempo necessário para criar consultas usando a interface do
Power Query. Esse recurso é especialmente útil para usar consultas complexas que já
existem e que talvez você não queira nem saiba como recriar usando a interface do
Power Query.

7 Observação

Uma das intenções das consultas de banco de dados nativas é ser livre de efeitos
colaterais. No entanto, o Power Query não garante que a consulta não afetará o
banco de dados. Se você executar uma consulta de banco de dados nativa escrita
por outro usuário, será indagado se está ciente das consultas que serão avaliadas
com suas credenciais. Para obter mais informações, confira Segurança de consulta
de banco de dados nativa.

O Power Query permite especificar sua consulta de banco de dados nativo em uma
caixa de texto em Opções avançadas ao se conectar a um banco de dados. No exemplo
abaixo, você importará dados de um banco de dados do SQL Server usando uma
consulta de banco de dados nativa inserida na caixa de texto Instrução SQL. O
procedimento é semelhante em todos os outros bancos de dados com consulta de
banco de dados nativa às quais o Power Query dá suporte.

1. Conecte-se a um banco de dados do SQL Server usando o Power Query. Selecione


a opção Banco de dados do SQL Server na seleção de conector.

2. Na janela pop-up do banco de dados do SQL Server:

a. Especifique o Servidor e o Banco de Dados do qual você deseja importar dados


usando a consulta de banco de dados nativa.

b. Em Opções avançadas, selecione o campo Instrução SQL e cole ou insira sua


consulta de banco de dados nativa e selecione OK.
3. Se essa for a primeira vez que você estiver se conectando a esse servidor, verá um
prompt para selecionar o modo de autenticação para se conectar ao banco de
dados. Selecione um modo de autenticação apropriado e continue.

7 Observação

Se você não tiver acesso à fonte de dados (Servidor e Banco de dados), verá
um prompt para solicitar acesso ao servidor e ao banco de dados (se as
informações de solicitação de acesso à fonte de dados forem especificadas no
Power BI).

4. Se a conexão for estabelecida, os dados resultantes serão retornados no Editor do


Power Query.

Modele os dados de acordo como preferir e selecione Aplicar & Fechar para salvar
as alterações e importar os dados.

Conectores que dão suporte a consultas de


banco de dados nativas
Os conectores do Power Query a seguir dão suporte a consultas de banco de dados
nativas.
Connector Tipo de consulta de banco de dados nativa

Amazon Redshift SQL statement

Banco de Dados do Azure Analysis Services Consulta MDX ou DAX

Banco de Dados do Azure para PostgreSQL SQL statement

Azure Cosmos DB SQL statement

Azure Synapse Analytics SQL statement

Banco de Dados SQL do Azure SQL statement

DataWorld.Dataset dwSQL

Dataverse SQL statement

Essbase Instrução MDX

FHIR Pesquisa de FHIR

Google BigQuery SQL statement

Banco de dados IBM Db2 SQL statement

Banco de dados IBM Informix (Beta) SQL statement

Bancos de Dados MySQL SQL statement

ODBCODBC SQL statement

OLE DB SQL statement

Oracle database SQL statement

PostgreSQL SQL statement

Banco de dados do SAP HANA SQL statement

Snowflake SQL statement

Banco de dados do SQL Server Analysis Services Consulta MDX ou DAX

Banco de dados SQL Server SQL statement

Virtualização de dados TIBCO(R) (Beta) SQL statement

Vena (Beta) Consulta de Modelo (MQL)

Limitações e problemas
Antes de usar a consulta de banco de dados nativa, você deve estar ciente das
limitações e problemas que poderão ocorrer.

Dobragem de consultas
A dobra de consultas ao usar uma consulta de banco de dados nativa é limitada a
apenas um determinado número de conectores do Power Query. Para obter mais
informações, vá para Dobramento de consultas em consultas nativas.

Segurança da consulta de banco de dados nativa


Às vezes, quando você tenta usar uma consulta criada por outro usuário ou por meio do
Editor Avançado ou da barra de fórmulas (essencialmente qualquer outro caminho fora
das caixas de diálogo de conector em que a caixa de entrada da consulta nativa é
mostrada) você poderá receber uma mensagem com o seguinte:

Se você vir essa mensagem, selecione Editar Permissão. Essa seleção abrirá a caixa de
diálogo Consulta de Banco de Dados Nativa. Você terá a oportunidade de executar a
consulta de banco de dados nativa ou cancelar a consulta.
Por padrão, se você executar uma consulta de banco de dados nativa fora das caixas de
diálogo de conector, será solicitado sempre que executar um texto de consulta diferente
para garantir que a consulta que será executada seja aprovada por você.

7 Observação

Consultas de banco de dados nativas que você insere em sua operação para obter
dados não perguntarão se você deseja executar a consulta ou não. Elas vão
simplesmente ser executadas.

Você pode desativar as mensagens de segurança de consultas de banco de dados


nativas se a consulta for executada no Power BI Desktop ou no Excel. Para desativar as
mensagens de segurança:

1. Se você estiver usando Power BI Desktop, na guia Arquivo, selecione Opções e


configurações > Opções.

Se você estiver usando o Excel, na guia Dados, selecione Obter Dados > Opções
de Consulta.
2. Em configurações Globais, selecione Segurança.

3. Desmarque Exigir aprovação do usuário para novas consultas do banco de dados


nativas.

4. Selecione OK.

Você também pode revogar a aprovação de todas as consultas de banco de dados


nativas aprovadas anteriormente para uma determinada fonte de dados no Power BI
Desktop ou no Excel. Para revogar a aprovação:

1. Se você estiver usando o Power BI Desktop, na guia Arquivo, selecione Opções e


configurações > Configurações da fonte de dados.

Se você estiver usando o Excel, na guia Dados, selecione Obter Dados >
Configurações da Fonte de Dados.

2. Na caixa de diálogo Configurações da Fonte de Dados, selecione Permissões


globais. Em seguida, selecione a fonte de dados que contém as consultas de
banco de dados nativas cujas aprovações você deseja revogar.

3. Selecione Editar permissões.

4. Na caixa de diálogo Editar permissões, em Consultas de Banco de Dados Nativas,


selecione Revogar Aprovações.
Criar fluxos de dados do Microsoft
Power Platform de consultas no
Microsoft Excel (versão prévia)
Artigo • 05/10/2023

[Este tópico faz parte da documentação de pré-lançamento e está sujeito a alterações.]

É possível criar fluxos de dados do Microsoft Power Platform de consultas em pastas de


trabalho do Microsoft Excel para aproveitar os fluxos de dados viabilizados na nuvem,
atualizando e processando os dados em intervalos regulares, em vez de executar essas
operações manualmente no Excel.

Este artigo explica como exportar consultas do Excel para um modelo do Power Query,
que depois pode ser importado para o fluxo de dados do Power Platform para criar um
fluxo de dados.

7 Observação

A versão prévia do recurso para criar modelos de Power Query do recurso de


consultas está disponível apenas para o Office Insiders. Para obter mais
informações sobre o programa Office Insider, vá para Office Insider .

Visão geral
Trabalhar com grandes conjuntos de dados ou consultas de execução demorada pode
ser complicado todas as vezes que você precisar disparar manualmente uma atualização
de dados no Excel, pois essa atualização usa recursos do computador e você precisará
aguardar até que o processamento seja concluído para obter os dados atualizados.
Mover essas operações de dados para um fluxo de dados do Power Platform é uma
maneira eficaz de liberar os recursos do computador e ter os dados mais recentes
facilmente disponíveis para consumir no Excel.

Bastam duas etapas rápidas para fazer isso:

1. Exportar consultas no Excel para um modelo do Power Query


2. Criar um fluxo de dados do Power Platform por meio de um modelo do Power
Query
Exportar consultas no Excel para um modelo
do Power Query
A primeira etapa é criar um modelo do Power Query com suas consultas no Excel.

1. Inicie o editor do Power Query na guiadados>Obter dados>Iniciar o editor do


Power Query.

2. Depois que o Power Query abrir, selecione Arquivo>Exportar modelo.


3. O modelo requer informações básicas, como um nome e uma descrição, antes que
possa ser salvo localmente no computador.

Criar um fluxo de dados do Power Platform por


meio de um modelo do Power Query
1. Entre no Power Apps .

2. No painel de navegação esquerdo, selecione Dados>Fluxo de dados.

3. Na barra de ferramentas, selecione Novo fluxo de dados>Importar modelo.


4. Selecione o modelo do Power Query criado anteriormente. O nome do fluxo de
dados será pré-preenchido com o nome de modelo fornecido. Depois de concluir
a tela de criação de fluxo de dados, selecione Avançar para ver as consultas do
Excel no editor de consultas.

5. A partir deste ponto, execute o processo normal de criação e configuração do


fluxo de dados para que você possa transformar seus dados, definir agendamentos
de atualização no fluxo de dados e outras possíveis operações de fluxo de dados.
Para obter mais informações sobre como configurar e criar fluxos de dados do
Power Platform, vá para Criar e usar fluxos de dados.

Confira também
Criação e uso de fluxos de dados no Power Apps
Otimizar o Power Query ao expandir as
colunas da tabela
Artigo • 23/03/2023

A simplicidade e a facilidade de uso que permitem aos usuários do Power BI coletar


dados rapidamente e gerar relatórios interessantes e avançados para tomar decisões de
negócios inteligentes, também permite que os usuários gerem facilmente consultas com
baixo desempenho. Isso geralmente ocorre quando há duas tabelas que são
relacionadas na forma como uma chave estrangeira associa tabelas de SQL ou listas do
SharePoint. (Para registro, esse problema não é específico do SQL ou do SharePoint e
ocorre em muitos cenários de extração de dados de back-end, especialmente quando o
esquema é fluido e personalizável). Também não há nada inerentemente errado em
armazenar dados em tabelas separadas que compartilham uma chave comum; na
verdade, esse é um princípio fundamental de design e normalização de bancos de
dados. Mas implica em uma forma melhor de expandir a relação.

Considere o exemplo a seguir de uma lista de clientes do SharePoint.

E a lista de locais a seguir à qual ela se refere.


Ao se conectar pela primeira vez à lista, o local aparece como um registro.

Esses dados de nível superior são coletados por meio de uma única chamada HTTP à
API do SharePoint (ignorando a chamada de metadados), que você pode ver em
qualquer depurador da Web.

Ao expandir o registro, você verá os campos da junção da tabela secundária.


Ao expandir linhas relacionadas de uma tabela para outra, o comportamento padrão do
Power BI é gerar uma chamada para Table.ExpandTableColumn . Você pode ver isso no
campo da fórmula gerada. No entanto, esse método gera uma chamada individual à
segunda tabela para cada linha da primeira tabela.

Isso gera o aumento de uma chamada HTTP para cada linha da lista primária. Isso pode
não parecer muito no exemplo acima de cinco ou seis linhas, mas em sistemas de
produção em que as listas do SharePoint alcançam centenas de milhares de linhas, isso
poderá causar uma degradação significativa da experiência.

Quando as consultas atingem esse gargalo, a melhor mitigação é evitar o


comportamento de uma chamada por linha usando uma junção de tabela clássica. Isso
garante que haverá apenas uma chamada para recuperar a segunda tabela e o restante
da expansão poderá ocorrer na memória usando a chave comum entre as duas tabelas.
A diferença de desempenho pode ser enorme em alguns casos.

Primeiro, comece com a tabela original, observando a coluna que você deseja expandir,
garantindo que você tenha a ID do item para que você possa combiná-lo.
Normalmente, a chave estrangeira é nomeada de maneira semelhante ao nome de
exibição da coluna com Id acrescentado. Neste exemplo, ela é LocationId.

Em segundo lugar, carregue a tabela secundária, incluindo a Id, que é a chave


estrangeira. Clique com o botão direito do mouse no painel Consultas para criar uma
consulta.
Por fim, una as duas tabelas usando os respectivos nomes de coluna correspondentes.
Normalmente, você pode encontrar esse campo expandindo primeiro a coluna e
procurando as colunas correspondentes na visualização.

Neste exemplo, você pode ver que LocationId na lista primária corresponde à Id na lista
secundária. A interface do usuário renomeia ela para Location.Id para tornar o nome da
coluna exclusivo. Agora, vamos usar essas informações para mesclar as tabelas.

Ao clicar com o botão direito do mouse no painel de consultas e selecionar Nova


Consulta>Combinar>Mesclar Consultas como Novas, você verá uma interface do
usuário amigável para ajudar você a combinar essas duas consultas.

Selecione cada tabela na lista suspensa para ver uma prévia da consulta.
Depois de selecionar ambas as tabelas, selecione a coluna que une as tabelas
logicamente (neste exemplo, ela é a LocationId na tabela primária e Id na tabela
secundária). A caixa de diálogo mostrará quantas linhas são correspondentes ao usar
essa chave estrangeira. Provavelmente você vai querer usar o tipo de junção padrão
(esquerda externa) para esse tipo de dados.
Selecione OK e você verá uma nova consulta, que é o resultado da junção. Agora a
expansão do registro não implica em chamadas adicionais ao back-end.

A atualização desses dados resultará em apenas duas chamadas ao SharePoint: uma


para a lista primária e outra para a lista secundária. A junção será executada na
memória, reduzindo significativamente o número de chamadas ao SharePoint.

Essa abordagem pode ser usada em duas tabelas quaisquer no PowerQuery que tenham
uma chave estrangeira correspondente.

7 Observação
As listas de usuários e a taxonomia do SharePoint também estão acessíveis como
tabelas e podem ser unidas exatamente da mesma forma descrita acima, desde
que o usuário tenha privilégios adequados para acessar essas listas.
Habilitar o Microsoft Edge (Chromium)
para autenticação OAuth no Power BI
Desktop
Artigo • 13/05/2023

Se você estiver usando a autenticação OAuth para se conectar aos seus dados, a caixa
de diálogo do OAuth no Power Query usará o navegador de controle inserido do
Microsoft Internet Explorer 11. No entanto, determinados serviços Web, como
QuickBooks Online, Salesforce Reports e Salesforce Objects, não dão mais suporte ao
Internet Explorer 11.

Versão do Power BI de outubro de 2021

7 Observação

Se você estiver usando uma versão anterior do Power BI, acesse a Versão de
dezembro de 2020 do Power BI.

A partir de outubro de 2021, o Power BI Desktop passa a usar o WebView2 do Microsoft


Edge por padrão para autenticação OAuth em todos os conectores. No entanto, você
pode alterar o comportamento padrão usando variáveis de ambiente.

Para desabilitar o uso do WebView2 em conectores específicos, defina


PQ_ExtendEdgeChromiumOAuthDenyList com os nomes dos conectores que você
deseja desabilitar. Vários conectores são separados por ponto e vírgula.

setx PQ_ExtendEdgeChromiumOAuthDenyList MyExtension1;MyExtension2

Para desabilitar o uso do WebView2, defina PQ_DisableEdgeChromiumOAuth como


true.

setx PQ_DisableEdgeChromiumOAuth true


Versão do Power BI de dezembro de 2020
A partir de dezembro de 2020, o Power BI Desktop usa o WebView2 do Microsoft Edge
para autenticação OAuth com determinados conectores. Esses conectores são:

GitHub
QuickBooks Online
Relatórios do Salesforce
Objetos do Salesforce
Smartsheet
Twilio
Zendesk

Em seu computador do Power BI Desktop, você pode obter o controle WebView2


instalando o novo navegador Edge (Chromium) (pelo menos beta) de
https://www.microsoftedgeinsider.com/download ou instalando o pacote
redistribuível do WebView2.

Todos os outros conectores usarão o Internet Explorer 11 por padrão, a menos que as
configurações sejam substituídas usando variáveis de ambiente.

Para habilitar o WebView2 para todos os conectores, defina


PQ_EdgeChromiumOAuthAllowListAll como true:

setx PQ_EdgeChromiumOAuthAllowListAll true

Para habilitar o WebView2 em conectores específicos, defina


PQ_ExtendEdgeChromiumOAuthAllowList com os nomes dos conectores que você

deseja habilitar. Vários conectores são separados por ponto e vírgula.

setx PQ_ExtendEdgeChromiumOAuthAllowList MyExtension1;MyExtension2

Para desabilitar o uso do WebView2, defina PQ_DisableEdgeChromiumOAuth como


true.

setx PQ_DisableEdgeChromiumOAuth true


Conectores no Power Query
Artigo • 18/11/2023

A tabela a seguir contém uma lista de todos os conectores atualmente disponíveis para
o Power Query. Para os conectores que têm uma página de referência neste documento,
um link é fornecido sob o ícone e o nome do conector.

Uma marca de seleção indica que o conector tem suporte atualmente no serviço listado;
um X indica que o conector não tem suporte atualmente no serviço listado.

Os conectores são listados em ordem alfabética em tabelas separadas para cada letra
no alfabeto. Use a lista Neste artigo no lado direito deste artigo para ir para qualquer
uma das tabelas em ordem alfabética.

7 Observação

A coluna do Excel na tabela a seguir indica todos os conectores disponíveis em


pelo menos uma versão do Excel. No entanto, nem todas as versões do Excel dão
suporte a todos esses conectores Power Query indicados. Para obter uma lista
completa dos conectores do Power Query compatíveis com todas as versões do
Excel, acesse Fontes de dados do Power Query em versões do Excel .

7 Observação

Há um problema conhecido que resulta em um erro Expression.Error: The import


[connector name] matches no exports em que conectores que exigem um gateway

não estão funcionando em fluxos de dados e datamarts em espaços de trabalho


Premium. Há um trabalho em andamento para uma correção e a documentação
será atualizada quando uma correção for lançada.

A
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

Banco de dados
do Access
Por Microsoft

Active Directory
Por Microsoft

Acterys (Beta)
Por Acterys

Actian (Beta)
Por Actian

Adobe Analytics
Por Microsoft

Amazon Athena
Por Amazon

Serviço Amazon
OpenSearch
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

(Beta)
Por Amazon

Amazon Redshift
Por Microsoft

Anaplan
Por Anaplan

appFigures
(Beta)
Por Microsoft

Asana
(Beta)
Por Asana

Assemble Views
Por Autodesk

AtScale cubes
Por Microsoft
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

Autodesk
Construction
Cloud
Por Autodesk

Automação
Anywhere
Por Automação
Anywhere

Análise de dados
do
Automy (Beta)
Por ACEROYALTY

Banco de dados
do Azure Analysis
Services
Por Microsoft

Blob do Azure
Armazenamento
Por Microsoft

Azure Cosmos DB
Por Microsoft
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

Azure Cosmos
DB v2 (Beta)
Por Microsoft

Gerenciamento
de Custos
do Azure
Por Microsoft

Banco de Dados
do Azure para
PostgreSQL
Por Microsoft

Azure
Databricks
Por Databricks

Azure Data
Explorer
(Kusto)
Por Microsoft

Azure Data Lake


Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

Storage Gen1
Por Microsoft

Azure Data Lake


Storage Gen2
Por Microsoft

Azure DevOps
Por Microsoft

Azure DevOps
Servidor
Por Microsoft

Azure HDInsight
(HDFS)
Por Microsoft

Azure HDInsight
on AKS Trino
(Beta)
Por Microsoft

Azure HDInsight
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

Spark
Por Microsoft

Azure
Recurso
Gráfico
Por Microsoft

Azure Synapse
Análise
(SQL DW)
Por Microsoft

Azure Synapse
Workspace do
Analytics
(Beta)
Por Microsoft

SQL do Azure
database
Por Microsoft

Tabela do Azure
Armazenamento
Por Microsoft
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

Azure Time
Series Insights
(Beta)
Por Microsoft

B
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

Conector do BI
Por Guidanz

Classificações
de segurança
do BitSight
Por BitSight

Bloomberg
Data
and Analytics
Por Bloomberg
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

BQE Core
By BQE

C
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

CData Connect
Cloud
Por CData

Celonis EMS
(Beta)
Por Celonis

Cherwell
(Beta)
Por Cherwell

CloudBluePSA
(Beta)
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

Por CloudBlue
PSA (Beta)

Fusão de
Dados
Fusion
Por Cognite

Dados
Comuns
Service
(legacy)
Por Microsoft

D
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

Data.World -
Obter Conjunto de
Dados
(Beta)
Por Microsoft

Data Virtuality
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

LDW
Por Data Virtuality

Databricks

Por Databricks

Fluxos de dados
Por Microsoft

Dataverse
Por Microsoft

Compartilhamento
Delta
Por Databricks

Denodo
Por Denodo

Digital
Construction
Works Insights
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

Por Digital
Construction Works

Dremio Cloud
Por Dremio

Dremio Software
Por Dremio

Dynamics 365
Business Central
Por Microsoft

Dynamics 365
Business Central
(local)
Por Microsoft

Dynamics 365
Customer Insights
(Beta)
Por Microsoft

Dynamics 365
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

(Dataverse)
Por Microsoft

Dynamics 365
Online (herdado)
Por Microsoft

Dynamics NAV
Por Microsoft

E
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de
Gen2) dados) dados)

Eduframe
Reporting
(Beta)
Por Drieam

Fonte de
Dados
do Emigo
Por Sagra
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de
Gen2) dados) dados)

Métricas
Emplifi
(Beta)
Por Emplifi

Entersoft
Business
Suite
(Beta)
Por
Entersoft

EQuIS
By
EarthSoft

Essbase
Por
Microsoft

eWay-CRM
Por eWay-
CRM
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de
Gen2) dados) dados)

Exasol
Por Exasol

Excel
Por
Microsoft

1
Disponível nos fluxos de dados para Microsoft Teams.

F
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de
Gen2) dados) dados)

FactSet
Analytics
Por
FactSet

FactSet
RMS
(Beta)
Por
FactSet
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de
Gen2) dados) dados)

FHIR
Por
Microsoft

Pasta
Por
Microsoft

Funil
Por Funil

G
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de
Gen2) dados) dados)

Github
(Beta)
Por
Microsoft

Google
Analytics
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de
Gen2) dados) dados)

Por
Microsoft

Google
BigQuery
Por
Microsoft

Google
BigQuery
(Azure AD)
(Beta)
Por
Microsoft

Planilhas
Google
Por
Microsoft

H
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de
Gen2) dados) dados)

Arquivo do
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de
Gen2) dados) dados)

Hadoop
(HDFS)
Por
Microsoft

HDInsight
Interactive
Query
Por
Microsoft

Hexagon
PPM
do
Hexagon
PPM
Por
Hexagon
PPM

LLAP do
Hive
Por
Microsoft

I
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

IBM DB2
database
Por Microsoft

IBM Informix
Banco de
Dados
(Beta)
Por Microsoft

IBM Netezza
Por Microsoft

Impala
Por Microsoft

Indexima
Por Indexima

Industrial
App Store
Por
Intelligent
Plant
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

Informações
Grade (Beta)
Por Luminis

InterSystems
IRIS (Beta)
Por
Intersystems

Intune Data
Warehouse
(Beta)
Por Microsoft

J
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de
Gen2) dados) dados)

Jamf Pro
(Beta)
Por Jamf
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de
Gen2) dados) dados)

Jethro
(Beta)
Por
JethroData

JSON
Por
Microsoft

1 Disponível nos fluxos de dados para Microsoft Teams.

K
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de
Gen2) dados) dados)

Kognitwin
Por
Kongsberg

Banco de
dados KQL
Por
Microsoft
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de
Gen2) dados) dados)

Kyligence
Por
Kyligence

L
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

Casa do Lago
(Beta)
Por Microsoft

Bancos de dados
PICK/MultiValue
da Linkar (Beta)
Por Kosday
Solutions

LinkedIn Sales
Navigator (Beta)
Por Microsoft

M
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

Marketo
(Beta)
Por Microsoft

MarkLogic
Por MarkLogic

MariaDB
Por MariaDB

Microsoft
Azure
Consumption
Insights
(Beta)
(preterido)
Por Microsoft

Microsoft
Exchange
Por Microsoft

Microsoft
Exchange
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

Online
Por Microsoft

Microsoft
Graph
Security
(preterido)
Por Microsoft

Microsoft
Teams
Análise
Pessoal
(Beta)
Por Microsoft

MicroStrategy
para Power BI
Por
MicroStrategy

Mixpanel
(Beta)
Por Microsoft

MongoDB
Atlas
Interface do
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

SQL
(Beta)
Por MongoDB

Banco de
dados MySQL
Por Microsoft

O
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

OData Feed
Por Microsoft

ODBC
Por Microsoft

OLE DB
Por Microsoft

OpenSearchProject
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

(Beta)
Por OpenSearch

Oracle database
Por Microsoft

1 Disponível nos fluxos de dados para Microsoft Teams.

P
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

Parquet
Por Microsoft

Palantir
Foundry
Por Palantir

Paxata
Por Paxata
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

2 2 1

PDF
Por Microsoft

Planview
Enterprise
Arquitetura
Por Planview

Planview
IdeaPlace
Por Planview

Planview OKR
(Beta)

Planview
Portfolios
Por Planview

Planview
Projectplace
Por Planview
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

PostgreSQL
database
Por Microsoft

Conjuntos de
dados do
Power BI
Por Microsoft

Product
Insights
(Beta)
Por Microsoft

Profisee
Por Profisee

Script em
Python
Por Microsoft

1 Disponível nos fluxos de dados para Microsoft Teams.


2 O conector PDF não é compatível com o Power BI Premium.
3
O conector Parquet não é compatível com a versão de 32 bits do Power BI Desktop.
Q
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

QubolePresto
(Beta)
Por Qubole

Quickbase
Por Quick
Base

Quickbooks
Online
(Beta)
Por Microsoft

R
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de dados)
Gen2) dados)

Script do
R
Por
Microsoft
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de dados)
Gen2) dados)

Roamler
(Beta)
Por
Roamler

S
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

Objetos do
Salesforce
Por Microsoft

Relatórios do
Salesforce
Por Microsoft

Servidor de
Aplicativos SAP
Depósito
Servidor de
Aplicativos
Por Microsoft
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

Servidor de
Aplicativos SAP
Depósito
Servidor de
Mensagens
Por Microsoft

SAP HANA
database
Por Microsoft

SIS-CC SDMX
(Beta)
Por SIS-CC

Pasta do
SharePoint
Por Microsoft

Lista do
SharePoint
Por Microsoft

SharePoint
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

Online
lista
Por Microsoft

Atalhos para
insights de
negócios (Beta)
Por Shortcuts

SingleStore
(Beta)
Por SingleStore

SiteImprove
Por SiteImprove

Smartsheet
Por Microsoft

Snowflake
Por Microsoft

Socialbakers
Metrics (Beta)
Por Emplifi
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

SoftOneBI
(Beta)
Por SoftOne

Central de
Serviços
SolarWinds
(Beta)
Por SolarWinds

Solver
Por BI360

Spark
Por Microsoft

SparkPost
(Beta)
Por Microsoft

SQL Server
Analysis
Services
Por Microsoft
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

SQL Server
database
Por Microsoft

Starburst
Enterprise
Por Starburst
Data

SumTotal
Por SumTotal

SurveyMonkey
Por
SurveyMonkey

SweetIQ (Beta)
Por Microsoft

Banco de dados
Sybase
Por Microsoft

1 Disponível nos fluxos de dados para Microsoft Teams.


T
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

TeamDesk
(Beta)
Por ForeSoft

Tenforce
(Smart)List
Por Tenforce

Teradata
database
Por Microsoft

Texto/CSV
Por Microsoft

TIBCO(R)
Data
Virtualization
Por TIBCO

Twilio
(preterido)
Conector Excel Power BI Power Malha Power Cliente Serviços
(Conjuntos BI (fluxo Apps Insights de
de dados) (Fluxos de (Fluxos (fluxos análise
de dados de de
dados) Gen2) dados) dados)

(Beta)
Por Microsoft

1
Disponível nos fluxos de dados para Microsoft Teams.

U
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de dados)
Gen2) dados)

Usercube
(Beta)
Por
Usercube

V
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de
Gen2) dados) dados)

Vena
Por Vena

Vertica
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de
Gen2) dados) dados)

Por
Microsoft

Vessel
Insight
Por
Kongsberg

Viva
Insights
Por
Microsoft

W
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de
Gen2) dados) dados)

Armazém
(Beta)
Por
Microsoft

Web
Por
Microsoft
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de
Gen2) dados) dados)

Webtrends
Analytics
(Beta)
Por
Microsoft

Witivio
(Beta)
Por Witivio

Workforce
Dimensions
(Beta)
(Preterido)
Por Kronos

Wrike (Beta)
Por Wrike

1 Disponível nos fluxos de dados para Microsoft Teams.

X
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de dados)
Gen2) dados)

XML
Por
Microsoft

1
Disponível nos fluxos de dados para Microsoft Teams.

Z
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de dados)
Gen2) dados)

Zendesk
(Beta)
Por
Microsoft

Zoho
Creator
Por Zoho

Zucchetti
HR
Infinity
(Beta)
Conector Excel Power BI Power BI Malha Power Cliente Serviços
(Conjuntos (Fluxos (fluxo Apps Insights de
de dados) de de (Fluxos (fluxos análise
dados) dados de de dados)
Gen2) dados)

Por
Zucchetti

Próximas etapas
Fontes de dados do Power BI (conjuntos de dados)
Conectar-se às fontes de dados dos fluxos de dados do Power BI
Fontes de dados disponíveis (Dynamics 365 Customer Insights)
Fontes de dados com suporte no Azure Analysis Services
Banco de dados do Access
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Excel
Customer Insights do Dynamics 365
Analysis Services

Tipos de autenticação compatíveis Anônima


Windows
Basic
Conta organizacional

Documentação de referência da função Access.Database

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Se você estiver se conectando a um banco de dados desde o Access do Power Query
Online, o sistema que contém o gateway de dados local deverá ter a versão de 64 bits
do provedor OLEDB do Access Database Engine 2016 instalado.

Se você estiver carregando um banco de dados do Access para o Power BI Desktop, as


versões do provedor OLEDB do Access Database Engine 2016 e do Power BI Desktop
nesse computador devem corresponder (ou seja,ou 32 bits ou 64 bits). Para obter mais
informações, acesse Importar banco de dados do Access para o Power BI Desktop.
Funcionalidades com suporte
Importação

Conectar-se a um banco de dados do Access


desde o Power Query Desktop
Para fazer a conexão desde o Power Query Desktop:

1. Selecione a opção Banco de dados Access na seleção do conector.

2. Procure e selecione o banco de dados do Access que deseja carregar. Em seguida,


selecione Abrir.

Se o banco de dados do Access estiver online, use o conector da Web para se


conectar.

3. No Navegador, selecione as informações de banco de dados e selecione Carregar


para carregar os dados ou Transformar Dados para continuar transformando os
dados em Editor do Power Query.

Conectar-se a um banco de dados do Access


desde o Power Query Online
Para fazer a conexão desde o Power Query Desktop:

1. Selecione a opção Banco de dados Access na seleção do conector.

2. Na caixa de diálogo do banco de dados do Access que aparece, forneça o


caminho para o banco de dados do Access.

3. Insira o caminho do arquivo ou o endereço de URL no banco de dados do Access.

4. Selecione o nome do gateway de dados local.


7 Observação

Você deve selecionar um gateway de dados local para esse conector, esteja o
banco de dados do Access na sua rede local ou em um site da Web.

5. Em Tipo de autenticação, selecione o tipo de credenciais da conexão com o banco


de dados do Access.

6. Insira suas credenciais.

7. Selecione Avançar para continuar.

8. No Navegador, selecione os dados necessários e clique em Transformar dados


para transformar os dados no Editor do Power Query.

Solução de problemas

Conectar-se ao arquivo local desde o Power Query Online


Ao tentar se conectar a um banco de dados local do Access usando o Power Query
Online, você deve selecionar um gateway de dados local, mesmo que o banco de dados
do Access esteja online.

Erro no gateway de dados local


A versão de 64 bits do provedor OLEDB do Mecanismo de banco de dados do Access
2016 deve ser instalada no computador do gateway de dados local para carregar os
arquivos do banco de dados do Access. Se você já tiver a versão de 64 bits do Microsoft
Office instalada no mesmo computador que o gateway, o provedor OLEDB do
Mecanismo de banco de dados do Access 2016 já estará instalado. Do contrário, você
pode baixar o driver do seguinte local:

Provedor OLEDB do Mecanismo de Banco de Dados do Access 2016

7 Observação

O Microsoft Office parou de oferecer suporte ao provedor OLEDB do Mecanismo


de Banco de Dados do Access 2010 como parte do fim da vida útil do Office 2010.
No entanto, alguns casos de uso herdados, como o uso do Office de 32 bits e do
PBI Desktop de 64 bits, podem exigir o uso contínuo da versão 2010 mais antiga.
Nesses casos, você ainda pode baixar a versão 2010 do seguinte local:

Provedor OLEDB do Mecanismo de Banco de Dados do Access 2010

Importar o banco de dados do Access para o Power BI


Desktop
Em alguns casos, você pode receber um erro The 'Microsoft.ACE.OLEDB.12.0' provider
is not registered ao tentar importar um arquivo de banco de dados do Access para o

Power BI Desktop. Esse erro pode ser causado usando versões de bits incompatíveis do
Power BI Desktop e do provedor OLEDB do Mecanismo de Banco de Dados do Access
2016. Para obter mais informações sobre como corrigir essa incompatibilidade, vá para
Solucionar problemas de importação de arquivos do Access e do Excel .xls no Power BI
Desktop.
Active Directory
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Excel
Analysis Services

Tipos de autenticação compatíveis Windows

Documentação de referência da função ActiveDirectory.Domains

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Funcionalidades com suporte


Importação

Pré-requisitos
Para se conectar ao Active Directory no Power BI (Fluxos de Dados), você precisará
de um gateway de dados local.

Conectar ao Active Directory a partir do Power


Query Desktop
1. Selecione a opção Active Directory em Outro na seleção Obter Dados e escolha
Conectar. Mais informações: Locais para obter dados
2. Na caixa de diálogo Active Directory, forneça o domínio para o Active Directory.

3. Você pode optar por usar suas credenciais atuais do Windows ou inserir
credenciais alternativas. Depois, selecione Conectar.

 Dica

Talvez seja necessário adicionar o sufixo de domínio ao seu nome de usuário.


Por exemplo: domain\username.
4. No Navegador, revise e/ou selecione os dados do seu banco de dados. Depois,
selecione OK.

7 Observação

O navegador não carrega dados para a partição de configuração. Mais


informações: Limitações e problemas

Conectar ao Active Directory a partir do Power


Query Online
1. Selecione a opção Active Directory em Outro na seleção Escolher fonte de dados
e escolha Conectar. Mais informações: Locais para obter dados

2. Em Conectar à fonte de dados, insira seu domínio, selecione credenciais de


conexão se você já se conectou antes ou selecione Criar nova conexão e selecione
gateway de dados local.

3. Somente a autenticação do Windows está disponível. Adicione seu nome de


usuário no formato domain\alias e adicione sua senha. Selecione Avançar.
4. No Navegador, revise e/ou selecione os dados do seu banco de dados. Depois,
selecione OK.

7 Observação

O navegador não carrega dados para a partição de configuração. Mais


informações: Limitações e problemas

Limitações e problemas

Alguns objetos no Navegador retornam tabelas vazias


O conector do Active Directory do Power Query dá suporte à pesquisa nas partições
Esquema e Domínio, mas não na partição Configuração. Essa limitação é o design atual.
Portanto, se houver objetos que residam na partição Configuração, o Power Query não
carregará dados desses objetos no navegador.
Adobe Analytics
Artigo • 13/07/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (Dataflow Gen2)
Power Apps (Fluxos de dados)
Customer Insights (Fluxos de dados)

Tipos de autenticação compatíveis Conta organizacional

Documentação de referência da função AdobeAnalytics.Cubes

Pré-requisitos
Antes de entrar no Adobe Analytics, você deve ter uma conta do Adobe Analytics (nome
de usuário/senha).

Funcionalidades com suporte


Importação

Conectar-se aos dados do Adobe Analytics


Conectar aos dados do Adobe Analytics:

1. Selecione Obter Dados na faixa de opções Início no Power BI Desktop. Selecione


Serviços online nas categorias à esquerda, selecione Adobe Analytics e Conectar.
2. Se essa for a primeira vez que você está obtendo dados por meio do conector
Adobe Analytics, um alerta de terceiros será exibido. Selecione Não mostrar alerta
novamente para esse conector se você não quiser que essa mensagem seja
exibida novamente e, depois, selecione Continuar.

3. Para entrar na sua conta do Adobe Analytics, selecione Entrar.


4. Na janela do Adobe Analytics que é exibida, forneça suas credenciais para entrar
na conta do Adobe Analytics. Você pode fornecer um nome de usuário (que
geralmente é um endereço de email) ou selecionar Continuar com o Google ou
Continuar com o Facebook.

Se você inseriu um endereço de email, selecione Continuar.

5. Insira sua senha do Adobe Analytics e selecione Continuar.


6. Depois de entrar, selecione Conectar.

Depois que a conexão for estabelecida, você pode visualizar e selecionar várias
dimensões e medições na caixa de diálogo do Navegador para criar uma única saída de
tabela.
Também é possível fornecer quaisquer parâmetros de entrada opcionais para os itens
selecionados. Para obter mais informações sobre esses parâmetros, consulte Parâmetros
de entrada opcionais.

É possível Carregar a tabela selecionada, que insere toda a tabela no Power BI Desktop,
ou selecionar Transformar dados para editar a consulta, que abre o Editor do Power
Query. Depois, é possível filtrar e refinar o conjunto de dados que deseja usar e carregar
esse conjunto refinado de dados no Power BI Desktop.

Parâmetros de entrada opcionais


Ao selecionar os dados do Adobe Analytics que deseja carregar ou transformar na caixa
de diálogo do Navegador no Power Query, você também pode limitar a quantidade de
dados ao selecionar um conjunto de parâmetros de entrada opcionais.
Esses parâmetros de entrada são:

Intervalo de datas – filtra o que foi relatado usando o intervalo definido de data de
início e data de término.

Segmento— filtra os dados com base em todos os segmentos contidos nos dados
ou apenas nos segmentos selecionados. Para alterar a lista de segmentos,
selecione as reticências à direita da lista de Segmento e escolha os segmentos
desejados. Por padrão, todos os segmentos são incluídos nos dados.
Top - filtra os dados com base nos itens principais da dimensão. Você pode inserir
um valor na caixa de texto Top ou selecionar as reticências ao lado da caixa de
texto para selecionar alguns valores padrão. Por padrão, todos os itens são
selecionados.

Dimensão– filtra os dados com base na dimensão selecionada. Por padrão, todas
as dimensões são selecionadas. Atualmente, os filtros de dimensão personalizados
da Adobe não são suportados na interface do usuário do Power Query, mas
podem ser definidos manualmente como parâmetros M na consulta. Para obter
mais informações, consulte Como usar os parâmetros de consulta no Power BI
Desktop.

Limitações e problemas
Você deve estar ciente das seguintes limitações e problemas associados ao acesso aos
dados do Adobe Analytics.

O Adobe Analytics tem um limite interno de 50 mil linhas retornadas por chamada
de API.
Se o número de chamadas à API exceder quatro por segundo, um alerta será
emitido. Se o número exceder cinco por segundo, uma mensagem de erro será
retornada. Para obter mais informações sobre esses limites e as mensagens
associadas, consulte Códigos de erro dos serviços Web .

Atualmente, o tempo limite da solicitação de API no adobe.io é de 60 segundos.

O limite padrão da taxa de um Adobe Analytics Company é de 120 solicitações por


minuto por usuário (o limite é aplicado como 12 solicitações a cada 6 segundos).

A importação do Adobe Analytics interromperá e exibirá uma mensagem de erro


sempre que o conector do Adobe Analytics atingir qualquer um dos limites de API
listados acima.

Ao acessar os dados usando o conector do Adobe Analytics, siga as diretrizes fornecidas


sob o título Práticas recomendadas .

Para obter diretrizes adicionais sobre como acessar os dados do Adobe Analytics,
consulte as Diretrizes de uso recomendadas .

Próximas etapas
As seguintes informações sobre o Adobe Analytics também são úteis:

APIs do Adobe Analytics 1.4


API de relatórios do Adobe Analytics
Métricas
Elementos
Segmentos
GetReportSuites
Suporte do Adobe Analytics
Amazon Athena
Artigo • 13/07/2023

7 Observação

O artigo do conector a seguir é fornecido pela Amazon, proprietária desse conector


e membro do Programa de Certificação de Conector do Microsoft Power Query. Se
tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações neste
artigo, acesse o site da Amazon e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (Dataflow Gen2)

Tipos de autenticação compatíveis Configuração do DSN


Conta organizacional

Pré-requisitos
Uma conta AWS (Amazon Web Services)
Permissões para usar a Athena
Os clientes devem instalar o driver ODBC do Amazon Athena antes de usar o
conector

Funcionalidades com suporte


Importar
DirectQuery (Conjuntos de dados do Power BI)

Conectar-se ao Amazon Athena


Para se conectar aos dados do Athena:
1. Inicie o Power BI Desktop.

2. Na guia Página Inicial, selecione Obter Dados.

3. Na caixa de pesquisa, insira Athena.

4. Selecione Amazon Athena e, em seguida, selecione Conectar.

5. Na página de conexão do Amazon Athena, insira as seguintes informações:

Para DSN, insira o nome do DSN ODBC que você deseja usar. Para obter
instruções sobre como configurar o DSN, acesse a documentação do driver
ODBC .
Para o modo de Conectividade de Dados, escolha um modo apropriado para
seu caso de uso, seguindo estas diretrizes gerais:
Para conjuntos de dados menores, escolha Importar. Ao usar o modo de
importação, o Power BI funciona com o Athena para importar o conteúdo
de todo o conjunto de dados para uso em suas visualizações.
Para conjuntos de dados maiores, escolha DirectQuery. No modo
DirectQuery, nenhum dado é baixado para sua estação de trabalho.
Enquanto você cria ou interage com uma visualização, o Microsoft Power
BI trabalha com o Athena para consultar dinamicamente a fonte de dados
subjacente para que você esteja sempre exibindo os dados atuais. Para
mais informações, consulte: Usar o DirectQuery no Power BI Desktop
6. Selecione OK.

7. No prompt para configurar a autenticação da fonte de dados, selecione Usar


Configuração da Fonte de Dados ou Autenticação do AAD. Insira as informações
de entrada necessárias. Depois, selecione Conectar.

Seu catálogo de dados, bancos de dados e tabelas aparecem na caixa de diálogo


Navegador.
8. No painel Opções de Exibição, marque a caixa de seleção para o conjunto de
dados que você deseja usar.

9. Se você quiser transformar o conjunto de dados antes de importá-lo, vá para a


parte inferior da caixa de diálogo e selecione Transformar Dados. Essa seleção
abre o Editor do Power Query para que você possa filtrar e refinar o conjunto de
dados que deseja usar.

10. Caso contrário, selecione Carregar. Depois de carregar, você poderá criar
visualizações como a da imagem a seguir. Se você selecionou o DirectQuery, o
Power BI emitirá uma consulta ao Athena para a visualização solicitada.
Serviço Amazon OpenSearch (Beta)
Artigo • 05/10/2023

7 Observação

O artigo do conector a seguir é fornecido pela Amazon, proprietária desse conector


e membro do Programa de Certificação de Conector do Microsoft Power Query. Se
tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações neste
artigo, visite o site do OpenSearch e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Beta

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Basic

Pré-requisitos
Microsoft Power BI Desktop
OpenSearch
Driver ODBC do SQL do OpenSearch

Funcionalidades com suporte


Importação
DirectQuery (conjuntos de dados do Power BI)

Conectar-se ao Projeto OpenSearch


1. Abra o Power BI Desktop.

2. Selecione Página Inicial>Obter Dados>Mais>Outros, selecione Projeto


OpenSearch e Conectar.
3. Você receberá um aviso por usar um serviço de terceiros. Selecione Continuar.

4. Insira valores de host e porta e selecione a opção SSL que deseja. Depois,
selecione OK.

5. Selecione uma opção de autenticação. Se necessário, insira as credenciais e


selecione Conectar.

6. Selecione a tabela necessária. A visualização de dados será carregada.

7. Selecione Carregar.

8. Selecione as colunas necessárias para criar um grafo.

Solução de problemas
Se você receber um erro indicando que o driver não foi instalado, instale o ODBC Driver
do SQL do OpenSearch .

Se você receber um erro de conexão:

1. Verifique se os valores de host e porta estão corretos.


2. Verifique se as credenciais de autenticação estão corretas.
3. Verifique se o servidor está em execução.
Amazon Redshift
Artigo • 13/07/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (Dataflow Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365

Tipos de autenticação compatíveis Amazon Redshift


Basic
Conta da Microsoft
Conta organizacional

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Uma conta AWS (Amazon Web Services)

Funcionalidades com suporte


Importar
DirectQuery (Conjuntos de dados do Power BI)
Opções Avançadas
Nome do provedor
Tamanho do lote
Instrução SQL
Conectar-se aos dados do Amazon Redshift no
Power Query Desktop
Para se conectar a dados do Amazon Redshift:

1. Selecione a opção Amazon Redshift na seleção Obter Dados.

2. No Servidor, insira o nome do servidor onde seus dados estão localizados. Como
parte do campo Servidor, você também pode especificar uma porta no seguinte
formato: URLdoServidor:Porta. No Banco de Dados, insira o nome do banco de
dados do Amazon Redshift que você deseja acessar. Neste exemplo,
contoso.redshift.amazonaws.com:5439 é o nome do servidor e o número da porta,

dev é o nome do banco de dados e o Modo Conectividade de Dados é definido

como Importar.

Você também pode escolher algumas opções avançadas opcionais para sua
conexão. Mais informações: Conectar-se usando opções avançadas

Depois de concluir o preenchimento e selecionar todas as opções necessárias,


selecione OK.

3. Se essa for a primeira vez que você estiver se conectando a esse banco de dados,
insira suas credenciais nas caixas Nome de usuário e Senha do tipo de
autenticação do Amazon Redshift. Depois, selecione Conectar.
Mais informações: Autenticação com uma fonte de dados

4. Depois de você se conectar com sucesso, aparece uma janela Navegador com os
dados disponíveis no servidor. Escolha um ou mais dos elementos que você deseja
importar.

5. Depois de selecionar os elementos desejados, selecione Carregar para carregar os


dados ou Transformar Dados para continuar transformando os dados no Editor do
Power Query.

6. Selecione o modo de conectividade de dados Importar ou DirectQuery e


selecione OK.
Conectar-se aos dados do Amazon Redshift no
Power Query Online
Para se conectar a dados do Amazon Redshift:

1. Selecione a opção Amazon Redshift na página Power Query – Escolher a fonte de


dados.

2. No Servidor, insira o nome do servidor onde seus dados estão localizados. Como
parte do campo Servidor, você também pode especificar uma porta no seguinte
formato: URLdoServidor:Porta. No Banco de Dados, insira o nome do banco de
dados do Amazon Redshift que você deseja acessar. Neste exemplo,
contoso.redshift.amazonaws.com:5439 é o nome do servidor e o número da porta,

e dev é o nome do banco de dados.


Você também pode escolher algumas opções avançadas opcionais para sua
conexão. Mais informações: Conectar-se usando opções avançadas

3. Se necessário, selecione o gateway de dados local no Gateway de dados.

4. Selecione o tipo de autenticação que você deseja usar no Tipo de autenticação e


insira suas credenciais.

5. Marque ou desmarque Usar Conexão Criptografada, dependendo se você deseja


usar uma conexão criptografada ou não.

6. Selecione Avançar para continuar.

7. No Navegador, selecione os dados necessários e Transformar dados. Essa seleção


abre o Editor do Power Query para que você possa filtrar e refinar o conjunto de
dados que deseja usar.
Conectar usando opções avançadas
O Power Query fornece um conjunto de opções avançadas que você pode adicionar à
sua consulta, se necessário.

A tabela a seguir descreve todas as opções avançadas que você pode definir no Power
Query.

Opção Descrição
Avançada

Nome do Fornece um ARN (Nome do Recurso da Amazon), que identifica exclusivamente os


Provedor recursos do AWS.

Tamanho Especifica o número máximo de linhas a serem recuperadas por vez do servidor ao
do lote buscar dados. Um número pequeno gerará mais chamadas para o servidor ao
recuperar um conjunto de dados grande. Um número grande de linhas pode
melhorar o desempenho, mas pode causar alto uso de memória. O valor padrão é
100 linhas.

Instrução Para obter informações, acesse Importar dados de um banco de dados usando a
SQL consulta de banco de dados nativo. Esta opção está disponível somente no Power
BI Desktop.
Habilitar o SSO (Logon Único) do Azure AD
para o Amazon Redshift
Damos suporte ao SSO do Azure AD por meio do Serviço do Power BI (nuvem) e
também por meio do gateway de dados local. Para obter mais informações sobre como
habilitar o SSO Azure AD para todos os conectores, acesse Visão geral do SSO (Logon
Único) para gateways de dados locais no Power BI.

SSO (Logon Único) do Azure AD por meio do serviço do


Power BI
Para configurar uma nova conexão no serviço do Power BI:

1. No serviço do Power BI, selecione Portal de administração na lista de


configurações.

2. Habilite a opção SSO do Redshift.


SSO (Logon Único) do Azure AD para o Amazon Redshift
com um gateway de dados local
Para habilitar o SSO do Azure AD para o Amazon Redshift, primeiro habilite o SSO do
Azure AD para todas as fontes de dados compatíveis com o SSO do Azure AD com um
gateway de dados local:

1. No serviço do Power BI, selecione Portal de administração na lista de


configurações.
2. Em Configurações de locatário, habilite SSO (Logon Único) do Azure AD para
Gateway.

Depois de habilitar o SSO do Azure AD para todas as fontes de dados, habilite o SSO do
Azure AD para o Amazon Redshift:

1. Habilite a opção SSO do Redshift.

2. Selecione Gerenciar gateways na lista de configurações.


3. Selecione um gateway e, em seguida, selecione Adicionar Fonte de Dados.

4. Na guia Configurações da Fonte de Dados, insira um valor no Nome do Provedor.


O parâmetro Nome do Provedor é necessário ao usar o Azure AD e precisa ser
especificado em Configurações avançadas.

Além disso, selecione Usar o SSO por meio do Azure AD para consultas
DirectQuery.
Anaplan
Artigo • 05/10/2023

7 Observação

O artigo do conector a seguir é fornecido pela Anaplan, proprietária desse conector


e membro do Programa de Certificação de Conector do Microsoft Power Query. Se
tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações neste
artigo, acesse o site da Anaplan e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Basic


Conta organizacional

Pré-requisitos
Há requisitos de sistema que devem ser verificados antes da instalação do Microsoft
Power BI Desktop.

Funcionalidades com suporte


O Anaplan Connector permite acesso às exportações do seu modelo do Anaplan. Além
disso:

Funciona por meio de APIs de integração de dados públicos do Anaplan.


Carrega ações de exportação salvas em seus modelos do Anaplan diretamente no
Power BI.
Exibe modelos do Anaplan (os modelos não arquivados) em seu locatário padrão.
Cria conjuntos de dados no Power BI Desktop e os exporta ou atualiza para o
serviço Power BI (nuvem).
Conectar-se ao Anaplan por meio do Power BI
Desktop

Obter dados
Para acessar sua exportação salva no Power BI Desktop:

1. Selecione Obter dados no menu da faixa de opções, que exibe o menu Fontes de
dados comuns.

2. No menu, selecione Mais.

3. Em Obter dados, insira Anaplan no campo de pesquisa, que exibe o Anaplan


Connector.

4. Selecione Anaplan Connector.

5. Selecione Conectar.

Configurar o conector
Configure o conector depois de baixá-lo. Esta etapa permite que você se conecte
usando APIs do Anaplan.

O conector usa autenticação básica (ID de usuário, senha) ou o IDP configurado pelo
Anaplan para fazer logon no Anaplan. Para usar o segundo método, você deve ser
designado como um usuário de logon único (Single-Sign On, SSO) do Anaplan em seu
modelo do Anaplan. Você pode definir sua própria configuração.

A imagem a seguir mostra a caixa de diálogo Configuração de conexão do Anaplan.


1. Insira a API e as URLs de autenticação (auth).

a. Se você escolher Autenticação básica, insira as seguintes URLs e selecione OK.

URL da API da Anaplan: https://api.anaplan.com

URL da Autenticação da Anaplan: https://auth.anaplan.com

b. Se você preferir o IDP configurado pelo Anaplan para fazer logon no Anaplan,
insira as seguintes URLs e selecione OK.

URL da API da Anaplan: https://api.anaplan.com

URL da Autenticação da Anaplan: https://us1a.app.anaplan.com

c. Selecione OK.

2. Na próxima caixa de diálogo Anaplan, escolha Conta básica ou organizacional


(que aciona o IDP configurado pelo Anaplan).

Authenticate
Você escolheu a autenticação básica ou IDP configurado pelo Anaplan.

1. Se você optar pela autenticação Básica, na caixa de diálogo Anaplan:


a. Insira o Nome de Usuário e a Senha.

b. Selecione Conectar.

c. Continue na próxima etapa: Obter dados.

2. Se você optar pela Conta organizacional (IDP configurado pela Anaplan), na caixa
de diálogo Anaplan:

a. Selecione Entrar.

b. Em Bem-vindo(a) ao Anaplan, selecione Fazer logon com SSO (logon único).


c. Na caixa de diálogo SSO da sua empresa, insira seu nome de usuário e senha.

d. Selecione Entrar.

7 Observação

O serviço IDP configurado pelo Anaplan da sua empresa gera esta caixa de
diálogo. Um serviço comum de gerenciamento de ID é o Okta.

e. Selecione Conectar na próxima caixa de diálogo Anaplan.


Executar uma ação de exportação do Power BI
O conector do Anaplan para Power BI utiliza exportações para descarregar dados do seu
modelo do Anaplan. Verifique se você tem uma ação de exportação definida. A etapa do
navegador é onde você carrega e executa essas exportações.

Ao executar uma ação de exportação:

Só há suporte para exportações que geram arquivos .csv e .txt.


Se você não encontrar a ação de exportação no conector do Power BI, verifique a
sua função de modelo e as ações de exportação no seu modelo.

Para executar uma ação de exportação, use a caixa de diálogo Navegador para localizar
a exportação.

1. Pesquise seus modelos da Anaplan para localizar e definir a exportação.

Selecione a divisa branca, que se expande em uma lista suspensa.


Você também pode localizar o nome do seu modelo usando o campo de
pesquisa.

2. Marque a caixa ao lado de ƒx Executar Ação de Exportação para selecionar sua


exportação.

Quando você seleciona ƒx Executar ação de exportação, esta seleção não


aciona a execução de exportação. Em vez disso, essa seleção baixa a última
versão dos dados da Anaplan exportados para visualização.
Uma visualização é exibida no painel à direita. Se a exportação do Anaplan
estiver definida como Somente administradores, os usuários do modelo
poderão ver uma visualização em branco, mas a exportação será executada
normalmente.
Você terá acesso à visualização na próxima vez que definir uma integração
com a mesma exportação.

3. Selecione Carregar, que inicia a exportação. A caixa de diálogo Carregar é exibida.

Seus dados são carregados.


Gerencie seus dados
Depois que seus dados forem carregados no Power BI Desktop, você poderá realizar
visualizações de dados.

Como aproveitar ao máximo a visualização de dados ajuda você a selecionar Colunas,


aplicar Filtros, realizar Visualizações e Publicar.

Publicar um relatório no serviço Power BI


A etapa de publicação envia o relatório do Power BI Desktop para o serviço do Power BI.

Mais informações: Criar relatórios no Power BI. Você precisa de um relatório para
começar.

Para publicar um relatório no serviço Power BI, selecione Publicar na caixa de diálogo de
relatório do Power BI Desktop.

O relatório agora está no serviço do Power BI. Entre no serviço do Power BI para ver o
relatório.

Agendar uma atualização (serviço do Power BI)


Depois de criar um conjunto de dados no serviço do Power BI, você poderá agendar
uma atualização de dados.

Primeiro, crie um relatório no Power BI Desktop. Mais informações: Criar relatórios no


Power BI.

Para atualizar seu conjunto de dados:

1. Selecione Adicionar fonte de dados (canto superior esquerdo da caixa de


diálogo).

2. Selecione nas listas suspensas Tipo de fonte de dados e Informações da fonte de


dados.

3. Escolha Aplicar.

Esta imagem exibe um conjunto de dados de exemplo chamado Nova fonte de dados.

Na caixa de diálogo Anaplan:

1. Selecione OAuth2 no menu suspenso Método de autenticação.

2. Selecione Entrar.

Depois de criar uma atualização agendada no serviço do Power BI:

Se a frequência de atualização programada for superior a 15 dias, você deverá


inserir novamente suas credenciais de logon antes do final do 15º dia. Caso
contrário, você precisará autenticar novamente.
Recomendamos uma frequência de atualização inferior a 15 dias.
Além das atualizações de dados, você precisa inserir novamente suas credenciais
de logon a cada 90 dias.

Limites, considerações e solução de problemas


Você pode receber mensagens de erro. Aqui estão alguns cenários comuns e etapas
para resolução.

Se você receber uma mensagem de erro, selecione o ícone de atualização. Esta


atualização resolve o erro na maioria dos casos.

Erro de credencial no Navegador


We couldn't authenticate with the credentials provided, please try again.

Para resolver esse erro:

1. Selecione Atualizar (canto superior direito).

2. Selecionar Arquivo.

3. Selecione Opções e configurações.

4. Selecione Configurações de fonte de dados.

5. Selecione a permissão Anaplan Connector na lista.

6. Selecione Limpar permissões.

7. Selecione Excluir.

Estas etapas removem tokens de API do Anaplan expirados. Você deve autenticar
novamente para continuar.

Erro de credenciais no editor do Power Query


Você pode enfrentar um erro de credencial no Editor do Power Query ao reabrir um
relatório do Power BI ou ao editar um conjunto de dados anterior.

Para resolver esse erro, selecione Fechar & Aplicar ou Atualizar Visualização.

Seus dados são atualizados.

Lista de integração, erro de exibição


Solução: se você não vir sua lista completa de integrações depois de mudar seu Espaço
de trabalho, é possível:

Selecione o botão atualizar ao lado de Integrações.


Atualize seu navegador.

Também é possível:

1. Selecione Fontes recentes.

2. Selecione Mais.

3. Clique com o botão direito na conexão.

4. Selecione Remover da lista.


5. Conecte-se à exportação novamente. Seus dados são atualizados.

Erro de expressão do Power Query


Expression.Error: The key didn't match any rows in the table.

Selecione Atualizar Visualização.


As primeiras 1.000 linhas de dados são exibidas.

Mais informações: Funções de expressão M do Power Query

Erro de download de arquivo grande


Se você ultrapassar o limite de tamanho de 5 gigabytes (GB), receberá o erro a seguir.

Anaplan connector supports file downloads up to 5 GB in size.

Volte ao seu modelo do Anaplan, diminua o tamanho do seu arquivo e tente


novamente.
Assemble Views
Artigo • 05/10/2023

7 Observação

O artigo a seguir sobre o conector é fornecido pela Autodesk, proprietária desse


conector e membro do Programa de certificação de conector do Microsoft Power
Query. Se tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações
neste artigo, visite o site da Autodesk e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Conta da Autodesk

Documentação de referência da função —

Pré-requisitos
Para usar o conector Assemble Views, você deve ter uma conta da Autodesk com um
nome de usuário e senha e ser membro de, no mínimo, um projeto no Assemble.

Você também precisará de, no mínimo, uma exibição associada ao projeto no Assemble.

Funcionalidades com suporte


Importação

Conectar-se ao Assemble Views desde o Power


Query Desktop
Para se conectar aos dados do Assemble:
1. Selecione Assemble Views na experiência Obter dados na categoria Serviços
online e Conectar.

2. No Assemble Views, insira a URL do seu site para entrar. Por exemplo, use
https://example.tryassemble.com .

a. (Opcional) Selecione uma data a partir da qual deseja carregar os dados. Deixar
esse campo em branco faz com que os dados mais recentes sejam trazidos sempre
que você atualizar.

b. Depois de inserir a URL, clique em OK para continuar.

3. Para entrar na sua conta da Autodesk, selecione Entrar.

Depois de entrar, selecione Conectar.


4. Na caixa de diálogo Navegador, procure e expanda o projeto que deseja carregar.
Para cada projeto, há uma pasta para Modelos e Exibições.

Modelos (novo recurso): busca propriedades selecionadas de uma ou de


todas as versões de um modelo.

Exibições: busca todas as colunas visíveis em uma visualização salva


anteriormente.

Carregando dados de modelos


1. Expanda a pasta Modelos. Selecione cada um dos modelos que deseja incluir. As
configurações descritas nas etapas a seguir devem ser concluídas para cada
modelo selecionado.

2. Selecione as versões que deseja carregar:

Somente versão ativa: carrega apenas a versão ativa do modelo.


Todas as versões: carrega todas as versões do modelo.
Todas exceto a versão ativa: carrega todas as versões anteriores do modelo
sem carregar a versão ativa (destinada a fluxos de trabalho avançados
quando os dados da versão anterior precisam ser carregados apenas uma vez
e não incluídos em uma atualização).
Versões específicas: carrega todas as versões específicas do modelo que
estão selecionadas (versões específicas serão selecionadas no menu suspenso
Nome e Número da Versão).

3. Selecione as propriedades que deseja buscar usando o filtro de pesquisa ou


rolando. Por padrão, ID do modelo, Nome do modelo, ID da versão, Nome da
versão e Número da versão sempre serão incluídos no resultado.

7 Observação

Ao usar a barra de pesquisa, limpe a seleção e selecione todas as


propriedades antes de selecionar OK; caso contrário, as seleções anteriores
serão substituídas.

4. Se estiver usando "Versões específicas", selecione as versões que deseja carregar


no menu suspenso Nome e número da versão (opcional) e escolha Aplicar. As
seleções neste menu suspenso serão ignoradas se qualquer outra configuração de
"Carregar dados do modelo" for selecionada.

5. Depois que a visualização dos dados for exibida, você poderá selecionar
Transformar dados para acessar o editor do Power Query ou Carregar para ir
direto para o painel.

6. Se você quiser carregar vários modelos de uma vez, selecione Aplicar depois de
configurar cada modelo de acordo com as etapas acima mencionadas.

Carregando dados de visualizações


1. Expanda a pasta Exibições. Selecione a exibição que você deseja incluir. Além
disso, selecione [Seu projeto] Ver miniaturas se você deseja incluir imagens em
seu relatório. Selecione Transformar dados para continuar no Power Query.

2. No Power Query, você verá uma única coluna chamada Linhas. No cabeçalho da
coluna, selecione o botão com duas setas apontando em direções opostas para
expandir as linhas.

a. Desmarque Usar o nome da coluna original como prefixo e selecione OK para


cada consulta de dados de exibição que foi selecionada.
b. Selecione Fechar & Aplicar para carregar os conjunto de dados.

3. (Opcional) Se você optou por carregar imagens, precisará atualizar a Categoria de


dados no campo de imagem.

a. Expanda a tabela [Seu projeto] Exibir miniaturas e selecione o campo Imagem.


Essa seleção abre a guia Ferramentas de coluna.

b. Abra a lista suspensa Categoria de dados e selecione URL da imagem. Agora,


você pode arrastar e soltar o campo Imagem nos visuais do relatório.
Limitações e problemas conhecidos
As exibições com mais de 100 mil linhas podem não carregar dependendo do
número de campos incluídos na visualização. Para evitar essa limitação, sugerimos
dividir as exibições grandes em várias exibições menores e juntar as consultas no
relatório ou criar relacionamentos no modelo de dados.

Atualmente, o recurso de exibição de imagens suporta apenas imagens no


tamanho de miniaturas devido a uma limitação de tamanho de linha do Power BI.

Ao criar uma consulta usando os dados de Modelos, um máximo de 200


propriedades podem ser selecionadas.
Autodesk Construction Cloud
Artigo • 05/10/2023

7 Observação

O artigo a seguir sobre o conector é fornecido pela Autodesk, proprietária desse


conector e membro do Programa de certificação de conector do Microsoft Power
Query. Se tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações
neste artigo, visite o site da Autodesk e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Conta da Autodesk

Documentação de referência da função —

Pré-requisitos
Para usar o conector Autodesk Construction Cloud, você deve ter uma conta da
Autodesk com um nome de usuário e senha, e ter acesso à Visão geral executiva em
uma conta BIM360 ou ACC. Você também precisa executar manualmente uma extração
do Conector de Dados ou agendar as execuções das extrações para usar esse conector.
O conector extrai da última extração executada.

Funcionalidades com suporte


Importação
É compatível com servidores do Autodesk Construction Cloud dos EUA e da União
Europeia
Conectar-se aos dados do Autodesk
Construction Cloud
Para conectar-se aos dados do Autodesk Construction Cloud:

1. Selecione Obter Dados na faixa de opções Início no Power BI Desktop. Selecione


Serviços Online nas categorias à esquerda, selecione Autodesk Construction
Cloud e selecione Conectar.

2. Se esta for a primeira vez que você obtém dados por meio do conector do
Autodesk Construction Cloud, um aviso de visualização do conector será exibido.
Selecione Não mostrar alerta novamente para esse conector se você não quiser
que essa mensagem seja exibida novamente e, depois, selecione Continuar.

3. Selecione a região do servidor Autodesk (EUA ou UE) e selecione OK.

4. Para entrar na sua conta do Autodesk, selecione Entrar.

5. Na janela exibida do Autodesk, forneça suas credenciais para entrar na conta do


Autodesk.
6. Depois de entrar, selecione Conectar.

7. Em Navegador, expanda a conta da qual deseja extrair dados, que exibirá uma
pasta Extração de conta e uma pasta Extrações de projeto. A extração de conta
conterá a extração de dados da extração mais recente em nível de conta se você
tiver acesso adequado e tiver executado uma extração de dados em nível de conta.
As extrações de projeto conterão uma listagem de cada projeto na conta à qual
você tem acesso, que você poderá expandir para ver as tabelas relevantes nas
extrações desse projeto específico, caso tenha executado uma extração de dados.
8. Depois de navegar até a extração de conta ou projeto desejada, selecione as
tabelas desejadas e depois selecione Carregar para carregar os dados ou
Transformar dados para continuar transformando os dados no editor do Power
Query.
Conectar usando os modelos do Power BI
fornecidos pela Autodesk
Faça o download dos modelos mais recentes do Power BI aqui
https://construction.autodesk.com/templates/power-bi/ .
Somente os modelos com "... (Conector)..." no nome do arquivo estão
configurados para funcionar com esse conector.

Para usar os modelos do Power BI:

1. Abra um arquivo de modelo.

2. Forneça o nome da conta ACC e selecione a região do servidor.


7 Observação

O Nome da conta é o nome da conta ACC à qual você deseja se conectar,


não o nome da sua conta de usuário. Você pode encontrar o nome da conta
no portal Administração da conta, à direita da lista suspensa da Administração
da conta, ou em Configurações. O nome da conta também aparece na página
Insight (Conta), à direita da lista suspensa do Insight, no canto superior
esquerdo.

3. Se solicitado, siga as etapas 4 a 6 do procedimento anterior para entrar e se


conectar.

Limitações e problemas
Você deve estar ciente das seguintes limitações e problemas associados ao acesso aos
dados da Autodesk.

A Autodesk retornará um status de erro 404 se você não tiver nenhuma solicitação
nos últimos 30 dias.
Esse conector extrai dados da última execução de extração do Conector de dados
e não dos dados dinâmicos da conta.
Análise de dados do Automy (Beta)
Artigo • 05/10/2023

7 Observação

O artigo do conector a seguir é fornecido pelo ACEROYALTY, o proprietário deste


conector e membro do Programa de Certificação do Conector do Microsoft Power
Query. Se você tiver dúvidas sobre o conteúdo deste artigo ou tiver alterações que
gostaria de ver feitas neste artigo, visite o site da ACEROYALTY e use os canais de
suporte.

Resumo
Item Descrição

Estado da liberação Beta

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Token de Relatório de Mensagens Automáticas

Pré-requisitos
Antes de entrar no Automy Data Analytics, você deve ter um Token de Relatório de
Detecção Automática.

Funcionalidades com suporte


Importação

Conectar-se aos dados do Automy Data


Analytics
Para se conectar aos dados do Automy Data Analytics:
1. Selecione Obter Dados na faixa de opções Início no Power BI Desktop. Selecione
Serviços online nas categorias à esquerda, selecione Autonomy Data Analytics e
Conectar.

2. Se essa for a primeira vez que você estiver se conectando ao conector do Automy
Data Analytics, um aviso de terceiros será exibido. Selecione Não mostrar alerta
novamente para esse conector se você não quiser que essa mensagem seja
exibida novamente e, depois, selecione Continuar.

3. Entre no conector com a Chave de API para verificar o acesso ao Automy.


Depois que você conseguir, selecione Conectar.

4. Na janela Análise automática de dados exibida, selecione os parâmetros corretos


para preparar a conexão. Selecione o tipo de relatório e o tipo de dados e conclua
as informações do token e selecione Ok.

7 Observação

Você pode gerar um token de autenticação para relatórios usando a opção de


configuração no Automy.

5. Na caixa de diálogo Navegador, selecione as tabelas de Domínio Automático


desejadas. Em seguida, você pode carregar ou transformar os dados.
Se você estiver selecionando funções, selecione Transformar Dados para poder
adicionar parâmetros às funções selecionadas. Mais informações: Usar parâmetros

Limitações e problemas
Os usuários devem estar cientes das seguintes limitações e problemas associados ao
acesso a dados do Automy Data Analytics.
O Automy Data Analytics tem um limite interno de 100.000 linhas retornadas por
conexão.

O limite de taxa padrão para uma Automy Data Analytics Company é de 120
solicitações por minuto por usuário.

A importação do Automy Data Analytics interromperá e exibirá uma mensagem de erro


sempre que o conector do Automy Data Analytics atingir qualquer um dos limites
listados acima.

Para obter mais diretrizes sobre como acessar o Automy Data Analytics, entre em
contato com support@automy.global.

Erro de credencial no Navegador


Se ocorrer um erro de credencial no Navegador, desmarque as configurações recentes
da fonte de dados.

1. No Power BI Desktop, selecione Arquivo>Configurações da fonte de dados.

2. Selecione a fonte de dados e selecione Limpar permissões. Estabeleça a conexão


com a navegação novamente.
Banco de Dados do Azure Analysis
Services
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Dynamics 365 Customer Insights

Tipos de autenticação compatíveis Basic


Conta Microsoft
Conta organizacional
Windows

Referência da função M AnalysisServices.Database


AnalysisServices.Databases

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Uma assinatura do Azure. Acesse Obter uma avaliação gratuita do Azure .

Um servidor do Analysis Services do Azure. Siga as instruções em Início Rápido:


Criar um servidor - Portal para criar o servidor usando o portal do Azure. Outros
artigos nesta seção também incluem informações sobre a criação de um servidor
utilizando PowerShell, Bicep ou um modelo Azure Resource Manager (ARM). Este
artigo do conector pressupõe que você já criou um servidor Azure Analysis
Services e tem um banco de dados existente no servidor.
Funcionalidades com suporte
Importação
Conectar em tempo real (Power BI Desktop)
Opções avançadas
Consulta MDX ou DAX

Conecte-se ao banco de dados do Azure


Analysis Services no Power Query Desktop
Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção Banco de Dados do Azure Analysis Services na seleção do


conector. Mais informações: Locais para obter dados

2. Na caixa de diálogo Banco de dados do SQL Server Analysis Services exibida,


forneça o nome do servidor e do banco de dados (opcional).

7 Observação

Somente o Power BI Desktop exibirá as opções Importar e Conectar em


tempo real. Se você estiver se conectando usando o Power BI Desktop, a
seleção de Conectar em tempo real usará uma conexão em tempo real para
carregar os dados conectados diretamente no Power BI Desktop. Nesse caso,
você não poderá usar o Power Query para transformar seus dados antes de
carregá-los no Power BI Desktop. Para os fins deste artigo, a opção Importar
está selecionada. Para obter mais informações sobre como usar uma conexão
em tempo real no Power BI Desktop, acesse Conectar dados tabulares do
Analysis Services no Power BI Desktop.
3. Selecione OK.

4. Se você estiver se conectando a esse banco de dados pela primeira vez, selecione
o tipo de autenticação e insira suas credenciais. Depois, selecione Conectar.

5. No Navegador, selecione as informações desejadas do banco de dados e


selecione Carregar para carregar os dados ou Transformar dados para continuar
transformando os dados no editor do Power Query.

Conecte-se ao banco de dados do Azure


Analysis Services no Power Query Online
Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção Banco de Dados do Azure Analysis Services na seleção do


conector. Mais informações: Locais para obter dados
2. Na página Conectar à fonte dados, forneça o nome do servidor e do banco de
dados (opcional).

3. Se necessário, selecione um gateway de dados local.

4. Se você estiver se conectando a esse banco de dados pela primeira vez, selecione
o tipo de autenticação e insira suas credenciais.

5. Selecione Avançar para continuar.

6. No Navegador, selecione os dados necessários e Transformar dados.


Conectar usando opções avançadas


O Power Query tem uma opção avançada que você pode adicionar à sua consulta, se
necessário.

Opção Descrição
avançada

Instrução MDX Opcionalmente, fornece uma instrução MDX ou DAX específica para o servidor
ou DAX de banco de dados do Azure Analysis Services executar.

Depois de inserir um valor na opção avançada, selecione OK no Power Query Desktop


ou Avançar no Power Query Online para se conectar ao banco de dados do Azure
Analysis Services.

Solução de problemas

Erro indica “credenciais inválidas”


Se você habilitou o firewall no Azure Analysis Services e está recebendo um erro de
“credenciais inválidas”, talvez seja necessário colocar na lista de permissões os
endereços IP dos clusters do Power Query Online, mesmo que você tenha permitido o
acesso do serviço Power BI no firewall do servidor Azure Analysis Services.
Para permitir os clusters do Power Query Online, baixe os intervalos IP do Azure e as
marcas de serviço no Microsoft Download Center . Você precisará colocar os
endereços IP na lista de permissões da marca de serviço PowerQueryOnline. Para obter
mais informações sobre como configurar o firewall do servidor, acesse Início Rápido:
Configurar firewall do servidor – Portal.
Armazenamento de Blobs do Azure
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365
Analysis Services

Tipos de autenticação compatíveis Anônima


Chave de conta
Conta organizacional
Assinatura de acesso compartilhado (SAS)

Documentação de referência da função AzureStorage.BlobContents


AzureStorage.Blobs

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Uma assinatura do Azure. Acesse Obter uma avaliação gratuita do Azure .

Uma conta de Armazenamento de Blobs do Azure. Siga as instruções em Criar uma


conta de armazenamento. Este artigo pressupõe que você já criou uma conta de
Armazenamento de Blobs do Azure e carregou arquivos de dados para ela.

7 Observação

Se você estiver se conectando a uma conta do Armazenamento de Blobs do Azure


no Power BI, a conta de armazenamento de Blobs do Azure deverá estar na mesma
região que sua conta do Power BI.

Funcionalidades com suporte


Importação

Conectar-se ao Armazenamento de Blobs do


Azure usando o Power Query Desktop
Para se conectar ao Armazenamento de Blobs do Azure:

1. Em Obter dados, selecione a categoria Azure, selecione Armazenamento de Blobs


do Azure e depois selecione Conectar. Mais informações: Locais para obter dados
2. Em Armazenamento de Blobs do Azure, insira o nome da conta ou a URL da sua
conta do Armazenamento de Blobs do Azure. Depois, selecione OK.

3. Se esta for a primeira vez que você se conecta a esta conta, selecione o método de
autenticação Anônimo ou Chave de conta para entrar na conta do
Armazenamento de Blobs do Azure. Mais informações: Copiar a chave da sua
conta do Armazenamento de Blobs do Azure

Para obter mais informações sobre como usar e gerenciar a autenticação, acesse
Autenticação com uma fonte de dados.

7 Observação

Se estiver entrando no Excel, você também poderá selecionar o método de


autenticação de assinatura de acesso compartilhado (SAS).

4. Selecione Conectar.

5. A caixa de diálogo Navegador mostra os arquivos que você carregou na sua conta
do Armazenamento de Blobs do Azure. Selecione os contêineres que deseja usar e
escolha Transformar dados para transformar os dados no Power Query ou
Carregar para carregar os dados.

Conectar-se ao Armazenamento de Blobs do


Azure usando o Power Query Online
Para se conectar ao Armazenamento de Blobs do Azure:

1. Em Escolher a fonte de dados, selecione a categoria do Azure e selecione Azure


Blobs.

2. Em Configurações de conexão, insira o nome da conta ou a URL da sua conta do


Armazenamento de Blobs do Azure.

3. Se preferir, insira o nome do gateway de dados local necessário.


4. Selecione o Tipo de autenticação usado para acessar seu armazenamento de
blobs. Se você definiu o armazenamento de blobs para acesso anônimo, escolha
Anônimo. Se você definir o armazenamento de blobs para exigir uma chave de
conta, escolha Chave de conta. Mais informações: Copiar a chave da sua conta do
Armazenamento de Blobs do Azure

Para obter mais informações sobre como usar e gerenciar a autenticação, acesse
Autenticação com uma fonte de dados.

5. Selecione Avançar.

6. A tela Navegador mostra os arquivos que você carregou na sua conta do


Armazenamento de Blobs do Azure. Selecione os contêineres que deseja usar e
selecione Transformar dados.

Copiar a chave da sua conta do


Armazenamento do Blobs do Azure
Para recuperar a chave da conta do Armazenamento de Blobs do Azure para usar ao
autenticar sua conta no Power Query:

1. Entre no portal do Azure .

2. Localize sua conta do Armazenamento de Blobs do Azure.

3. No painel do menu da conta de armazenamento, em Segurança + rede, selecione


Chaves de acesso.

4. Na seção key1, localize o valor Key. Selecione Mostrar ao lado do valor-chave.

5. Selecione o ícone Copiar para a área de transferência para copiar o valor Key.
Azure Cosmos DB v2 (Beta)
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Beta

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Tecla de Feed

Pré-requisitos
Uma conta do Azure Cosmos DB .

Funcionalidades com suporte


Importação
DirectQuery (conjuntos de dados do Power BI)
Opções avançadas
Número de repetições
Habilitar transmissão da função "AVERAGE"
Habilitar transmissão "SORT" para várias colunas

Conectar-se ao Azure Cosmos DB


Para se conectar aos dados do Azure Cosmos DB:

1. Inicie o Power BI Desktop.

2. Na guia Página Inicial, selecione Obter Dados.

3. Na caixa de pesquisa, insira Cosmos DB v2.

4. Selecione Azure Cosmos DB v2 (Beta) e depois Conectar.


5. Na página de conexão do Azure Cosmos DB v2, de Ponto de extremidade do
Cosmos, insira o URI da conta do Azure Cosmos DB que você deseja usar. Para o
modo de Conectividade de Dados, escolha um modo apropriado para seu caso de
uso, seguindo estas diretrizes gerais:

Para conjuntos de dados menores, escolha Importar. Ao usar o modo de


importação, o Power BI funciona com o Cosmos DB para importar o
conteúdo de todo o conjunto de dados para uso em suas visualizações.

O modo DirectQuery habilita o pushdown de consulta para o contêiner do


Cosmos DB para execução e melhora o desempenho do conector. Para
contêineres do Cosmos DB particionados, uma consulta SQL com uma função
agregada será transmitida ao Cosmos DB se a consulta também contiver um
filtro (cláusula WHERE) na chave de partição. Por exemplo, se a chave de
partição for definida como "Produto", uma consulta SQL que pode ser
transmitida e executada no servidor Cosmos DB pode ser:

SELECT SUM(ColumnName) FROM TableName where Product = 'SampleValue'

7 Observação

Use o Link do Azure Synapse para Azure Cosmos DB se você quiser executar
funções agregadas particionadas cruzadas no contêiner do Cosmos DB.

Mais informações:

Modos de conjunto de dados no serviço Power BI

Usar o DirectQuery no Power BI Desktop


6. No prompt para configurar a autenticação da fonte de dados, insira a chave da
conta. Depois, selecione Conectar. Seu catálogo de dados, bancos de dados e
tabelas aparecem na caixa de diálogo Navegador.

7. No painel Opções de Exibição, marque a caixa de seleção para o conjunto de


dados que você deseja usar.

8. A melhor maneira de especificar o filtro da chave de partição (para que as funções


agregadas possam ser enviadas para o Cosmos DB) é usar os parâmetros M
dinâmicos. Para usar parâmetros M dinâmicos, você precisa criar um conjunto de
dados com valores de chave de partição exclusivos, criar um parâmetro, adicioná-
lo como filtro no conjunto de dados principal, vinculá-lo ao conjunto de dados de
chave de partição exclusivo e usá-lo como uma segmentação de dados para o
conjunto de dados principal. Use as etapas a seguir para habilitar parâmetros M
dinâmicos para filtragem de chave de partição.
a. Crie um conjunto de dados com valores de chave de partição exclusivos:

No Navegador, selecione Transformar dados em vez de Carregar para abrir o


editor do Power Query. Clique com o botão direito no conjunto de dados
Consultas e selecione Duplicar para criar um conjunto de dados.

Renomeie o novo conjunto de dados da chave de partição e clique com o botão


direito na coluna Chave de partição do Cosmos DB. Neste exemplo, Produto é a
coluna Chave de partição do Cosmos DB. Selecione Remover Outras Colunas e
depois Remover Duplicatas.

b. Crie um parâmetro para filtragem dinâmica:

No editor do Power Query, selecione Gerenciar Parâmetros>Novo parâmetro.


Renomeie o novo parâmetro para refletir o parâmetro de filtro e insira um valor
válido como Valor Atual.

c. Aplique filtro parametrizado no conjunto de dados principal:

Selecione o ícone suspenso da coluna Chave de partição e selecione Filtros de


Texto>É igual a. Altere o tipo de filtro de Texto para Parâmetro. Em seguida,
escolha o parâmetro que foi criado na etapa b. Selecione Fechar & Aplicar no
canto superior esquerdo do editor do Power Query.

d. Crie uma segmentação de valores de chave de partição com vinculação de


parâmetro:

No Power BI, selecione a guia Modelo. Depois, selecione o campo Chave de


partição. No painel Propriedades, selecione Avançado>Associar ao parâmetro.
Escolha o parâmetro que foi criado na etapa b.

Selecione a guia Relatório e adicione uma segmentação com a chave de partição


exclusiva.
e. Adicione visualizações e aplique o filtro da chave de partição da segmentação
de dados:

Como o valor da chave de partição escolhida na segmentação de dados está


vinculado ao parâmetro (como feito na etapa d) e o filtro parametrizado é aplicado
no conjunto de dados principal (como feito na etapa c), o valor da chave de
partição escolhida será aplicado como um filtro no conjunto de dados principal e a
consulta com o filtro de chave de partição será transmitida ao Cosmos DB em
todas as visualizações.

Opções avançadas
O Power Query tem um conjunto de opções avançadas que você pode adicionar à sua
consulta, se necessário.

A tabela a seguir lista todas as opções avançadas que você pode definir no Power
Query.

Opção Descrição
avançada

Número de Quantidade de tentativas se houver códigos de retorno HTTP de 408 - Request


repetições Timeout , 412 - Precondition Failed ou 429 - Too Many Requests . O número
padrão de novas tentativas é 5.

Habilitar Especifica se o conector permite a transmissão da função agregada do AVG para


transmissão o Cosmos DB. O valor padrão é 1 e o conector tenta transmitir a função
da função agregada do AVG para o Cosmos DB, por padrão. Se o argumento contiver
AVERAGE valores de string, booleanos ou nulos para a função agregada do AVG, um
conjunto de resultados indefinido será retornado pelo servidor Cosmos DB.
Quando definida com o valor 0, a função agregada do AVG não é transmitida ao
servidor Cosmos DB e o conector realiza a própria operação de agregação do
AVG.

Habilitar Especifica se o conector permite que várias colunas sejam transmitidas ao


transmissão Cosmos DB quando especificado na cláusula ORDER BY da consulta SQL. O valor
SORT para padrão é 0 e se mais de uma coluna for especificada na cláusula ORDER BY, o
várias colunas conector não transmite as colunas por padrão e, em vez disso, executa a ordem
sozinho. Quando definido com o valor 1, o conector tenta transmitir várias
colunas para o Cosmos DB quando especificado na cláusula ORDER BY da
Opção Descrição
avançada

consulta SQL. Para permitir que várias colunas sejam transmitidas ao Cosmos DB,
verifique se há índices compostos definidos nas colunas nas respectivas coleções.
Para coleções particionadas, uma consulta SQL com ORDER BY será transmitida
ao Cosmos DB somente se a consulta contiver um filtro na chave particionada.
Além disso, se houver mais de oito colunas especificadas na cláusula ORDER BY,
o conector não transmitirá a cláusula ORDER BY e, em vez disso, tratará a própria
execução da ordem.

Limitações e problemas conhecidos


Para contêineres do Cosmos DB particionados, uma consulta SQL com uma função
agregada será transmitida ao Cosmos DB se a consulta também contiver um filtro
(cláusula WHERE) na chave de partição. Se a consulta agregada não contiver um
filtro na chave de partição, a agregação será realizada pelo conector.

O conector não transmite uma função agregada se for chamado após a aplicação
de TOP ou LIMIT. O Cosmos DB processa a operação TOP no final ao processar
uma consulta. Por exemplo, na consulta a seguir, TOP é aplicado na subconsulta,
enquanto a função agregada é aplicada sobre esse conjunto de resultados:

SELECT COUNT(1) FROM (SELECT TOP 4 * FROM EMP) E

Se DISTINCT for fornecido em uma função agregada, o conector não transmite a


função agregada para o Cosmos DB se uma cláusula DISTINCT for fornecida em
uma função agregada. Quando presente em uma função agregada, DISTINCT não
é compatível com a API SQL do Cosmos DB.

Para a função agregada SUM, o Cosmos DB retorna indefinido como o conjunto de


resultados se algum dos argumentos em SUM for string, booliano ou nulo.
Contudo, se existirem valores nulos, o conector transmite a consulta para o
Cosmos DB de modo a solicitar à fonte de dados que substitua um valor nulo por
zero como parte do cálculo SUM.

Para a função agregada AVG, o Cosmos DB retorna indefinido como o conjunto de


resultados se algum dos argumentos em SUM for string, booliano ou nulo. O
conector expõe uma propriedade de conexão para desabilitar a transmissão da
função agregada do AVG para o Cosmos DB caso esse comportamento padrão do
Cosmos DB precise ser substituído. Quando a transmissão do AVG está
desabilitada, ela não é transmitida ao Cosmos DB e o conector realiza a própria
operação de agregação do AVG. Para obter mais informações, acesse "Habilitar
transmissão da função AVERAGE" em Opções avançadas.
Atualmente, não há suporte para contêineres do Azure Cosmos DB com chave de
partição grande no conector.

A transmissão de agregação está desabilitada para a seguinte sintaxe por


limitações do servidor:

Quando a consulta não está filtrando uma chave de partição ou quando o filtro
de chave de partição usa o operador OR com outro predicado no nível superior
na cláusula WHERE.

Quando a consulta tem uma ou mais chaves de partição, elas aparecem em


uma cláusula IS NOT NULL na cláusula WHERE.

A transmissão de filtro está desabilitada para a seguinte sintaxe devido a


limitações do servidor:
Quando a consulta contendo uma ou mais colunas agregadas é referenciada na
cláusula WHERE.
Gerenciamento de Custos do Azure
Artigo • 13/07/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (Dataflow Gen2)

Tipos de autenticação compatíveis Conta organizacional

Documentação de referência da função —

7 Observação

Esse conector substitui os conectores do Azure Consumption Insights e do


Gerenciamento de Custos do Azure (beta) anteriormente disponíveis. Relatórios
criados com o conector anterior devem ser recriados usando esse conector.

Pré-requisitos
Uma assinatura do Azure. Acesse Obter uma avaliação gratuita do Azure .

Um Contrato de Cliente da Microsoft direto ou um EA (Contrato Enterprise).

Funcionalidades com suporte


Importar
Opções Avançadas
Data de Início
Data de Término

Conectar-se ao Gerenciamento de Custos do


Azure desde o Power Query Desktop
Para se conectar-se ao Gerenciamento de Custos do Azure:

1. Na faixa de opções Página Inicial, selecione Obter Dados.

2. Selecione a opção Azure na lista de categorias de dados.

3. Selecione Gerenciamento de Custos do Azure.

4. No diálogo exibido, para a lista suspensa Escolher Escopo, use o Escopo de


Entrada Manual para Contratos de Cliente da Microsoft ou use o Número de
Registro para Contratos Empresariais (EA).

Conectar-se a uma conta do contrato de cliente


da Microsoft
Esta seção descreve as etapas necessárias para se conectar a uma conta do Contrato de
Cliente da Microsoft.

Conectar-se a uma conta de cobrança


Para se conectar a uma conta de cobrança, você precisará recuperar a ID da conta de
cobrança do portal do Azure:

1. No portal do Azure , navegue para Gerenciamento de Custos + Cobrança.

2. Selecione seu perfil de cobrança.

3. No menuConfigurações, selecione Propriedades na barra lateral.

4. Em Perfil de cobrança, copie a ID.


5. Em Escolher Escopo, selecione Escopo de Entrada Manual e insira a cadeia de
conexão, conforme mostrado no exemplo abaixo, substituindo {billingAccountId}
pelos dados copiados das etapas anteriores.

/providers/Microsoft.Billing/billingAccounts/{billingAccountId}

Como alternativa, para Escolher o Escopo, selecione Número de Registro e insira a


cadeia de caracteres da ID da Conta de Cobrança, conforme copiado das etapas
anteriores.

6. Insira o número de meses e selecione OK .

Como alternativa, se você quiser baixar menos de um mês de dados, poderá


definir o Número de meses como zero e especificar um intervalo de datas usando
valores de Data de Início e Data de Término que equivalem a menos de 31 dias.

7. Quando solicitado, entre com sua conta de usuário e senha do Azure. Você precisa
ter acesso ao escopo da conta de cobrança para acessar os dados de cobrança
com êxito.

Conectar-se a um perfil de cobrança


Para se conectar a um perfil de cobrança, você precisará recuperar a ID do perfil de
cobrança e a ID da conta de cobrança do portal do Azure:

1. No portal do Azure , navegue para Gerenciamento de Custos + Cobrança.

2. Selecione seu perfil de cobrança.


3. No menuConfigurações, selecione Propriedades na barra lateral.

4. Em Perfil de cobrança, copie a ID.

5. Em Conta de cobrança, copie a ID.

6. Em Escolher Escopo, selecione Escopo de Entrada Manual e insira a cadeia de


conexão, conforme mostrado no exemplo abaixo, substituindo {billingAccountId} e
{billingProfileId} pelos dados copiados das etapas anteriores.

/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfile

s/{billingProfileId}

7. Insira o número de meses e selecione OK .

8. Quando solicitado, entre com sua conta de usuário e senha do Azure. Você precisa
ter acesso ao perfil de cobrança para acessar os dados do perfil de cobrança com
êxito.

Conectar-se a uma conta de Contrato


Agreement
Para se conectar com uma conta de Contrato Enterprise (EA), você pode obter sua ID de
registro do portal do Azure:

1. No portal do Azure , navegue para Gerenciamento de Custos + Cobrança.

2. Selecione sua conta de cobrança.

3. No menu Visão geral, copie a ID da conta de cobrança.

4. Para Escolher Escopo , selecione Número de Inscrição e cole a ID da conta de


cobrança da etapa anterior.

5. Insira o número de meses e, em seguida, selecione OK .

6. Quando solicitado, entre com sua conta de usuário e senha do Azure. Será
necessário usar uma conta de Administrador Corporativo para acessar Contratos
Enterprise.

Dados disponíveis por meio do conector


Após a autenticação bem-sucedida, uma janela Navegador aparece com as seguintes
tabelas de dados disponíveis:

Table Descrição

Resumo de saldo Resumo do saldo do mês de cobrança atual dos Contratos


Empresariais (EA).
Table Descrição

Eventos de cobrança Um log de eventos de novas faturas, compras de crédito etc.


Somente contrato com o cliente da Microsoft.

Orçamentos Detalhes sobre o orçamento para ver os custos reais ou uso em


relação às metas de orçamento existentes.

Charges Um resumo mensal do uso do Azure, encargos do marketplace e


encargos cobrados separadamente. Somente contrato com o cliente
da Microsoft.

Lotes de crédito Detalhes da compra de lote do crédito Azure para o perfil de


cobrança fornecido. Somente contrato com o cliente da Microsoft.

Pricesheets Taxas de medição aplicáveis para o perfil de cobrança fornecido ou a


inscrição no EA.

Encargos de RI Encargos associados às suas Instâncias Reservadas nos últimos 24


meses. Esta tabela está sendo preterida, use transações de RI

Recomendações de RI Recomendações de compra de Instância Reservada com base em


(compartilhadas) todas as tendências de uso da sua assinatura nos últimos 30 dias.

Recomendação de RI Recomendações de compra de Instância Reservada com base nas


(única) suas tendências de uso de assinatura única nos últimos 30 dias.

Transações de RI Lista de transações para instâncias reservadas no escopo da conta


de cobrança.

Detalhes de uso de RI Detalhes de consumo para suas Instâncias Reservadas existentes no


último mês.

Resumo de uso de RI Porcentagem diária de uso de reserva do Azure.

Detalhes de uso Um detalhamento das quantidades consumidas e dos encargos


estimados para o perfil de cobrança fornecido no registro do EA.

Detalhes de uso Um detalhamento das quantidades consumidas e dos encargos


amortizados amortizados estimados para a ID do perfil de cobrança fornecida.

Selecione uma tabela para ver uma visualização da caixa de diálogo. Selecione uma ou
mais tabelas marcando as caixas ao lado de seu nome. Selecione Carregar para carregar
os dados ou Transformar dados para continuar transformando os dados no Editor do
Power Query.
Quando você seleciona Carregar, os dados são carregados no Power BI Desktop.

Quando os dados selecionados são carregados, as tabelas de dados e os campos são


mostrados no painel Campos.

Considerações e limitações
As seguintes considerações e limitações se aplicam ao conector Gerenciamento de
Custos do Azure:

O conector de Gerenciamento de Custos do Azure não dá suporte a Contratos de


Cliente da Microsoft pago conforme o uso ou contratos indiretos de clientes da
Microsoft. Também não há suporte para Contratos de Parceiro da Microsoft. Se
você tiver um contrato sem suporte, poderá usar Exportações para salvar os dados
de custo em um compartilhamento e, em seguida, conectar-se a ele usando o
Power BI. Mais informações: Tutorial – Criar e gerenciar dados exportados do
Gerenciamento de Custos do Azure

O conector do Gerenciamento de Custos do Azure usa o OAuth 2.0 para


autenticação com o Azure e identifica os usuários que usarão o conector. Os
tokens gerados nesse processo são válidos por um período específico. O Power BI
preserva o token para o próximo logon. O OAuth 2.0 é um padrão para o processo
que ocorre nos bastidores para garantir o tratamento seguro dessas permissões.
Para se conectar, você precisa usar uma conta de Administrador Corporativo para
Contratos Enterprise ou ter permissões apropriadas nos níveis de conta de
cobrança ou perfil de cobrança para Contratos de Cliente da Microsoft.

Solicitações de linha de dados que excedam um milhão de linhas não são


suportadas pelo Power BI. Em vez disso, você pode tentar usar o recurso de
exportação descrito na criação e gerenciamento de dados exportados no
Gerenciamento de Custos do Azure.

O conector de dados do Gerenciamento de Custos do Azure não funciona com


contas de clientes GCC do Office 365.

Atualização de dados: os dados de custo e de uso normalmente são atualizados e


disponíveis no portal do Azure e as APIs de suporte dentro de 8 a 24 horas,
portanto, sugerimos que você restrinja as atualizações agendadas do Power BI
para uma ou duas vezes por dia.

Reutilização da fonte de dados: se você tiver vários relatórios que estão extraindo
os mesmos dados e não precisar de transformações de dados específicas de
relatório adicionais, você deverá reutilizar a mesma fonte de dados, o que reduziria
o tempo necessário para extrair os dados de Detalhes de Uso.

Para saber mais sobre a reutilização de fontes de dados, consulte:


Introdução a conjuntos de dados entre workspaces
Criar relatórios com base em conjuntos de dados de diferentes workspaces

Se você escolher um parâmetro de data maior que três meses, ao tentar atualizar os
dados, ocorrerá um erro 400 bad request vindo dos detalhes de uso da instância
reservada (RI). Para corrigir o erro, realize as seguintes etapas:

1. No Power BI Desktop, selecione Página Inicial > Transformar dados.

2. No Editor do Power Query, selecione o conjunto de dados RI usage details e


selecione Editor Avançado.

3. Atualize o código do Power Query conforme mostrado nos parágrafos a seguir,


dividindo as chamadas em partes de três meses. Anote e guarde o seu número de
registro ou a ID do perfil de cobrança/conta de cobrança.

No EA, use a seguinte atualização de código:

Power Query M
let
enrollmentNumber = "<<Enrollment Number>>",
optionalParameters1 = [startBillingDataWindow = "-9",
endBillingDataWindow = "-6"],
source1 = AzureCostManagement.Tables("Enrollment Number",
enrollmentNumber, 5, optionalParameters1),
riusagedetails1 = source1{[Key="riusagedetails"]}[Data],
optionalParameters2 = [startBillingDataWindow = "-6",
endBillingDataWindow = "-3"],
source2 = AzureCostManagement.Tables("Enrollment Number",
enrollmentNumber, 5, optionalParameters2),
riusagedetails2 = source2{[Key="riusagedetails"]}[Data],
riusagedetails = Table.Combine({riusagedetails1, riusagedetails2})
in
riusagedetails

Em Contratos de Cliente da Microsoft, use a seguinte atualização:

Power Query M

let
billingProfileId = "<<Billing Profile Id>>",
optionalParameters1 = [startBillingDataWindow = "-9",
endBillingDataWindow = "-6"],
source1 = AzureCostManagement.Tables("Billing Profile Id",
billingProfileId, 5, optionalParameters1),
riusagedetails1 = source1{[Key="riusagedetails"]}[Data],
optionalParameters2 = [startBillingDataWindow = "-6",
endBillingDataWindow = "-3"],
source2 = AzureCostManagement.Tables("Billing Profile Id",
billingProfileId, 5, optionalParameters2),
riusagedetails2 = source2{[Key="riusagedetails"]}[Data],
riusagedetails = Table.Combine({riusagedetails1, riusagedetails2})
in
riusagedetails

4. Depois de atualizar o código com a atualização apropriada da etapa anterior,


selecione Concluído e clique em Fechar e &Aplicar.
Azure Databricks
Artigo • 05/10/2023

7 Observação

O artigo de conector a seguir é fornecido pela Databricks, proprietária desse


conector e membro do Programa de Certificação do Conector do Microsoft Power
Query. Se tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações
neste artigo, visite o site da Databricks e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Azure Active Directory


Conta organizacional
Token de acesso pessoal

Funcionalidades com suporte


Importação
DirectQuery (conjuntos de dados do Power BI)

Conectar-se ao Databricks (AWS, Azure ou


GCP) do Power Query Desktop
Para conectar ao Databricks do Power Query Desktop, execute as seguintes etapas:

1. Na experiência de Obter Dados, procure Databricks para mostrar uma pequena


lista do conector Databricks, Azure Databricks. Use o conector Azure Databricks
para todos os dados do SQL Warehouse do Databricks, a menos que você tenha
sido instruído de outra forma pelo representante do Databricks.
2. Forneça o Nome do host do servidor e o Caminho HTTP para o SQL Warehouse
do Databricks. Consulte Configurar os drivers ODBC e JDBC do Databricks para
obter instruções sobre como procurar seu "Nome do host do servidor" e "Caminho
HTTP". Insira essas informações corretamente. Como opção, você pode fornecer
um catálogo e/ou banco de dados padrão em Opções avançadas. Selecione OK
para continuar.

3. Forneça suas credenciais para autenticar com o SQL Warehouse do Databricks. Há


três opções de credenciais:

Nome de usuário/Senha (utilizável para AWS ou GCP). Essa opção não está
disponível se sua organização/conta usa 2FA/MFA.

Token de Acesso Pessoal (utilizável para AWS, Azure ou GCP). Consulte


Tokens de acesso pessoal para obter instruções sobre como gerar um PAT
(Token de Acesso Pessoal).
Azure Active Directory (utilizável apenas para o Azure). Entre em sua conta
organizacional usando o pop-up do navegador.

7 Observação

Depois de inserir suas credenciais para um SQL Warehouse do Databricks


específico, o Power BI Desktop armazena em cache e reutiliza essas mesmas
credenciais em tentativas de conexão subsequentes. Você pode modificar
essas credenciais indo até Arquivo > Opções e configurações >
Configurações de fonte de dados. Mais informações: Alterar o método de
autenticação

4. Depois que você se conecta com êxito, o Navegador mostra os dados disponíveis
para você no cluster. Você pode escolher Transformar Dados para transformar os
dados usando o Power Query ou Carregar para carregar os dados no Power Query
Desktop.
Conectar aos dados do Databricks do Power
Query Online
Para conectar ao Databricks do Power Query Online, execute as seguintes etapas:

1. Na experiência de Obter Dados, selecione a categoria Banco de Dados. (Consulte


Criando um fluxo de dados para obter instruções.) Crie uma pequena lista dos
conectores Databricks disponíveis com a caixa de pesquisa. Use o conector Azure
Databricks para todos os dados do SQL Warehouse do Databricks, a menos que
você tenha sido instruído de outra forma pelo representante do Databricks.
2. Insira o Nome do host do servidor e o Caminho HTTP para o SQL Warehouse do
Databricks. Consulte Configurar os drivers ODBC e JDBC do Databricks para obter
instruções sobre como procurar seu "Nome do host do servidor" e "Caminho
HTTP". Como opção, você pode fornecer um catálogo e/ou banco de dados
padrão em Opções avançadas.

3. Forneça suas credenciais para autenticar com o SQL Warehouse do Databricks. Há


três opções de credenciais:

Nome de usuário/Senha (utilizável para AWS ou GCP). Essa opção não está
disponível se sua organização/conta usa 2FA/MFA.
Chave de Conta (utilizável para AWS, Azure ou GCP). Consulte Tokens de
acesso pessoal para obter instruções sobre como gerar um PAT (Token de
Acesso Pessoal).
Azure Active Directory (utilizável apenas para o Azure). Entre em sua conta
organizacional usando o pop-up do navegador.

4. Depois que você se conecta com êxito, o Navegador aparece e exibe os dados
disponíveis no servidor. Selecione os dados no navegador. Em seguida, selecione
Avançar para transformar os dados no Power Query.

Limitações
O conector do Azure Databricks dá suporte ao proxy Web. No entanto, não há
suporte para configurações automáticas de proxy definidas em arquivos .pac.
No conector do Azure Databricks, não há suporte para a fonte de dados
Databricks.Query combinada ao modo DirectQuery do conjunto de dados do

Power BI.
Azure Data Explorer (Kusto)
Artigo • 13/07/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (Dataflow Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365

Tipos de autenticação compatíveis Conta organizacional

Documentação de referência da função —

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Uma assinatura do Azure. Acesse Obter uma avaliação gratuita do Azure .

Uma conta de email organizacional que seja membro do Azure Active Directory.
Este artigo usa essa conta para se conectar aos exemplos de cluster de ajuda do
Azure Data Explorer .

Funcionalidades com suporte


Importar
DirectQuery (conjuntos de dados do Power BI)
Opções Avançadas
Limitar o número de registros de resultado de consulta
Limitar o tamanho dos dados do resultado da consulta em Bytes
Desabilitar o truncamento do conjunto de resultados
Instruções de definição adicionais

Conectar ao Data Explorer do Azure do Power


Query Desktop
Para se conectar ao Data Explorer do Azure do Power Query Desktop:

1. Em Obter Dados, selecione Azure>Azure Data Explorer (Kusto) e selecione


Conectar. Mais informações: Locais para obter dados

2. No Azure Data Explorer (Kusto), forneça o nome do cluster de Data Explorer do


Azure. Para este exemplo, use https://help.kusto.windows.net para acessar o
cluster de ajuda de exemplo. Para outros clusters, a URL está no formato
https://<ClusterName>.<Região>.kusto.windows.net.

Você também pode selecionar um banco de dados hospedado no cluster ao qual


você está se conectando e uma das tabelas no banco de dados ou uma consulta
como StormEvents | take 1000 .

3. Se você quiser usar qualquer opção avançada, selecione a opção e insira os dados
a serem usados com essa opção. Mais informações: Conectar usando opções
avançadas

7 Observação

Talvez seja necessário rolar para baixo para exibir todas as opções avançadas
e a seleção de conectividade de dados.

4. Selecione o modo de conectividade de dados Importar ou DirectQuery (somente


Power BI Desktop). Mais informações: Quando usar o modo de Importação ou
Consulta Direta

5. Selecione OK para continuar.


6. Caso ainda não tenha uma conexão para o cluster de ajuda, selecione Entrar. Entre
com uma conta organizacional, depois selecione Conectar.

7. No Navegador, selecione as informações desejadas do banco de dados e


selecione Carregar para carregar os dados ou Transformar dados para continuar
transformando os dados no editor do Power Query. Neste exemplo, StormEvents
foi selecionado no banco de dados Exemplos.

Conectar-se ao Data Explorer do Azure do


Power Query Online
Para se conectar ao Data Explorer do Azure do Power Query Online:

1. Selecione a opção Azure Data Explorer (Kusto) na fonte de dados Choose. Mais
informações: Locais para obter dados
2. Em Conectar-se à fonte de dados, forneça o nome do cluster de Data Explorer do
Azure. Para este exemplo, use https://help.kusto.windows.net para acessar o
cluster de ajuda de exemplo. Para outros clusters, a URL está no formato
https://<ClusterName>.<Região>.kusto.windows.net.

Você também pode selecionar um banco de dados hospedado no cluster ao qual


você está se conectando e uma das tabelas no banco de dados ou uma consulta
como StormEvents | take 1000 .

3. Se você quiser usar qualquer opção avançada, selecione a opção e insira os dados
a serem usados com essa opção. Mais informações: Conectar usando opções
avançadas

4. Se necessário, selecione o gateway de dados local em Gateway de dados.

5. Caso ainda não tenha uma conexão para o cluster de ajuda, selecione Entrar.
Entrar com uma conta organizacional

6. Depois de entrar, selecione Avançar.


7. Na página Escolher dados, selecione as informações desejadas do banco de dados
e selecione Carregar para carregar os dados ou Transformar dados para continuar
transformando os dados no editor do Power Query. Neste exemplo, StormEvents
foi selecionado no banco de dados Exemplos.

Conectar usando opções avançadas


Tanto o Power Query Desktop quanto o Power Query Online fornecem um conjunto de
opções avançadas que você pode adicionar à sua consulta, se necessário.

A tabela a seguir lista todas as opções avançadas que você pode definir no Power Query
Desktop e no Power Query Online.

Opção avançada Descrição

Limitar o número de O número máximo de registros a serem retornados no resultado.


registros de resultado de
consulta

Limitar o tamanho dos O tamanho máximo dos dados em bytes a serem retornados no
dados do resultado da resultado.
consulta em Bytes

Desabilitar o truncamento Desabilitar o truncamento de resultados usando a opção de


do conjunto de solicitação notruncation .
resultados

Instruções de definição Define as opções de consulta para a duração da consulta. As opções


adicionais de consulta controlam como uma consulta será executada e como
Opção avançada Descrição

retornará resultados. Várias instruções de definição podem ser


separadas por ponto e vírgula.

Para obter informações sobre opções avançadas adicionais não disponíveis na interface
do usuário do Power Query, acesse Configurar opções de conector do Azure Data
Explorer em uma consulta M.

Quando usar o modo de Importação ou


Consulta Direta
No modo de Importação, os dados são movidos para o Power BI. No modo DirectQuery,
os dados são consultados diretamente do seu cluster.

Use o modo de Importação quando:

O conjunto de dados é pequeno.


Você não precisa de dados quase em tempo real.
Seus dados já estão agregados ou você executa a agregação no Kusto.

Use o modo DirectQuery quando:

Seu conjunto de dados é muito grande.


Você precisa de dados quase em tempo real.

Para saber mais sobre o DirectQuery, confira Usar o DirectQuery no Power BI.

Dicas de uso do conector do Azure Data


Explorer a fim de consultar dados
A seção a seguir inclui dicas e truques para uso da linguagem de consulta Kusto com
Power Query.

Consultas complexas no Power BI


Consultas complexas são mais facilmente expressas no Azure Data Explorer do que no
Power Query. Elas devem ser implementados como funções do Azure Data Explorer e
invocadas em Power BI. Esse método é necessário ao usar o DirectQuery com instruções
let em sua consulta do Azure Data Explorer. Já que o Power BI une duas consultas e as

instruções let não podem ser usadas com o operador join , erros de sintaxe podem
ocorrer. Portanto, salve cada parte da junção como uma função do Azure Data Explorer
e permita que o Power BI una essas duas funções.

Como simular um operador relativo de data/hora


O Power Query não contém um operador relativo de data/hora, como ago() . Para
simular ago() , use uma combinação das funções DateTime.FixedLocalNow e #duration
Power Query M.

Em vez desta consulta usando o operador ago() :

Kusto

StormEvents | where StartTime > (now()-5d)


StormEvents | where StartTime > ago(5d)

Use a seguinte consulta equivalente:

Power Query M

let
Source = AzureDataExplorer.Contents("help", "Samples", "StormEvents",
[]),
#"Filtered Rows" = Table.SelectRows(Source, each [StartTime] >
(DateTime.FixedLocalNow()-#duration(5,0,0,0)))
in
#"Filtered Rows"

Configurando opções de conector do Azure Data Explorer


na consulta M
Você pode configurar as opções do conector do Azure Data Explorer no editor
avançado do Power Query na linguagem de consulta M. Usando essas opções, você
pode controlar a consulta gerada que está sendo enviada para o cluster do Azure Data
Explorer.

Power Query M

let
Source = AzureDataExplorer.Contents("help", "Samples", "StormEvents",
[<options>])
in
Source
Você pode usar qualquer uma das seguintes opções em sua consulta M:

Opção Amostra Descrição

MaxRows [MaxRows=300000] Adiciona a instrução set


truncationmaxrecords à sua
consulta. Substitui o número
máximo padrão de registros
que uma consulta pode
retornar ao chamador
(truncamento).

MaxSize [MaxSize=4194304] Adiciona a instrução set


truncationmaxsize à sua
consulta. Substitui o tamanho
de dados máximo que uma
consulta pode retornar ao
chamador (truncamento).

NoTruncate [NoTruncate=true] Adiciona a instrução set


notruncation à sua consulta.
Permite suprimir o
truncamento dos resultados
da consulta retornados ao
chamador.

AdditionalSetStatements [AdditionalSetStatements="set Adiciona as instruções set


query_datascope=hotcache"] fornecidas à sua consulta.
Essas instruções são usadas
para definir as opções de
consulta enquanto ela durar.
As opções de consulta
controlam como uma consulta
será executada e como
retornará resultados.

CaseInsensitive [CaseInsensitive=true] Faz com que o conector gere


consultas que não diferenciam
maiúsculas de minúsculas. As
consultas usarão o operador
=~ em vez do operador == ao
comparar valores.

ForceUseContains [ForceUseContains=true] Faz com que o conector gere


consultas que usam contains
em vez do padrão has ao
trabalhar com campos de
texto. Embora has seja muito
mais eficaz, ele não lida com
subcadeias de caracteres. Para
Opção Amostra Descrição

obter mais informações sobre


a diferença entre os dois tipos
de operadores, confira
operadores de cadeia de
caracteres.

Tempo limite [Timeout=#duration(0,10,0,0)] Configura o tempo limite do


cliente e do servidor da
consulta para a duração
fornecida.

ClientRequestIdPrefix [ClientRequestIdPrefix="MyReport"] Configura um prefixo


ClientRequestId para todas as
consultas enviadas pelo
conector. Isso permite que as
consultas sejam identificáveis
no cluster como provenientes
de um relatório específico
e/ou fonte de dados.

7 Observação

Você pode combinar várias opções em conjunto para alcançar o comportamento


necessário: [NoTruncate=true, CaseInsensitive=true]

Alcançando limites de consulta do Azure Data Explorer


As consultas do Azure Data Explorer retornam, por padrão, até 500.000 linhas ou 64 MB,
conforme descrito em limites de consulta. Você pode substituir esses padrões usando as
Opções avançadas na janela de conexão do Azure Data Explorer (Kusto):
Essas opções emitem instruções set com sua consulta para alterar os limites de consulta
padrão:

Limitar o número de registros de resultado de consulta gera um set


truncationmaxrecords
Limitar o tamanho de dados de resultado de consulta em bytes gera um set
truncationmaxsize

Desabilitar o truncamento do conjunto de resultados gera um set notruncation

Diferenciar maiúsculas de minúsculas


Por padrão, o conector gera consultas que usam o operador de diferenciação de
maiúsculas e minúsculas == ao comparar valores de cadeia de caracteres. Se os dados
não diferenciam maiúsculas de minúsculas, esse não é o comportamento desejado. Para
alterar a consulta gerada, use a opção de conector CaseInsensitive :

Power Query M

let
Source = AzureDataExplorer.Contents("help", "Samples", "StormEvents",
[CaseInsensitive=true]),
#"Filtered Rows" = Table.SelectRows(Source, each [State] == "aLaBama")
in
#"Filtered Rows"

Como usar parâmetros de consulta


Você pode usar parâmetros de consulta para modificar a consulta dinamicamente.
Usar um parâmetro de consulta nas etapas de consulta
Você pode usar um parâmetro de consulta em qualquer etapa de consulta que dê
suporte a ele. Por exemplo, filtre os resultados com base no valor de um parâmetro.
Neste exemplo, selecione o menu suspenso no lado direito da coluna State no editor
Power Query, selecione Filtros de Texto>Iguais e selecione ALABAMA em Manter
linhas em que 'Estado'.

Fornecer parâmetros para uma função de Data Explorer do Azure


As funções Kusto são uma ótima maneira de manter consultas KQL (Linguagem de
Consulta Kusto complexas). É recomendável usar funções em vez de inserir KQL no
Power Query. A principal vantagem de usar a função é que a lógica é mantida uma vez
em um ambiente fácil de criar e testar.

As funções também podem receber parâmetros e, portanto, adicionar muita


flexibilidade ao usuário do Power BI. O Power BI tem muitas maneiras de fatiar os dados.
Mas todos os filtros e segmentações são adicionados após o KQL original e, em muitos
casos, você deseja usar a filtragem em um estágio inicial da consulta. Usar funções e
parâmetros dinâmicos é uma maneira muito eficaz de personalizar a consulta final.

Criar uma função

Você pode criar a função a seguir em qualquer cluster de Data Explorer do Azure ao
qual você tem acesso, incluindo um cluster gratuito. A função retorna a tabela
SalesTable do cluster de ajuda, filtrada para transações de vendas maiores ou menores

que um número fornecido pelo usuário do relatório.

Kusto
.create-or-alter function LargeOrSmallSales(Cutoff:long,Op:string=">")
{
cluster("help").database("ContosoSales").SalesTable
| where (Op==">" and SalesAmount >= Cutoff) or (Op=="<" and
SalesAmount <= Cutoff)
}

Depois de criar a função, você pode testá-la usar:

Kusto

LargeOrSmallSales(2000,">")
| summarize Sales=tolong(sum(SalesAmount)) by Country

Você também pode testar ao usar:

Kusto

LargeOrSmallSales(20,"<")
| summarize Sales=tolong(sum(SalesAmount)) by Country

Usando a função no Power BI

1. Conecte-se ao cluster em que você criou a função.

2. No navegador Power Query, selecione a função na lista de objetos. O conector


analisa os parâmetros e os apresenta acima dos dados no lado direito do
navegador.
3. Adicione valores aos parâmetros e selecione Aplicar.

4. Depois que a visualização for exibida, selecione Transformar Dados.

5. Uma vez no editor Power Query, crie dois parâmetros, um para o valor de corte e
outro para o operador.

6. Volte à consulta LargeOrSmallSales e substitua os valores pelos parâmetros de


consulta na barra de fórmulas.

7. No editor, crie duas tabelas estáticas (Inserir Dados) para fornecer opções para os
dois parâmetros. Para o corte, você pode criar uma tabela com valores como 10,
50, 100, 200, 500, 1000, 2000. Para Op , uma tabela com dois valores de texto < e
>.

8. As duas colunas nas tabelas precisam ser associadas aos parâmetros de consulta
usando a seleção Associar ao parâmetro.
O relatório final incluirá segmentações para as duas tabelas estáticas e quaisquer visuais
das vendas de resumo.

A tabela base é filtrada primeiro e depois agregada.

Como usar um parâmetro de consulta nos detalhes da conexão


Use um parâmetro de consulta para filtrar informações na consulta e otimizar o
desempenho da consulta.

Em Editor Avançado:

1. Localize a seguinte seção da consulta:

Origem = AzureDataExplorer.Contents("<Cluster>", "<Database>", "<Query>", [])

Por exemplo:

Power Query M

Source = AzureDataExplorer.Contents("Help", "Samples", "StormEvents |


where State == 'ALABAMA' | take 100", [])

2. Insira um parâmetro de consulta na consulta Linguagem de Consulta Kusto (KQL).


Se você colar uma consulta KQL diretamente na caixa de diálogo de conexão, a
consulta fará parte da etapa de origem no Power Query. Você pode inserir
parâmetros como parte da consulta usando o editor avançado ou ao editar a
instrução de origem na barra de fórmulas. Uma consulta de exemplo pode ser
StormEvents | where State == ' " & State & " ' | take 100 . State é um

parâmetro e, em tempo de execução, a consulta será:

StormEvents | where State == 'ALABAMA' | take 100

3. Se sua consulta contiver aspas, codifique-as corretamente. Por exemplo, a seguinte


consulta em KQL:

Kusto

"StormEvents | where State == "ALABAMA" | take 100"

aparecerá no Editor Avançado da seguinte maneira, com duas aspas:

Power Query M

"StormEvents | where State == ""ALABAMA"" | take 100"

Se você estiver usando um parâmetro State por exemplo, ele deverá ser
substituído pela seguinte consulta, que contém três aspas:

Kusto

"StormEvents | where State == """ & State & """ | take 100"

Usar Value.NativeQuery para recursos do Azure Data


Explorer
Para usar um recurso do Azure Data Explorer não compatível com o Power Query, use o
método Value.NativeQuery() no Power Query M. Esse método insere um fragmento da
linguagem de consulta Kusto dentro da consulta gerada e também pode ser usado para
dar a você mais controle sobre a consulta executada.

O seguinte exemplo mostra como usar a função percentiles no Azure Data Explorer:

Power Query M

let
StormEvents = AzureDataExplorer.Contents(DefaultCluster,
DefaultDatabase){[Name = DefaultTable]}[Data],
Percentiles = Value.NativeQuery(StormEvents, "| summarize
percentiles(DamageProperty, 50, 90, 95) by State")
in
Percentiles

Não use o agendador de atualização de dados do Power


BI para emitir comandos de controle para o Azure Data
Explorer
O Power BI inclui um agendador de atualização de dados que pode emitir consultas
periodicamente para uma fonte de dados. Esse mecanismo não deve ser usado para
agendar comandos de controle para o Azure Data Explorer, porque o Power BI supõe
que todas as consultas são somente leitura.
Azure Data Lake Storage Gen1
Artigo • 13/07/2023

7 Observação

Em 29 de fevereiro de 2024, o Azure Data Lake Storage Gen1 será desativado. Para
saber mais, acesse o anúncio oficial . Se você usa o Azure Data Lake Storage
Gen1, migre para o Azure Data Lake Storage Gen2 antes da data mencionada. Para
saber como, acesse Migrar do Azure Data Lake Storage Gen1 para o Gen2.

Você só pode criar novas contas do Azure Data Lake Storage Gen1 se já tiver uma
existente.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI do Excel


(conjuntos de dados)
Analysis Services

Tipos de autenticação compatíveis Conta organizacional

Documentação de referência da função AzureStorage.DataLake


AzureStorage.DataLakeContents

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Uma assinatura do Azure. Acesse Obter uma avaliação gratuita do Azure .

Uma conta do Azure Data Lake Storage Gen1. Siga as instruções em Introdução ao
Azure Data Lake Storage Gen1 usando o portal do Azure. Este artigo pressupõe
que você já criou uma conta do Data Lake Storage Gen1, chamada myadlsg1 e
carregou um arquivo de dados de exemplo (Drivers.txt) nela. Esse exemplo de
arquivo está disponível para download no Repositório Git do Azure Data Lake .

Funcionalidades com suporte


Importar
Opções Avançadas
Tamanho da Página em bytes

Conectar-se ao Azure Data Lake Storage Gen1


1. Selecione a opção Azure Data Lake Storage Gen1 na seleção Obter Dados e
escolha Conectar. Mais informações: Locais para obter dados
2. Na caixa de diálogo Azure Data Lake Store, forneça a URL para a conta do Data
Lake Storage Gen1. Opcionalmente, insira um valor em Tamanho da página em
bytes. Depois, selecione OK.

3. Se esta for a primeira vez que você está se conectando a esse banco de dados,
selecione Entrar para entrar na conta do Azure Data Lake Storage Gen1. Você será
redirecionado à página de entrada da sua organização. Siga os prompts para
entrar na conta.

4. Depois de entrar, selecione Conectar.

5. A caixa de diálogo Navegador mostra o arquivo que você carregou para a conta
do Azure Data Lake Storage Gen1. Verifique as informações e selecione
Transformar dados para transformar os dados no Power Query ou Carregar para
carregar os dados no Power BI Desktop.

Conectar usando opções avançadas


O Power Query tem uma opção avançada que você pode adicionar à sua consulta, se
necessário.

Opção avançada Descrição

Tamanho da página em Usado para dividir arquivos grandes em partes menores. O tamanho de
Bytes página padrão é4 MB.

Confira também
Azure Data Lake Storage Gen2
Documentação do Azure Data Lake Storage Gen1
Azure Data Lake Storage Gen2
Artigo • 07/07/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (Dataflow Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365
Analysis Services

Tipos de autenticação compatíveis Conta organizacional


Chave de conta
Chave SAS (Assinatura de Acesso Compartilhado)

Documentação de referência da função AzureStorage.DataLake


AzureStorage.DataLakeContents

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Uma assinatura do Azure. Acesse Obter uma avaliação gratuita do Azure .

Uma conta de armazenamento que tenha um namespace hierárquico. Siga as


instruções em Criar uma conta de armazenamento para criar uma. Este artigo
pressupõe que você tenha criado uma conta de armazenamento chamada
myadlsg2 .

Verifique se você recebeu uma das seguintes funções na conta de armazenamento:


Leitor de Dados de Blob, Colaborador de Dados de Blob ou Proprietário de
Dados de Blob.
Um arquivo de dados de exemplo chamado Drivers.txt localizado em sua conta
de armazenamento. Você pode baixar este exemplo do Repositório Git do Azure
Data Lake e carregar esse arquivo em sua conta de armazenamento.

Funcionalidades com suporte


Importar
Exibição do Sistema de Arquivos
Exibição de Pasta do CDM

Conectar-se ao Azure Data Lake Storage Gen2


por meio do Power Query Desktop
1. Selecione a opção Azure Data Lake Storage Gen2 na seleção Obter Dados e
escolha Conectar. Mais informações: Locais para obter dados
2. Na caixa de diálogo Azure Data Lake Storage Gen2, forneça a URL da sua conta,
contêiner ou subpasta do Azure Data Lake Storage Gen2 usando o formato do
ponto de extremidade de contêiner. As URLs para o Data Lake Storage Gen2 têm o
seguinte padrão:

https://<accountname>.dfs.core.windows.net/<container>/<subfolder>

Você também pode selecionar se deseja usar a exibição do sistema de arquivos ou


o modo de exibição de pasta do Common Data Model.

Selecione OK para continuar.


3. Se essa for a primeira vez que você está usando esse endereço de URL, será
solicitado que você selecione o método de autenticação.

Se você selecionar o método de Conta organizacional, selecione Entrar para entrar


em sua conta de armazenamento. Você será redirecionado à página de entrada da
sua organização. Siga os prompts para entrar na conta. Depois de entrar, selecione
Conectar.

Se você selecionar o método de Chave de conta, insira a chave da conta e


selecione Conectar.

4. A caixa de diálogo Navegador mostra todos os arquivos na URL fornecida.


Verifique as informações e selecione Transformar dados para transformar os
dados no Power Query ou Carregar para carregar os dados.

Conectar-se ao Azure Data Lake Storage Gen2


por meio do Power Query Online
1. Selecione a opção Azure Data Lake Storage Gen2 na seleção Obter Dados e
escolha Conectar. Mais informações: Locais para obter dados

2. Em Conectar-se à fonte de dados, insira a URL para a sua conta do Azure Data
Lake Storage Gen2. Consulte Limitações para determinar a URL a ser usada.

3. Selecione se deseja usar a exibição do sistema de arquivos ou o modo de exibição


de pasta do Common Data Model.
4. Se necessário, selecione o gateway de dados local em Gateway de dados.

5. Selecione Entrar para entrar na conta do Azure Data Lake Storage Gen2. Você será
redirecionado à página de entrada da sua organização. Siga os prompts para
entrar na conta.

6. Depois de entrar, selecione Avançar.

7. A página Escolher dados mostra todos os arquivos na URL fornecida. Verifique as


informações e selecione Transformar Dados para transformar os dados no Power
Query.

Limitações

Subpasta ou arquivo sem suporte no Power Query Online


Atualmente, no Power Query Online, o conector do Azure Data Lake Storage Gen2 dá
suporte apenas a caminhos com contêineres e não a subpastas ou arquivos. Por
exemplo, https://<accountname>.dfs.core.windows.net/<container> funcionará,
enquanto https://<accountname>.dfs.core.windows.net/<container>/<filename> ou
https://<accountname>.dfs.core.windows.net/<container>/<subfolder> falhará.

Atualizar autenticação
A Microsoft não dá suporte à atualização de fluxo de dados ou conjunto de dados
usando a autenticação OAuth2 quando a conta do ADLS (Azure Data Lake Storage
Gen2) está em um locatário diferente. Essa limitação só se aplica ao ADLS quando o
método de autenticação é o OAuth2, ou seja, quando você tenta se conectar a um ADLS
entre locatários usando uma conta do Azure AD. Nesse caso, recomendamos que você
use um método de autenticação diferente do OAuth2/AAD, como o método de
autenticação por chave.

Requisitos de rede e firewall


Ao criar um fluxo de dados usando um gateway, talvez seja necessário alterar algumas
das configurações de proxy ou portas do firewall para se conectar com êxito ao data
lake do Azure. Se um fluxo de dados falhar com uma atualização associada ao gateway,
poderá ser devido a um problema de firewall ou proxy no gateway para os pontos de
extremidade de armazenamento do Azure.

Se você estiver usando um proxy com seu gateway, talvez seja necessário configurar o
arquivo Microsoft.Mashup.Container.NetFX45.exe.config no gateway de dados local.
Para mais informações: Definir as configurações de proxy do gateway de dados local.

Para habilitar a conectividade da rede com o data lake do Azure, talvez seja necessário
habilitar endereços IP específicos da lista no computador do gateway. Por exemplo, se
sua rede tiver alguma regra de firewall em vigor que possa bloquear essas tentativas,
você precisará desbloquear as conexões de rede de saída para o data lake do Azure.
Para habilitar a lista dos endereços de saída necessários, use a marca de serviço
AzureDataLake. Para mais informações: Marcas de serviço de rede virtual

Os fluxos de dados também dão suporte à opção "Traga seu próprio" data lake, o que
significa que você pode criar o seu data lake, gerenciar suas permissões e conectá-lo
explicitamente ao fluxo de dados. Nesse caso, ao se conectar ao ambiente de
desenvolvimento ou de produção usando uma Conta organizacional, você deverá
habilitar uma das seguintes funções para a conta de armazenamento: Leitor de Dados
de Blob, Colaborador de Dados de Blob ou Proprietário de Dados de Blob.

Confira também
Analisar dados no Azure Data Lake Storage Gen2 usando o Power BI
Introdução ao Azure Data Lake Storage Gen2
Analisar dados no Azure Data Lake
Storage Gen2 usando o Power BI
Artigo • 20/07/2023

Neste artigo, você aprenderá a usar Power BI Desktop para analisar e visualizar dados
armazenados em uma conta de armazenamento que tem um namespace hierárquico
(Azure Data Lake Storage Gen2).

Pré-requisitos
Antes de iniciar este tutorial, você deverá ter os seguintes pré-requisitos:

" Uma assinatura do Azure. Acesse Obter uma avaliação gratuita do Azure .


" Uma conta de armazenamento que tenha um namespace hierárquico. Siga as
instruções em Criar uma conta de armazenamento para criar uma. Este artigo
pressupõe que você tenha criado uma conta de armazenamento chamada
contosoadlscdm .
" Confirme se você recebeu uma das seguintes funções na conta de armazenamento:
Leitor de Dados de Blob, Colaborador de Dados de Blob ou Proprietário de
Dados de Blob.
" Um arquivo de dados de exemplo chamado Drivers.txt localizado em sua conta
de armazenamento. Você pode baixar este exemplo do Repositório Git do Azure
Data Lake e carregar esse arquivo em sua conta de armazenamento.
" Power BI Desktop. Você pode baixar esse aplicativo do Centro de Download da
Microsoft .

Criar um relatório no Power BI Desktop


1. Inicie o Power BI Desktop em seu computador.

2. Siga as instruções no artigo do conector do Azure Data Lake Storage Gen2 para se
conectar aos dados de exemplo.

3. No Navegador do Power Query, selecione Carregar.


4. Após os dados serem carregados corretamente no Power BI, os seguintes campos


serão exibidos no painel Campos.

No entanto, para visualizar e analisar os dados, é preferível que os dados fiquem


disponíveis usando os campos a seguir.
Nas próximas etapas, você vai atualizar a consulta para converter os dados
importados no formato desejado.

5. Na guia Página Inicial, na faixa de opções, selecione Transformar Dados. O editor


do Power Query é aberto, exibindo o conteúdo do arquivo.

6. No Editor do Power Query, na coluna Conteúdo, selecione Binário. O arquivo será


detectado automaticamente como CSV e conterá a saída, conforme mostrado
abaixo. Os dados agora estão disponíveis em um formato que você pode usar para
criar visualizações.

7. Na guia Página Inicial, na faixa de opções, selecione Fechar & Aplicar.


8. Depois que a consulta for atualizada, a guia Campos exibirá os novos campos
disponíveis para visualização.
9. Agora você pode criar um gráfico de pizza para representar os drivers em cada
cidade para um determinado país/região. Para fazer isso, faça as seleções a seguir.

Na guia Visualizações, selecione o símbolo do gráfico de pizza.


Neste exemplo, as colunas que você vai usar são Coluna 4 (nome da cidade) e
Coluna 7 (nome do país/região). Arraste essas colunas da guia Campos para a guia
Visualizações conforme mostrado abaixo.
O gráfico de pizza agora deve ficar semelhante ao mostrado abaixo.
10. Se você selecionar um país/região específico nos filtros de nível de página, o
número de drivers em cada cidade do país/região selecionado será exibido. Por
exemplo, na guia Visualizações, em Filtros de nível de página, escolha Brasil.
11. O gráfico de pizza é atualizado automaticamente para exibir os drivers em cidades
do Brasil.
12. No menu Arquivo, selecione Salvar para salvar a visualização como um arquivo do
Power BI Desktop.

Publicar o relatório no serviço Power BI


Depois de criar as visualizações no Power BI Desktop, compartilhe-as com outras
pessoas publicando-as no serviço do Power BI. Para obter instruções sobre como fazer
isso, acesse Publicar com o Power BI Desktop.

Confira também
Azure Data Lake Storage Gen2
Azure HDInsight (HDFS)
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
do Customer Insights
Analysis Services

Tipos de autenticação compatíveis Anônima


Chave de conta

Documentação de referência da função Hdfs.Contents


Hdfs.Files

Funcionalidades com suporte


Importação

Conectar-se ao Azure HDInsight no Power


Query Desktop
O Power Query Desktop inclui o Excel, o Power BI e o Analysis Services como
experiências.

Para fazer a conexão com uma conta do Azure HDInsight, siga estas etapas:

1. Em Obter dados, selecione a categoria Azure, selecione Azure HDInsight e depois


selecione Conectar. Mais informações: Locais para obter dados
2. Na janela exibida, insira o nome da conta de armazenamento associada à sua
conta do HDInsight. Se você não sabe o nome da sua conta de armazenamento,
poderá encontrá-la seguindo as etapas da seção abaixo.

3. Selecione OK.

4. Você pode selecionar o acesso anônimo, se se sua conta de armazenamento


estiver configurada para acesso anônimo, ou pode selecionar a chave da conta.
5. Se você selecionar acesso anônimo, não há nada para ser inserido; portanto,
selecione Conectar.

6. Se você selecionar a chave da conta, adicione a chave da conta de armazenamento


para a conta do armazenamento do Azure associada à sua conta do HDInsight e
selecione Conectar.

7. No Navegador, selecione um ou mais arquivos ou pastas para importar e usar em


seu aplicativo. Em seguida, selecione Carregar para carregar a tabela ou
Transformar Dados para abrir o editor do Power Query, onde você pode filtrar e
refinar o conjunto de dados que deseja usar e, em seguida, carregar esse conjunto
refinado de dados.
Conectar-se ao Azure HDInsight no Power
Query Online
O Power Query Online inclui o Power BI (fluxos de dados) e o Customer Insights (fluxos
de dados) como experiências.

Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção Azure HDInsight na seleção do conector. Mais informações:


Locais para obter dados

2. Na caixa de diálogo do Azure HDInsight que é exibida, insira o nome da conta de


armazenamento associada à sua conta do HDInsight. Se você não sabe o nome da
sua conta de armazenamento, poderá encontrá-la seguindo as etapas da seção
abaixo.

3. É possível selecionar uma conexão ou gateway existente. Você também pode


selecionar o acesso anônimo, se se sua conta de armazenamento estiver
configurada para acesso anônimo, ou pode selecionar a chave da conta.

4. Se você selecionar acesso anônimo, não há nada para ser inserido; portanto,
selecione Avançar.

5. Se você selecionar a chave da conta, adicione a chave da conta de armazenamento


para a conta do armazenamento do Azure associada à sua conta do HDInsight e
selecione Avançar.
6. Selecione uma ou várias tabelas para importar e usar e selecione Transformar
dados para transformar dados no editor do Power Query.

Copiar a chave da sua conta para o Azure


HDInsight
A chave da sua conta do Azure HDInsight é apenas a chave da conta do
armazenamento do Azure para o armazenamento de blobs associado à sua conta do
Azure HDInsight. Para recuperar a chave da sua conta, siga estas etapas:

1. Entre no portal do Azure .

2. Localize sua conta do Azure HDInsight e selecione Contas de armazenamento no


menu esquerdo. Em seguida, selecione sua conta de armazenamento.
3. No painel do menu da conta de armazenamento, em Segurança + rede, selecione
Chaves de acesso.

4. Na seção key1, localize o valor Key. Selecione Mostrar ao lado do valor-chave.


5. Selecione o ícone Copiar para a área de transferência para copiar o valor Key.
Azure HDInsight no AKS Trino (Beta)
Artigo • 16/10/2023

Resumo
Item Descrição

Estado da liberação Versão Prévia

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Conta organizacional

Pré-requisitos
Um cluster Azure HDInsight no AKS Trino.

Funcionalidades com suporte


Importação
DirectQuery (conjuntos de dados do Power BI)
Opções avançadas
Instrução de SQL nativa
Propriedades de sessão
Defina o catálogo/esquema padrão

Conecte-se ao Azure HDInsight no AKS Trino a


partir do Power Query Desktop.
Para estabelecer uma conexão, execute as seguintes etapas:

1. Na experiência Obter Dados, selecione Azure nas categorias à esquerda e, em


seguida, selecione Azure HDInsight no AKS Trino. Mais informações: Locais para
obter dados
2. Na caixa de diálogo Azure HDInsight no AKS Trino exibida, forneça a URL do
Azure Trino (URL do cluster Trino).
3. Selecione o modo de conectividade: Direct Query (recomendado para big data no
Trino) ou Importar.

4. Selecione OK.

5. Se estiver se conectando a esse cluster Trino pela primeira vez, selecione Entrar
para autenticar. Depois, selecione Conectar.

6. Em Navegador, expanda o catálogo e o esquema para revelar a tabela desejada e,


em seguida, selecione Carregar para carregar os dados, ou Transformar Dados
continuar transformando os dados no Power Query Editor.

Conecte-se ao Azure HDInsight no AKS Trino a


partir do Power Query Online.
Para conectar a um cluster Azure HDInsight no AKS Trino a partir do Power Query
Online, siga as etapas a seguir:

1. Em experiência Obter Dados, procure e selecione Azure HDInsight no AKS Trino.


Mais informações: Locais para obter dados
2. Nas opções exibidas, forneça a URL do Azure Trino.

3. Se necessário, selecione o nome do gateway de dados local.

4. Para configurar as opções de conexão, selecione Opções avançadas. Mais


informações: Conectar usando opções avançadas

5. Se estiver se conectando a esse cluster Trino pela primeira vez, selecione Entrar.

6. Selecione Avançar para continuar.

7. Em Navegador, selecione a tabela desejada e, em seguida, selecione Transformar


Dados.

Conectar usando opções avançadas


O Power Query Desktop e o Power Query Online oferecem um conjunto de opções
avançadas que você pode adicionar à consulta, se necessário. A tabela a seguir lista
todas as opções avançadas que você pode definir no Power Query Desktop e no Power
Query Online.

Opção avançada Descrição

Instrução SQL Para obter mais informações, acesse Importar dados de um banco de
dados usando a consulta natuva de banco de dados.

Propriedades de Permite que as propriedades da sessão do Trino sejam transmitidas com a


sessão conexão para o cluster Trino. A propriedade de sessão deve especificar
pares de chave-valor separados por dois pontos, e cada par separado por
uma vírgula. Exemplo: distributed_sort:true,colocated_join:false

Catálogo/esquema Fornecer um catálogo e um esquema estabelece o contexto da conexão


padrão para um catálogo e um esquema específicos do Trino.

Depois de selecionar as opções avançadas necessárias, selecione OK no Power Query


Desktop ou Avançar no Power Query Online para se conectar ao cluster Trino.

Limitações e problemas conhecidos


As seguintes seções descrevem quaisquer problemas conhecidos ou limitações
atualmente associados a este conector.
Suporte a Tipos
O Azure HDInsight no AKS Trino oferece suporte aos seguintes tipos. Outros tipos,
como uuid, P4HyperLogLog precisam ser transformados ou convertidos para serem
utilizados com o conector.

bigint
inteiro
smallint
tinyint
real
double
decimal
booleano
char
varchar
date
timestamp
array
map
varbinary
Banco de Dados SQL do Azure
Artigo • 13/07/2023

Resumo
Item Descrição

Estado da versão Disponibilidade geral

Produtos compatíveis Excel


Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (Dataflow Gen2)
Power Apps (Fluxos de dados)
Excel
Customer Insights do Dynamics 365
Analysis Services

Tipos de autenticação Windows (Power BI Desktop, Excel, Power Query Online com
compatíveis gateway)
Banco de dados (Power BI Desktop, Excel)
Conta da Microsoft (todas)
Básico (Power Query Online)

Documentos de referência da Sql.Database


função Sql.Databases

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Por padrão, o Power BI instala um driver OLE DB para SQL do Azure banco de dados. No
entanto, para um desempenho ideal, recomendamos que o cliente instale o SQL Server
Native Client antes de usar o conector Azure SQL Database. O SQL Server Native Client
11.0 e o SQL Server Native Client 10.0 têm suporte para a versão mais recente.

Funcionalidades com suporte


Importar
DirectQuery (conjuntos de dados do Power BI)
Opções Avançadas
Tempo limite do comando em minutos
Instrução de SQL nativa
Colunas da relação
Navegar usando hierarquia completa
Suporte de failover do SQL Server

Conectar-se ao banco de dados SQL do Azure


do Power Query Desktop
Para se conectar a um banco de dados SQL do Azure do Power Query Desktop, siga as
seguintes etapas:

1. Selecione a opção Banco de dados Azure SQL na seleção do conector.

2. Em SQL Server, forneça o nome do servidor e do banco de dados (opcional).

3. Selecione o modo de conectividade de dados Importar ou DirectQuery.

4. Também é possível selecionar e inserir opções avançadas que modificarão a


consulta de conexão, como um tempo limite de comando ou uma consulta nativa
(instrução SQL). Mais informações: Conectar usando opções avançadas

5. Selecione OK.

6. Se essa for a primeira vez que você está se conectando a esse banco de dados,
selecione o tipo de autenticação, insira suas credenciais e selecione o nível ao qual
deseja aplicar as configurações de autenticação. Depois, selecione Conectar.
Para obter mais informações sobre os métodos de autenticação, acesse
Autenticação com uma fonte de dados.

7 Observação

Se a conexão não estiver criptografada, você receberá a seguinte mensagem.

Selecione OK para se conectar ao banco de dados usando uma conexão não


criptografada ou siga as instruções em Habilitar conexões criptografadas com o
Mecanismo de Banco de Dados para configurar conexões criptografadas com o
banco de dados Azure SQL.

7. No Navegador, selecione as informações de banco de dados e selecione Carregar


para carregar os dados ou Transformar Dados para continuar transformando os
dados em Editor do Power Query.
Conectar-se ao banco de dados SQL do Azure
do Power Query Online
Para se conectar a um banco de dados SQL do Azure do Power Query Online, siga as
seguintes etapas:

1. Selecione a opção Banco de dados Azure SQL na seleção do conector.

2. Em SQL do Azure banco de dados, forneça o nome do servidor e do banco de


dados.
Também é possível selecionar e inserir opções avançadas que modificarão a
consulta de conexão, como um tempo limite de comando ou uma consulta nativa
(instrução SQL). Mais informações: Conectar usando opções avançadas

3. Se essa for a primeira vez que você esta se conectando a esse banco de dados,
selecione o tipo de autenticação e insira suas credenciais.

4. Se necessário, selecione o nome do gateway de dados local.

5. Se a conexão não estiver criptografada, desmarque a caixa de seleção Usar


conexão criptografada.

6. Selecione Avançar para continuar.

7. No Navegador, selecione os dados necessários e Transformar dados.

Conectar usando opções avançadas


Tanto o Power Query Desktop quanto o Power Query Online fornecem um conjunto de
opções avançadas que você pode adicionar à sua consulta, se necessário.
A tabela a seguir lista todas as opções avançadas que você pode definir no Power Query
Desktop e no Power Query Online.

Opção avançada Descrição

Tempo limite do Se a sua conexão durar mais de 10 minutos (o tempo limite padrão), você
comando em poderá inserir outro valor em minutos para manter a conexão aberta por
minutos mais tempo. Esta opção está disponível somente no Power Query Desktop.

Instrução SQL Para obter mais informações, acesse Importar dados de um banco de
dados usando a consulta natuva de banco de dados.

Adicionar colunas Se marcada, inclui colunas que podem ter relações com outras tabelas. Se
de relação essa caixa estiver desmarcada, você não verá essas colunas.

Navegar usando Se marcada, o navegador exibirá a hierarquia completa de tabelas no


hierarquia banco de dados ao qual você está se conectando. Se desmarcada, o
completa navegador exibe apenas as tabelas cujas colunas e linhas contêm dados.

Habilitar suporte de Se marcada, quando um nó no grupo de failover do SQL do Azure não


Failover do SQL estiver disponível, o Power Query passará desse nó para outro quando
Server ocorrer failover. Se desmarcado, não ocorrerá failover.

Depois de selecionar as opções avançadas necessárias, selecione OK no Power Query


Desktop ou Avançar no Power Query Online para conectar ao banco de dados SQL do
Azure.

Solução de problemas

Colunas Always Encrypted


O Power Query não suporta colunas "Sempre criptografadas".
Azure Resource Graph (Beta)
Artigo • 06/12/2023

Resumo
ノ Expand table

Item Descrição

Estado da liberação Versão Prévia

Produtos Conjuntos de Dados do Power BI (Desktop + Serviço)Power BI


(Fluxos de Dados)

Malha (fluxo de dados Gen2)

Tipos de autenticação Conta organizacional


compatíveis

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a agendamentos de implantação e recursos específicos do host.

Pré-requisitos
Uma assinatura do Azure. Acesse Obter uma avaliação gratuita do Azure .

Você deve ter direitos apropriados no controle de acesso baseado em função do


Azure (RBAC do Azure) com pelo menos acesso de leitura aos recursos que deseja
consultar.

7 Observação

Se você participou da visualização privada, exclua o arquivo de visualização


AzureResourceGraph.mez. Se isso não for feito, o conector personalizado de teste
poderá ser usado pelo Power Query inadvertidamente em vez do conector recém-
certificado.
Funcionalidades com suporte
Importação
Opções avançadas
Âmbito por subscrição e/ou grupo(s) de gestão

Conectar-se ao Gráfico de Recursos do Azure a


partir do Power Query Desktop
Para se conectar ao Gráfico de Recursos do Azure a partir do Power Query Desktop:

1. Em Escolher fonte de dados, selecione Azure ou procure Gráfico de Recursos do


Azure e selecione Gráfico de Recursos do Azure. Mais informações: Locais para
obter dados
2. Na caixa de diálogo Gráfico de Recursos do Azure, preencha a consulta e
quaisquer campos opcionais, como Escopo.

7 Observação

Você pode definir o escopo das consultas para o nível de assinatura ou de grupo
de gerenciamento, se nenhuma opção for escolhida, a consulta será executada no
nível do locatário por padrão.

3. Se você estiver conectando a este site pela primeira vez, selecione Entrar e insira
suas credenciais. Depois, selecione Conectar.

4. No Navegador, selecione as tabelas desejadas e carregue ou transforme os dados.

Conectar-se ao Gráfico de Recursos do Azure a


partir do Power Query Online
Para se conectar ao Gráfico de Recursos do Azure a partir do Power Query Online:
1. Em Escolher fonte de dados, selecione Azure ou procure Gráfico de Recursos do
Azure e selecione Gráfico de Recursos do Azure. Mais informações: Locais para
obter dados

2. Em Conectar à fonte de dados, preencha a consulta e quaisquer campos


opcionais, como Escopo.

3. Entre com a conta corporativa.

4. Depois de entrar, selecione Avançar.

5. Em Escolher dados, selecione os dados necessários e, em seguida, selecione


Transformar Dados.

7 Observação

Espere tempos de espera mais longos para resultados de consulta grandes.

Conectar usando opções avançadas


O Power Query tem uma opção avançada que você pode adicionar à sua consulta, se
necessário.

ノ Expand table

Opção avançada Descrição

Escopo Especifique se você deseja consultar no nível de assinatura ou


gerenciamento. Se você não selecionar assinatura ou gerenciamento, a
consulta se aplicará automaticamente ao nível do locatário por padrão.

Id(es) de assinatura Especifique as assinaturas específicas que você deseja consultar. Insira
cada ID de assinatura separado por vírgulas. Esse campo será obrigatório
se você selecionar o escopo da assinatura.

Id(s) do(s) Grupo(s) de Especifique os grupos de gerenciamento específicos que você deseja
Gerenciamento consultar. Insira cada grupo de gerenciamento separado por vírgulas.
Esse campo será obrigatório se você selecionar o escopo do grupo de
gerenciamento.

$resultTruncated Se você quiser recuperar mais de 1000 registros, defina $resultTruncated


como FALSE. Por padrão, o ARG retorna apenas até 1000 registros.

Confira também
Visão geral do Azure Resource Graph
Exemplos de consulta do Gráfico de Recursos do Azure Starter
Azure Synapse Analytics (SQL DW)
Artigo • 17/08/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (Dataflow Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365
Analysis Services

Tipos de autenticação compatíveis Banco de dados (Power BI Desktop, Excel)


Conta da Microsoft (todas)
Básico (serviço online)
Entidade de serviço

Documentação de referência da função Sql.Database


Sql.Databases

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Por padrão, o Power BI instala um driver OLE DB para o Azure Synapse Analytics (SQL
DW). No entanto, para um desempenho ideal, recomendamos que o cliente instale o
SQL Server Native Client antes de usar o conector Azure Synapse Analytics (SQL DW). O
SQL Server Native Client 11.0 e o SQL Server Native Client 10.0 têm suporte para a
versão mais recente.

Funcionalidades com suporte


Importação
DirectQuery (Conjuntos de dados do Power BI)
Opções Avançadas
Tempo limite do comando em minutos
Instrução de SQL nativa
Colunas da relação
Navegar usando hierarquia completa
Suporte de failover do SQL Server
Habilitar a dobragem entre bancos de dados

Conecta ao Azure Synapse Analytics (SQL DW)


do Power Query Desktop
Para fazer a conexão desde o Power Query Desktop:

1. Selecione a opção SQL do Azure Synapse Analytics na seleção do conector.

2. Na caixa de diálogo Banco de dados SQL Server exibida, forneça o nome do


servidor e do banco de dados (opcional). Neste exemplo, TestAzureSQLServer é o
nome do servidor e AdventureWorks2012 é o banco de dados.

3. Selecione o modo de conectividade de dados Importar ou DirectQuery.

Também é possível selecionar e inserir opções avançadas que modificarão a


consulta de conexão, como um tempo limite de comando ou uma consulta nativa
(instrução SQL). Para mais informações, consulte: Conectar usando opções
avançadas

4. Selecione OK.
5. Se essa for a primeira vez que você está se conectando a esse banco de dados,
selecione o tipo de autenticação, insira suas credenciais e selecione o nível ao qual
deseja aplicar as configurações de autenticação. Depois, selecione Conectar.

7 Observação

Embora o tipo de autenticação do Windows seja exibido, o SQL do Azure


Synapse Analytics não dá suporte ao tipo de autenticação do Windows. Use
os tipos de autenticação banco de dados ou conta Microsoft .

Para obter mais informações sobre os métodos de autenticação, acesse


Autenticação com uma fonte de dados.

Se a conexão não estiver criptografada, o seguinte prompt será exibido.

Selecione OK para conectar ao banco de dados usando uma conexão não


criptografada ou siga as instruções em Habilitar conexões criptografadas com o
Mecanismo de banco de dados para configurar conexões criptografadas com o
Azure Synapse Analytics (SQL DW).
6. No Navegador, selecione as informações desejadas do banco de dados e
selecione Carregar para carregar os dados ou Transformar dados para continuar
transformando os dados no Editor do Power Query.

Conectar ao Azure Synapse Analytics (SQL DW)


desde o Power Query Online
Para fazer a conexão desde o Power Query Online:

1. Selecione a opção Azure Synapse Analytics (SQL DW) na seleção do conector.

2. Na caixa de diálogo Azure Synapse Analytics (SQL DW) exibida, forneça o nome
do servidor e do banco de dados (opcional). Neste exemplo, TestAzureSQLServer é
o nome do servidor e AdventureWorks2012 é o banco de dados.

Também é possível selecionar e inserir opções avançadas que modificarão a


consulta de conexão, como um tempo limite de comando ou uma consulta nativa
(instrução SQL). Mais informações: Conectar usando opções avançadas
3. Se essa for a primeira vez que você esta se conectando a esse banco de dados,
selecione o tipo de autenticação e insira suas credenciais.

4. Se necessário, selecione o nome do gateway de dados local.

5. Se a conexão não estiver criptografada, desmarque a caixa de seleção Usar


conexão criptografada.

6. Selecione Avançar para continuar.

7. No Navegador, selecione os dados necessários e Transformar dados.

Conectar usando opções avançadas


Tanto o Power Query Desktop quanto o Power Query Online fornecem um conjunto de
opções avançadas que você pode adicionar à sua consulta, se necessário.

A tabela a seguir lista todas as opções avançadas que você pode definir no Power Query
Desktop e no Power Query Online.

Opção avançada Descrição

Tempo limite do Se a sua conexão durar mais de 10 minutos (o tempo limite padrão), você
comando em poderá inserir outro valor em minutos para manter a conexão aberta por
minutos mais tempo.

Instrução SQL Para obter mais informações, acesse Importar dados de um banco de
dados usando a consulta natuva de banco de dados.

Adicionar colunas de Se marcada, inclui colunas que podem ter relações com outras tabelas. Se
relação essa caixa estiver desmarcada, você não verá essas colunas.
Opção avançada Descrição

Navegar usando Se marcada, o navegador exibirá a hierarquia completa de tabelas no


hierarquia completa banco de dados ao qual você está se conectando. Se desmarcada, o
navegador exibe apenas as tabelas cujas colunas e linhas contêm dados.

Habilitar suporte de Se marcada, quando um nó no grupo de failover do SQL do Azure não


Failover do SQL estiver disponível, o Power Query passará desse nó para outro quando
Server ocorrer failover. Se desmarcado, não ocorrerá failover.

Habilitar a Essa opção só está disponível no Power Query Online.


dobragem entre
bancos de dados

Depois de selecionar as opções avançadas necessárias, selecione OK no Power Query


Desktop ou Avançar no Power Query Online para se conectar ao Azure Synapse
Analytics.

Solução de problemas

Colunas Always Encrypted


O Power Query não suporta colunas "Sempre criptografadas".
Workspace do Azure Synapse Analytics
(Beta)
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Beta

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Conta organizacional

7 Observação

Esse conector Workspace do Azure Synapse Analytics não substitui o conector do


Azure Synapse Analytics (SQL DW). Esse conector torna mais acessível a exploração
de dados em workspaces do Synapse. Alguns recursos não estão presentes neste
conector, incluindo a consulta nativa e o suporte ao DirectQuery.

7 Observação

Esse conector suporta o acesso a todos os dados no workspace do Synapse,


incluindo tabelas Synapse sem servidor, Synapse sob demanda e Spark.

Pré-requisitos
Antes de entrar nos workspaces do Synapse, você deve ter acesso ao workspace do
Azure Synapse Analytics.

Funcionalidades com suporte


Importação
Conectar-se aos dados do workspace do
Synapse desde o Power Query Desktop
Para se conectar aos dados do workspace do Synapse:

1. Selecione Obter Dados na faixa de opções Início no Power BI Desktop. Selecione


workspace do Azure Synapse Analytics (Beta). Depois, selecione Conectar.

2. Se essa for a primeira vez que está se conectando a esse workspace, você precisará
entrar na sua conta do Synapse. Para entrar, selecione Entrar.
3. Na janela Entrar com a Microsoft que aparece, forneça suas credenciais para
entrar na conta do Synapse. Em seguida, selecione Avançar.

4. Depois de entrar, selecione Conectar.

Depois que a conexão for estabelecida, você verá uma lista dos workspaces aos quais
tem acesso. Percorra os workspaces, bancos de dados e tabelas.

É possível Carregar a tabela selecionada, que insere toda a tabela no Power BI Desktop,
ou selecionar Transformar dados para editar a consulta, que abre o editor do Power
Query. Em seguida, é possível filtrar e refinar o conjunto de dados que deseja usar e
carregar esse conjunto refinado de dados no Power BI Desktop.

Solução de problemas

Não encontro meu workspace do Synapse no conector


O conector do Synapse usa o RBAC (controle de acesso baseado em função) do Azure
para localizar os workspaces do Synapse aos quais você tem acesso.

Se o seu acesso estiver definido apenas no RBAC do Synapse, talvez você não consiga
ver o workspace.

Verifique se o seu acesso está definido pelo RBAC do Azure para assegurar que todos os
workspaces do Synapse sejam exibidos.
Armazenamento de Tabelas do Azure
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Customer Insights (Fluxos de dados)
Analysis Services

Tipos de autenticação compatíveis Chave de Conta

Documentação de referência da função AzureStorage.Table

Funcionalidades com suporte


Importação

Conectar-se ao Armazenamento de Tabelas do


Azure usando o Power Query Desktop
O Power Query Desktop inclui o Excel, o Power BI (Conjuntos de Dados) e o Analysis
Services como experiências.

Para fazer a conexão com o Armazenamento de Tabelas do Azure, siga estas etapas:

1. Em Obter dados, selecione a categoria Azure, selecione Armazenamento de


Tabelas do Azure e depois selecione Conectar. Mais informações: Locais para
obter dados
2. Na janela Armazenamento de Tabelas do Azure exibida, insira o nome ou a URL
da conta de armazenamento onde sua tabela está localizada. Não adicione o nome
da tabela à URL.
3. Selecione OK.

4. Adicione a Chave da conta de armazenamento de tabelas do Azure e selecione


Conectar.

5. Em Navegador, selecione uma ou várias tabelas para importar e usar em seu


aplicativo. Em seguida, selecione Carregar para carregar a tabela ou Transformar
Dados para abrir o editor do Power Query, onde você pode filtrar e refinar o
conjunto de dados que deseja usar e, em seguida, carregar esse conjunto refinado
de dados.
Conectar-se ao Armazenamento de Tabelas do
Azure usando o Power Query Online
O Power Query Online inclui o Power BI (Fluxos de dados), o Power Apps (Fluxos de
dados) e o Customer Insights (Fluxos de dados) como experiências.

Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção Armazenamento de Tabelas do Azure na seleção do conector.


Mais informações: Locais para obter dados

2. Na caixa de diálogo Armazenamento de Tabelas do Azure exibida, insira o nome


ou a URL da conta de armazenamento do Azure onde a tabela está hospedada.
Não adicione o nome da tabela à URL.

3. Adicione o seu Chave da conta de armazenamento de tabelas do Azure e selecione


Avançar.

4. Selecione uma ou várias tabelas para importar e usar e selecione Transformar


dados para transformar dados no editor do Power Query.
Copiar a chave da sua conta para o
Armazenamento de Tabelas do Azure
A chave da sua conta do Armazenamento de Tabelas do Azure é igual à chave da sua
conta de armazenamento de Blobs do Azure. Para recuperar a chave da conta do
armazenamento de tabelas do Azure para usar ao autenticar sua conta no Power Query,
siga estas etapas:

1. Entre no portal do Azure .

2. Localize sua conta do armazenamento de blobs do Azure onde sua tabela está
hospedada.

3. No painel do menu da conta de armazenamento, em Segurança + rede, selecione


Chaves de acesso.

4. Na seção key1, localize o valor Key. Selecione Mostrar ao lado do valor-chave.

5. Selecione o ícone Copiar para a área de transferência para copiar o valor Key.
Classificações de segurança do BitSight
Artigo • 05/10/2023

7 Observação

O artigo sobre o conector a seguir é fornecido pela BitSight, proprietária desse


conector e membro do Programa de certificação de conector do Microsoft Power
Query. Se tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações
neste artigo, visite o site do BitSight e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Chave de API

Documentação de referência da função —

Pré-requisitos
Os usuários devem possuir o produto Classificações de segurança do BitSight para
acessar os dados do BitSight no Power BI. Para obter mais informações sobre as
Classificações de segurança do BitSight, acesse https://www.bitsight.com/security-
ratings .

Os usuários também devem possuir a versão de março de 2021 ou posterior do Power


BI Desktop.

Funcionalidades com suporte


Importação
Conectar-se ao BitSight desde o Power BI
Desktop
Para conectar-se ao BitSight:

1. Recupere o token de API do BitSight.

2. No Power BI Desktop, selecione Obter dados na faixa de opções da Página Inicial,


selecione Mais na lista suspensa e pesquise por BitSight.

3. Se essa for a primeira vez que você recebe dados por meio do conector do
BitSight, um prompt aparecerá para informá-lo sobre a conexão com um serviço
de terceiros.

4. Coloque o token de API do BitSight no Power BI. Na janela exibida, forneça suas
credenciais.

5. Depois que a conexão for estabelecida, você poderá visualizar e selecionar vários
pontos de dados na caixa de diálogo Navegador para criar uma saída.

É possível Carregar a tabela selecionada, que insere toda a tabela no Power BI Desktop,
ou selecionar Transformar dados para editar a consulta, que abre o editor do Power
Query. Em seguida, é possível filtrar e refinar o conjunto de dados que deseja usar e
carregar esse conjunto refinado de dados no Power BI Desktop.

Limitações e problemas

BitSight para gerenciamento de desempenho de


segurança
É possível exibir dados somente de uma empresa por vez e assume a empresa-mãe. A
empresa-mãe pode ser alterada.
Bloomberg Data and Analytics
Artigo • 05/10/2023

7 Observação

O artigo sobre o conector a seguir é fornecido pela Bloomberg, proprietária desse


conector e membro do Programa de certificação de conector do Microsoft Power
Query. Se tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações
neste artigo, visite o site da Bloomberg e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Conta organizacional

Pré-requisitos
Sua organização deve ter uma assinatura da Bloomberg PORT Enterprise e você deve ser
um usuário da Bloomberg Anywhere e ter um dispositivo de autenticação biométrica da
Bloomberg (B-Unit).

Funcionalidades com suporte


Importação

Conectar- se ao Bloomberg Data and Analytics


Para se conectar ao Bloomberg Data and Analytics:

1. No Power BI Desktop, selecione Página Inicial>Obter dados.


2. Selecione Outra nas categorias à esquerda, selecione Bloomberg Data and
Analytics e Conectar.

3. Se essa for a primeira vez que você está se conectando ao conector Bloomberg
Data and Analytics, um alerta de terceiros será exibido. Selecione Não mostrar
alerta novamente para esse conector se você não quiser que essa mensagem seja
exibida novamente e, depois, selecione Continuar.

4. Insira uma consulta BQL (Bloomberg Query Language) para especificar quais
dados você deseja obter. Para saber mais sobre o BQL, entre em contato com seu
representante Bloomberg Sales. Selecione OK.
5. Para entrar na sua conta da Bloomberg, selecione Entrar.

6. Na janela exibida, forneça suas credenciais para entrar na conta da Bloomberg. Se


você inseriu um endereço de email e uma senha, selecione Avançar.
7. Insira o código do B-Unit e selecione Entrar.
8. Depois de entrar, selecione Conectar.

Depois que a conexão for estabelecida, você verá os dados disponíveis no Navegador.
Você pode carregar a tabela selecionada ou selecionar Transformar dados para editar a
consulta, que abrirá o Editor do Power Query. Em seguida, é possível filtrar e refinar o
conjunto de dados que deseja usar e carregar esse conjunto refinado de dados no
Power BI Desktop.
BQE Core
Artigo • 05/10/2023

7 Observação

O artigo do conector a seguir é fornecido pela BQE, proprietária desse conector e


membro do Programa de Certificação de Conector do Microsoft Power Query. Se
tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações neste
artigo, visite o site da BQE e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Conta do BQE Core

Documentação de referência da função —

Pré-requisitos
Para usar o conector do Power BI do BQE Core, você deve ter uma conta do BQE Core
com nome de usuário e senha.

Funcionalidades com suporte


Importação

Conectar-se ao BQE Core no Power Query


Desktop
Para se conectar aos dados do BQE Core:

1. Inicie o Power BI Desktop e entre na experiência Obter dados.


2. Na categoria Outros, selecione BQE Core e Conectar.

3. Selecione Entrar. Você deverá entrar no Core.


4. Na tela de entrada, insira o email e senha do Core. Selecione Fazer logon.

5. Em seguida, você será solicitado a selecionar o arquivo da empresa do Core.


a. Selecione o arquivo da empresa do Core que você deseja usar.
b. (Opcional) Se você selecionar Lembrar do meu consentimento, na próxima vez
que se conectar a esse arquivo da empresa do Core, não precisará conceder
permissão novamente.
c. Selecione Conceder Permissão.
6. Selecione Conectar e selecione um módulo. Para referência, examine a Referência
de API na Documentação da API do Core .

7. No Navegador, selecione as tabelas a serem carregadas e selecione Transformar


Dados para transformar os dados no Power Query.
CData Connect Cloud
Artigo • 05/10/2023

7 Observação

O artigo do conector a seguir é fornecido pela CData, proprietária desse conector e


membro do Programa de Certificação de Conector do Microsoft Power Query. Se
tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações neste
artigo, visite o site da CData e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Compatíveis Power BI (Conjuntos de Dados)


Power BI (Fluxos de Dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Conta CData (OAuth)

Documentos de Referência da Função —

Pré-requisitos
Uma conta do CData Connect Cloud
Pelo menos uma conexão configurada em sua conta do CData Connect Cloud

Funcionalidades com suporte


Importação

Conectar ao CData Connect Cloud


Siga estas etapas para conectar à sua conta do CData Connect Cloud:

1. No Power BI Desktop, selecione Obter Dados.

2. No campo de pesquisa, insira CData.


3. Selecione CData Connect Cloud na lista e selecione Conectar.

4. Na janela de conexão do CData Connect Cloud, selecione Entrar.

5. Na janela de entrada, insira as informações de entrada do CData Connect Cloud e


selecione Continuar.
6. Selecione Conectar na janela de conexão.
A janela Navegador é exibida e permite que você importe seus dados.

Importar dados
Com a janela Navegador aberta, siga estas etapas para acessar seus dados do CData
Connect Cloud:

1. Expanda a árvore do CData Connect Cloud. Suas conexões aparecem como


subárvores.

2. Selecione os dados de cada conexão que você deseja importar.

3. Selecione Carregar ou Transformar Dados.

Carregar instrui o conector a executar a consulta subjacente ao CData


Connect Cloud.
Transformar Dados inicia o editor do Power Query e permite ajustar a
consulta antes de carregar os dados. Quando terminar de usar o editor do
Power Query, selecione Fechar & Aplicar na faixa de opções de navegação
para aplicar as alterações e carregar os dados.
Celonis EMS (Beta)
Artigo • 05/10/2023

7 Observação

O artigo do conector a seguir é fornecido pela Celonis, proprietária desse conector


e membro do Programa de Certificação de Conector do Microsoft Power Query. Se
tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações neste
artigo, visite o site da Celonis e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Beta

Produtos Power BI (Conjuntos de Dados)


Power BI (Fluxos de Dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Conta organizacional

Documentação de referência da função Web.Contents


Parquet.Document
Json.Document
Json.FromValue

Pré-requisitos
Antes de entrar no Celonis EMS , você deve ter uma conta do Celonis EMS (nome de
usuário/senha).

Funcionalidades com suporte


Importação
Navegar usando hierarquia completa

Conectar ao Celonis EMS do Power Query


Desktop
Para fazer a conexão, execute as seguintes etapas:

1. Selecione Obter Dados na faixa de opções Início no Power BI Desktop. Selecione


Celonis EMS na seleção do conector e, em seguida, selecione Conectar.

2. A caixa de diálogo Celonis EMS agora é exibida, com uma URL de exemplo. Insira
a URL da Equipe da Celonis EMS e selecione OK.
3. Insira sua Chave de Aplicativo ou sua Chave de API Pessoal gerada no Celonis
EMS.

4. Ao terminar, selecione Conectar.

5. Após uma conexão bem-sucedida, o Navegador é aberto com a lista de pacotes


disponíveis na equipe do EMS fornecida. Selecione o Registro do Modelo de
Conhecimento que deseja importar e selecione Carregar.

Limitações e problemas
Você deve estar ciente das seguintes limitações e problemas associados ao acesso aos
dados do Celonis EMS:
O Celonis EMS tem um limite interno de 200 mil linhas e 20 colunas retornadas por
registro.

Somente registros definidos podem ser importados. Os registros gerados


automaticamente são excluídos aqui.
CloudBluePSA (Beta)
Artigo • 05/10/2023

7 Observação

O artigo sobre o conector a seguir é fornecido pela CloudBluePSA, proprietária


desse conector e membro do Programa de Certificação de Conector do Microsoft
Power Query. Se tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer
alterações neste artigo, visite o site da CloudBluePSA e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Beta

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Chave de API

Documentação de referência da função CloudBluePSA Connector.Help

Pré-requisitos
Antes de usar o conector CloudBluePSA, você deve ter uma instância do CloudBluePSA
(nome de usuário/senha) e uma chave de API. Entre na instância do PSA, que
geralmente está em uma URL semelhante a YOUR_COMPANY_NAME.cloudbluepsa.io , e
navegue para Configurar > Funcionários > Localizar funcionários e adicione um novo
usuário de API, que fornece uma chave de API.

Recursos
Importaçãoação

Conectar à CloudBluePSA do Power Query


Desktop
Para conectar aos dados do CloudBluePSA:

1. Selecione Obter Dados na faixa de opções Início no Power BI Desktop.

2. Selecione a caixa Pesquisar e comece a digitar CloudBluePSA. Em seguida,


selecione CloudBluePSA na lista à direita e selecione Conectar.

3. Na janela Recuperar todas as páginas de dados exibida, copie e cole a URL gerada
no lado GET do ponto de extremidade de API de sua escolha. Em seguida, em
Filtro, copie e cole o filtro construído no mesmo ponto de extremidade de API. Por
exemplo:

URL:
https://INSTANCE_URL/webapi/v1.3/tickets/getticketsreport
Filtro\ { "pageno": 1, "pagesize": 10, "filters": [{"field": "Type", "op": "cn",
"data": "n"}], "filterop": "AND", "sortcolumn": "Name", "sortorder": "Asc",

"resulttype": "Json", "includeccysymbols": true, "gridcolumns":


"RefNumber,Type,Name"} :

4. Selecione OK.

5. Forneça sua chave de API gerada no CloudBluePSA e selecione Conectar.

6. Você precisa selecionar Transformar Dados e essa seleção abre o editor do Power
Query.

7. Expanda a coluna Data e selecione OK.

8. Expanda a coluna Column1.1. Desta vez, na lista de colunas, todas as colunas de


grade incluídas no filtro são exibidas. Selecione quantas colunas forem necessárias
e selecione OK. Todos os dados selecionados agora são exibidos e podem ser
remodelados e usados para criar relatórios conforme necessário.
9. Selecione Fechar e Aplicar. Agora você pode começar a usar seus dados.

Conectar ao CloudBluePSA do PowerQuery


Online
Para conectar ao CloudBluePSA:

1. Em Escolher fonte de dados, comece a digitar na caixa de pesquisa:


CloudBluePSA.

2. Em Conectar à fonte de dados, forneça a URL e o Filtro conforme definido e


gerado em sua instância, conforme mostrado no exemplo dentro de cada caixa de
texto. Por fim, cole a Chave de API no campo Chave de Conta.
3. Selecione Avançar.

4. Na tela Navegador, selecione o botão Expandir ao lado da coluna Data e


selecione OK.

5. Duas novas colunas agora aparecem. Selecione o botão Expandir ao lado da


coluna Column1.1 e selecione OK. Agora você pode começar a usar seus dados.
Recursos adicionais
As informações a seguir do CloudBluePSA poderão ser úteis:

Central de Ajuda do CloudBluePSA


Como conectar o Power BI à API
API
Criar uma chave de API
Usando a API
Common Data Service (Herdado)
Artigo • 13/07/2023

7 Observação

O conector do Common Data Service (Legacy) foi substituído pelo conector Power
Query Dataverse. Na maioria dos casos, recomendamos que você use o conector
do Dataverse em vez do conector do Common Data Service (Legacy). No entanto,
pode haver casos limitados em que é necessário escolher o conector do Common
Data Service (Legacy). Esses casos são descritos em Quando usar o conector do
Common Data Service (Legacy).

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (Dataflow Gen2)
Customer Insights do Dynamics 365

Tipos de autenticação Conta organizacional

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Você deve ter um ambiente Common Data Service (Legacy) com permissões de maker
para acessar o portal e permissões de leitura para acessar dados em tabelas.

Funcionalidades com suporte


Servidor URL
Avançado
Reordenar colunas
Adicionar coluna de exibição

Conectar-se ao Common Data Service (Legado)


do Power BI Desktop:
Para se conectar ao Common Data Service (Legacy) de Power BI Desktop:

1. Na guia Página Inicial, selecione Obter dados.

2. Na caixa de diálogo Obter Dados, selecione oServiço de Dados Comuns do Power


Platform> (Legacy)e, em seguida, Conectar.
3. Insira a URL do ambiente Common Data Service (Legado) dos dados que você
deseja carregar. Use o formato https://<yourenvironmentid.crm.dynamics.com/>.
Mais informações: Localizando sua URL de ambiente do Dataverse

Quando a tabela é carregada na caixa de diálogo Navegador, por padrão, as


colunas na tabela são reordenadas em ordem alfabética pelos nomes das colunas.
Se você não quiser que as colunas sejam reordenadas, nas configurações
avançadas, insira falso em Reordenar colunas.

Também quando a tabela é carregada, por padrão, se a tabela contiver campos de


lista de seleção, uma nova coluna com o nome do campo de lista de seleção com
_display acrescentada no final do nome é adicionada à tabela. Se você não quiser
que a coluna de exibição do campo de lista de seleção seja adicionada, nas
configurações avançadas insira falso na coluna Adicionar exibição.

Quando terminar de preencher as informações relevantes, selecione OK.

4. Se esta for a primeira vez que você está se conectando a este site, selecione Entrar
e insira suas credenciais. Depois, selecione Conectar.

5. No Navegador, selecione o dado desejado e carregue ou transforme os dados.


Conectar-se ao Common Data Service (Legacy)
do Power Query Online
Para se conectar ao Common Data Service (Legacy) do Power Query Online:

1. Na página Fontes de Dados, selecione Common Data Service (Legacy).

2. Insira o endereço de URL do servidor dos dados que deseja carregar.


3. Se necessário, insira um gateway de dados local se você estiver usando dados
locais. Por exemplo, se você vai combinar dados do Dataverse e de um banco de
dados SQL Server local.

4. Entre com a conta corporativa.

5. Depois de entrar, selecione Avançar.

6. Na página do Navegador, selecione os dados necessários e Transformar dados.

Localizando sua URL de ambiente do Common


Data Service (Legacy)
Abra Power Apps . No canto superior direito da página do Power Apps, selecione o
ambiente ao qual você vai se conectar. Selecione o ícone o ícone de configurações e
selecione Configurações avançadas.

Na nova guia do navegador que se abrir, copie a raiz da URL. Essa URL raiz é a URL
exclusiva para seu ambiente. A URL estará no formato
https://<yourenvironmentid.crm.dynamics.com/>. Mantenha essa URL em algum lugar à
mão para que você possa usá-la mais tarde, por exemplo, ao criar relatórios do Power
BI.
Quando usar o conector do Common Data Service
(Legacy)
O Dataverse é a substituição direta para o conector do Common Data Service. No
entanto, pode haver momentos em que é necessário escolher o conector do Common
Data Service (Legacy) em vez do conector do Dataverse:

Há certos tipos de dados TDS (Fluxo de Dados Tabulares) com suporte no OData ao usar
o Common Data Service (Legacy) que não têm suporte no Dataverse. Os tipos de dados
com suporte e sem suporte são listados em Como o SQL do Dataverse difere do
Transact-SQL.

Todos esses recursos serão adicionados ao conector do Dataverse no futuro, momento


em que o conector do Common Data Service (Legacy) estará obsoleto.

Mais informações: Acessar grandes conjuntos de dados

Limitações e problemas

Limites de desempenho e limitação da API OData do


Dataverse
Para obter informações sobre limites de desempenho e limitação OData API para
conexões do Dataverse, acesse Limites e alocações de Solicitações. Essas limitações se
aplicam ao conector da Common Data Source (Legacy) (que usa a API OData como um
detalhe de implementação) e ao conector do Feed OData ao acessar o mesmo ponto de
extremidade.
Taxa de recuperação de entidade
Como diretriz, a maioria das entidades padrão será recuperada a uma taxa de
aproximadamente 500 linhas por segundo usando o conector do Common Data Service
(Legacy). Leve essa taxa em conta ao decidir se deseja se conectar ao Dataverse ou
exportar para o Data Lake. Se você precisar de taxas de recuperação mais rápidas,
considere usar o recurso Exportar para Data Lake ou o conector do Dataverse. Mais
informações: Conexões alternativas do Dataverse

Conexões alternativas do Dataverse


Há várias maneiras alternativas de extrair e migrar dados do Dataverse:

Use o recurso Azure Synapse Link no Power Apps para extrair dados do Dataverse
para Azure Data Lake Storage Gen2, que podem ser usados para executar a
análise. Para obter mais informações sobre o recurso Azure Synapse Link, acesse O
que é Azure Synapse Link para o Dataverse?.

Use o conector OData para mover dados para dentro e para fora do Dataverse.
Para obter mais informações sobre como migrar dados entre ambientes do
Dataverse usando o conector OData de fluxos de dados, acesse Migrar dados
entre ambientes do Dataverse usando o conector OData de fluxos de dados.

Use o conector do Dataverse para acessar dados somente leitura no Dataverse.


Para obter mais informações sobre esse recurso, acesse Exibir dados de tabela no
Power BI Desktop.

7 Observação

O conector do Dataverse e as APIs OData destinam-se a atender a cenários


analíticos em que os volumes de dados são relativamente pequenos. A abordagem
recomendada para extração de dados em massa é "Azure Synapse Link".

A consulta de colunas de exibição deve incluir o campo


na consulta
Ao usar esse conector, se você estiver incluindo <colunas de campo> display , também
deverá incluir <o campo> na consulta ou a coluna de <campo> _display poderá ser
nula. Por exemplo:

Power Query M
Table.SelectColumns(#"Navigation 1", {"statuscode", "statuscode_display"})

Se statuscode não estiver incluído, statuscode_display poderá ficar nulo e errado.

Acessando grandes conjuntos de dados


Os conjuntos de dados do Power BI contidos no Dataverse podem ser muito grandes.
Se você estiver usando o conector Power Query Dataverse, qualquer consulta específica
que acesse o conjunto de dados deverá retornar menos de 80 MB de dados. Portanto,
talvez seja necessário consultar os dados várias vezes para acessar todos os dados no
conjunto de dados. O uso de várias consultas pode levar um tempo considerável para
retornar todos os dados.

Se você estiver usando o conector do Common Data Service (Legacy), poderá usar uma
única consulta para acessar todos os dados no conjunto de dados. Esse conector
funciona de forma diferente e retorna o resultado em "páginas" de registros de 5K.
Embora o conector do Common Data Service (Legacy) seja mais eficiente no retorno de
grandes quantidades de dados, ainda pode levar um tempo significativo para retornar o
resultado.

Em vez de usar esses conectores para acessar grandes conjuntos de dados,


recomendamos que você use Azure Synapse Link. Usar Azure Synapse Link é ainda mais
eficiente que os conectores Power Query Dataverse ou Common Data Service (Legacy) e
ele foi projetado especificamente em cenários de integração de dados.
Databricks
Artigo • 05/10/2023

7 Observação

O artigo de conector a seguir é fornecido pela Databricks, proprietária desse


conector e membro do Programa de Certificação do Conector do Microsoft Power
Query. Se tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações
neste artigo, visite o site da Databricks e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Azure Active Directory


Conta organizacional
Token de acesso pessoal

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Esse conector deve ser usado apenas com um SQL Warehouse do Databricks em
execução na AWS e usando OAuth. Se você estiver usando o Azure Databricks, use o
conector Azure Databricks. Se você não estiver usando OAuth com o SQL Warehouse do
Databricks (na AWS ou no GCP), use o conector Azure Databricks também. Não há
suporte para o Databricks Community Edition.

Funcionalidades com suporte


Importação
DirectQuery (conjuntos de dados do Power BI)

Conectar ao Databricks do Power Query


Desktop
Para conectar ao Databricks do Power Query Desktop, execute as seguintes etapas:

1. Na experiência de Obter Dados, procure Databricks para obter uma lista pequena
do conector Databricks. Você só deve usar o conector Databricks aqui para seus
dados do SQL Warehouse do Databricks (em execução na AWS) se estiver usando
OAuth para autenticação.

2. Forneça o Nome do host do servidor e o Caminho HTTP para o SQL Warehouse


do Databricks. Consulte Configurar os drivers ODBC e JDBC do Databricks para
obter instruções sobre como procurar seu "Nome do host do servidor" e "Caminho
HTTP". Insira essas informações corretamente. Como opção, você pode fornecer
um catálogo e/ou banco de dados padrão em Opções avançadas. Selecione OK
para continuar.
3. Forneça suas credenciais para autenticar com o SQL Warehouse do Databricks.
Você tem três opções de credenciais:

Nome de usuário/Senha. Essa opção não está disponível se sua


organização/conta usa 2FA/MFA.

Token de acesso pessoal. Consulte Tokens de acesso pessoal para obter


instruções sobre como gerar um PAT (Token de Acesso Pessoal).

OAuth (OIDC). Entre em sua conta organizacional usando o pop-up do


navegador.

7 Observação
Depois de inserir suas credenciais para um SQL Warehouse do Databricks
específico, o Power BI Desktop armazena em cache e reutiliza essas mesmas
credenciais em tentativas de conexão subsequentes. Você pode modificar
essas credenciais indo até Arquivo > Opções e configurações >
Configurações de fonte de dados. Mais informações: Alterar o método de
autenticação

4. Depois que você se conecta com êxito, o Navegador mostra os dados disponíveis
para você no cluster. Você pode escolher Transformar Dados para transformar os
dados usando o Power Query ou Carregar para carregar os dados no Power Query
Desktop.

Conectar aos dados do Databricks do Power


Query Online
Para conectar ao Databricks do Power Query Online, execute as seguintes etapas:

1. Na experiência de Obter Dados, selecione a categoria Fluxo de Dados. (Consulte


Criando um fluxo de dados para obter instruções.) Crie uma pequena lista do
conector Databricks disponível com a caixa de pesquisa. Selecione o conector
Databricks para seu SQL Warehouse do Databricks.
2. Insira o Nome do host do servidor e o Caminho HTTP para o SQL Warehouse do
Databricks. Consulte Configurar os drivers ODBC e JDBC do Databricks para obter
instruções sobre como procurar seu "Nome do host do servidor" e "Caminho
HTTP". Como opção, você pode fornecer um catálogo e/ou banco de dados
padrão em Opções avançadas.

3. Forneça suas credenciais para autenticar com o SQL Warehouse do Databricks. Há


três opções de credenciais:

Básico. Use essa opção ao autenticar com um nome de usuário e uma senha.
Essa opção não está disponível se sua organização/conta usa 2FA/MFA.
Chave de Conta. Use essa opção ao autenticar usando um Token de Acesso
Pessoal. Consulte Tokens de acesso pessoal para obter instruções sobre como
gerar um PAT (Token de Acesso Pessoal).
Conta organizacional. Use essa opção ao autenticar com OAuth. Entre em sua
conta organizacional usando o pop-up do navegador.

4. Depois que você se conecta com êxito, o Navegador aparece e exibe os dados
disponíveis no servidor. Selecione os dados no navegador. Em seguida, selecione
Avançar para transformar os dados no Power Query.
Dataverse
Artigo • 13/07/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (Dataflow Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365

Tipos de autenticação Conta organizacional

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Você deve ter um ambiente do Dataverse.

Você deve ter permissões de leitura para acessar dados em tabelas.

Para usar o conector do Dataverse, a configuração do ponto de extremidade TDS deve


estar habilitada em seu ambiente. Mais informações: Gerenciar configurações de recurso

Para usar o conector do Dataverse, uma das portas TCP 1433 ou 5558 precisa estar
aberta para se conectar. A porta 1433 é usada automaticamente. No entanto, se a porta
1433 estiver bloqueada, você poderá usar a porta 5558. Para habilitar a porta 5558, você
deve acrescentar esse número de porta à URL do ambiente do Dataverse, como
yourenvironmentid.crm.dynamics.com, 5558. Mais informações: SQL Server problema de
conexão devido a portas fechadas

7 Observação
Se você estiver usando Power BI Desktop e precisar usar a porta 5558, deverá criar
uma fonte com a URL de ambiente do Dataverse, como
yourenvironmentid.crm.dynamics.com.5558, no Power Query M.

Funcionalidades com suporte


Servidor URL
Importar
DirectQuery (Conjuntos de dados do Power BI)
Avançado
Adicionar colunas de relação

Conectar-se ao Dataverse do Power Query


Desktop

7 Observação

O conector Power Query Dataverse é mais adequado para cargas de trabalho de


análise, não extração de dados em massa. Mais informações: Conexões alternativas
do Dataverse

Para se conectar ao Dataverse do Power Query Desktop:

1. Selecione a opção Dataverse em Obter Dados. Mais informações: Locais para


obter dados

2. Se você estiver se conectando a este site pela primeira vez, selecione Entrar e
insira suas credenciais. Depois, selecione Conectar.

3. No Navegador, selecione o dado desejado e carregue ou transforme os dados.


4. Se você estiver usando Power Query de Power BI Desktop, será solicitado que você
selecione o modo de conectividade de dados Import ou DirectQuery. Depois,
selecione OK.

Conectar-se ao Dataverse do Power Query


Online
Para se conectar ao Dataverse do Power Query Online:

1. Selecione a opção Dataverse na página Escolher fonte de dados . Mais


informações: Locais para obter dados

2. Na página Conectar-se à fonte de dados , deixe o endereço da URL do servidor


em branco. Deixar o endereço em branco lista todos os ambientes disponíveis que
você tem permissão para usar na janela Power Query Navegador.

7 Observação

Se você precisar usar a porta 5558 para acessar seus dados, precisará carregar
um ambiente específico com a porta 5558 acrescentada no final no endereço
da URL do servidor. Nesse caso, acesse Localizar a URL de ambiente do
Dataverse para obter instruções sobre como obter o endereço de URL do
servidor correto.

3. Se necessário, insira um gateway de dados local se você estiver usando dados


locais. Por exemplo, se você vai combinar dados do Dataverse e de um banco de
dados SQL Server local.

4. Entre com a conta corporativa.

5. Depois de entrar, selecione Avançar.

6. Na página do Navegador, selecione os dados necessários e Transformar dados.

Conectar usando opções avançadas


Power Query Online fornece opções avançadas que você pode adicionar à consulta, se
necessário.

A tabela a seguir lista as opções avançadas que você pode definir no Power Query
Online.

Opção Descrição
avançada

Adicionar Se marcada, inclui colunas que podem ter relações com outras tabelas. Se essa
colunas de caixa estiver desmarcada, você não verá essas colunas. Mais informações:
relação Problemas de desempenho relacionados a colunas de relação

Depois de selecionar as opções avançadas necessárias, selecione Avançar para se


conectar ao Dataverse.

Localizando sua URL de ambiente do Dataverse


Se precisar usar a porta 5558 para se conectar ao Dataverse, você precisará encontrar
sua URL de ambiente do Dataverse. Abra Power Apps . No canto superior direito da
página do Power Apps, selecione o ambiente ao qual você vai se conectar. Selecione o
ícone o ícone de configurações e selecione Configurações avançadas.

Na nova guia do navegador que se abrir, copie a raiz da URL. Essa URL raiz é a URL
exclusiva para seu ambiente. A URL estará no formato
https://<yourenvironmentid.crm.dynamics.com/>. Remmova https:// e a parte a / da
URL antes de colá-la para se conectar ao seu ambiente. Acrescente a porta 5558 ao
final da URL do ambiente, por exemplo , yourenvironmentid.crm.dyamics.com,5558.

Quando usar o conector do Common Data


Service (Legacy)
O Dataverse é a substituição direta para o conector do Common Data Service. No
entanto, pode haver momentos em que é necessário escolher o conector do Common
Data Service (Legacy) em vez do conector do Dataverse:

Há certos tipos de dados TDS (Fluxo de Dados Tabulares) com suporte no OData ao usar
o Common Data Service (Legacy) que não têm suporte no Dataverse. Os tipos de dados
com suporte e sem suporte são listados em Como o SQL do Dataverse difere do
Transact-SQL.

Todos esses recursos serão adicionados ao conector do Dataverse no futuro, momento


em que o conector do Common Data Service (Legacy) estará obsoleto.

Mais informações: Acessar grandes conjuntos de dados


Limitações e problemas

Limites de desempenho e limitação do Dataverse


Para obter informações sobre limites de desempenho e limitação para conexões do
Dataverse, acesse Limites e alocações de Solicitações. Essas limitações se aplicam ao
conector do Dataverse e ao conector do Feed OData ao acessar o mesmo ponto de
extremidade.

Taxa de recuperação da tabela


Como diretriz, a maioria das tabelas padrão será recuperada a uma taxa de
aproximadamente 500 linhas por segundo usando o conector do Dataverse. Leve essa
taxa em conta ao decidir se deseja se conectar ao Dataverse ou exportar para o Data
Lake. Se você precisar de taxas de recuperação mais rápidas, considere usar o recurso
Exportar para Data Lake ou o ponto de extremidade TDS (Fluxo de Dados Tabulares).
Mais informações: Conexões alternativas do Dataverse.

Conexões alternativas do Dataverse


Há várias maneiras alternativas de extrair e migrar dados do Dataverse:

Use o recurso Azure Synapse Link no Power Apps para extrair dados do Dataverse
para Azure Data Lake Storage Gen2, que podem ser usados para executar a
análise. Para obter mais informações sobre o recurso Azure Synapse Link, acesse O
que é Azure Synapse Link para o Dataverse?.

Use o conector OData para mover dados para dentro e para fora do Dataverse.
Para obter mais informações sobre como migrar dados entre ambientes do
Dataverse usando o conector OData de fluxos de dados, acesse Migrar dados
entre ambientes do Dataverse usando o conector OData de fluxos de dados.

7 Observação

O conector do Dataverse e as APIs OData destinam-se a atender a cenários


analíticos em que os volumes de dados são relativamente pequenos. A abordagem
recomendada para extração de dados em massa é "Azure Synapse Link".
Problema de conexão do SQL Server devido a portas
fechadas
Ao conectar-se com o conector do Dataverse, você pode encontrar um não é possível
se conectar indicando que ocorreu um erro específico de rede ou instância ao
estabelecer uma conexão com SQL Server. Esse erro provavelmente é causado pelas
portas TCP 1433 ou 5558 bloqueadas durante a conexão. Para solucionar o erro da
porta bloqueada, vá para portas bloqueadas.

Usar consultas de banco de dados nativos com o


Dataverse
Você pode se conectar ao Dataverse usando uma instrução SQL personalizada ou uma
consulta de banco de dados nativa. Embora não haja nenhuma interface do usuário para
essa experiência, você pode inserir a consulta usando o Editor Avançado do Power
Query. Para usar uma consulta de banco de dados nativo, um banco de dados deve ser
especificado como a Origem.

Power Query M

Source = CommonDataService.Database([DATABASE URL])

Depois que uma fonte de banco de dados for definida, você poderá especificar uma
consulta nativa usando a função Value.NativeQuery.

Power Query M

myQuery = Value.NativeQuery(Source, [QUERY], null, [EnableFolding=true])

Ao todo, a consulta tem esta aparência.

Power Query M

let
Source = CommonDataService.Database("[DATABASE]"),
myQuery = Value.NativeQuery(Source, "[QUERY]", null,
[EnableFolding=true])
in
myQuery

Escrever incorretamente um nome de coluna pode resultar em uma mensagem de erro


sobre dobramento de consulta em vez de coluna ausente.
Acessando grandes conjuntos de dados
Os conjuntos de dados do Power BI contidos no Dataverse podem ser muito grandes.
Se você estiver usando o conector Power Query Dataverse, qualquer consulta específica
que acesse o conjunto de dados deverá retornar menos de 80 MB de dados. Portanto,
talvez seja necessário consultar os dados várias vezes para acessar todos os dados no
conjunto de dados. O uso de várias consultas pode levar um tempo considerável para
retornar todos os dados.

Se você estiver usando o conector do Common Data Service (Legacy), poderá usar uma
única consulta para acessar todos os dados no conjunto de dados. Esse conector
funciona de forma diferente e retorna o resultado em "páginas" de 5 mil registros.
Embora o conector do Common Data Service (Legacy) seja mais eficiente no retorno de
grandes quantidades de dados, ainda pode levar um tempo significativo para retornar o
resultado.

Em vez de usar esses conectores para acessar grandes conjuntos de dados,


recomendamos que você use Azure Synapse Link. Usar Azure Synapse Link é ainda mais
eficiente que os conectores Power Query Dataverse ou Common Data Service (Herdado)
e ele foi projetado especificamente em cenários de integração de dados.

Problemas de desempenho relacionados às colunas de


relação
Semelhante ao conector SQL Server, há uma opção disponível para desabilitar
propriedades de navegação (colunas de relação) no conector do Dataverse para
melhorar o desempenho. Essa opção pode ser definida nas opções avançadas
disponíveis no Power Query Online ou pode ser definida usando o
CreateNavigationProperties=false parâmetro na função de conector do Dataverse.

Power Query M

Source = CommonDataService.Database("{crminstance}.crm.dynamics.com",
[CreateNavigationProperties=false]),
Fluxos de dados
Artigo • 10/11/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Dynamics 365 Customer Insights (fluxos de dados)

Tipos de autenticação Conta organizacional

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Você deve possuir um fluxo de dados com permissões de criador para acessar o portal e
permissões de leitura para acessar os dados do fluxo de dados.

Funcionalidades com suporte


Importação
DirectQuery (conjuntos de dados do Power BI)

7 Observação

O DirectQuery requer o Power BI Premium. Para mais informações, consulte:


Recursos Premium de fluxos de dados
Obter dados de fluxos de dados no Power BI
Desktop
Para obter dados de fluxos de dados no Power BI Desktop:

1. Na guia Página Inicial, selecione Obter dados.

2. Na caixa de diálogo Obter dados, selecione Power Platform > Fluxos de dados e
Conectar.

3. Se esta for a primeira vez que você está se conectando a este site, selecione Entrar
e insira suas credenciais. Depois, selecione Conectar.
4. No Navegador, selecione o fluxo de dados desejado e carregue ou transforme os
dados.

Obter dados de fluxos de dados no Power


Query Online
Para obter dados de fluxos de dados no Power Query Online:

1. Na página Fontes de dados, selecione Fluxos de dados.

2. Ajuste o nome da conexão.


3. Se necessário, insira um gateway de dados local se estiver usando dados locais. Por
exemplo, se você for combinar dados de fluxos de dados e um banco de dados
SQL Server local.

4. Entre com a conta corporativa.

5. Depois de entrar, selecione Avançar.

6. Na página do Navegador, selecione os dados necessários e Transformar dados.

Perguntas frequentes
O DirectQuery não está funcionando no Power BI. O que devo fazer?

Para que o DirectQuery seja executado, você precisa ter o Power BI Premium e ajustar
alguns itens de configuração no workspace do Power BI. Essas ações são explicadas no
artigo Recursos Premium de fluxos de dados.

Minha tabela de fluxo de dados não aparece no conector de fluxo de dados no Power
BI

Provavelmente você está usando uma tabela do Dataverse como o destino do fluxo de
dados padrão. Use o conector Dataverse/CDS ou considere mudar para um fluxo de
dados analítico.

Há uma diferença nos dados quando removo as duplicidades nos fluxos de dados.
Como posso resolver isso?
Pode haver uma diferença nos dados entre o momento da criação e o momento da
atualização. Não podemos garantir qual instância está sendo mantida durante o tempo
de atualização. Para obter informações sobre como evitar inconsistências nos dados,
acesse Como trabalhar com duplicidades.

Estou usando o conector Dataflow no modo DirectQuery — há suporte para pesquisa


sem diferenciação de maiúsculas e minúsculas?

Não, a pesquisa sem diferenciação de maiúsculas e minúsculas em colunas não é


suportada no modo DirectQuery. Se você precisar usar a pesquisa sem diferenciação de
maiúsculas e minúsculas, poderá usar o modo de importação. Para obter mais
informações, vá para DirectQuery no Power BI.

Estou obtendo dados por meio do conector de fluxo de dados, mas estou recebendo um
código de erro 429: como posso resolver isso?

Quando você está recebendo um código de erro 429, possivelmente é devido a exceder
o limite de 1000 solicitações por minuto. Esse erro normalmente é resolvido sozinho se
você aguardar um ou dois minutos após o término do período de resfriamento. Esse
limite está em vigor para impedir que os fluxos de dados e outras funcionalidades do
Power BI tenham um desempenho degradado. As consequências devido à alta carga
contínua no serviço podem resultar em desempenho adicional degradado, por isso
pedimos aos usuários que reduzam significativamente o número de solicitações para
menos de 1000 (limite) ou corrijam seu script/modelo para esse limite específico (1000)
para atenuar o impacto com eficiência e evitar mais problemas. Você também deve
evitar junções aninhadas que solicitam novamente dados de fluxo de dados; em vez
disso, prepare dados e execute mesclagens no fluxo de dados, em vez de no conjunto
de dados.

Confira também
Como usar a saída de fluxos de dados de outras experiências do Power Query
Melhores práticas para criação e desenvolvimento de fluxos de dados complexos
Práticas recomendadas para reutilizar fluxos de dados nos ambientes e workspaces
Compartilhamento Delta
Artigo • 05/10/2023

7 Observação

O artigo de conector a seguir é fornecido pela Databricks, proprietária desse


conector e membro do Programa de Certificação do Conector do Microsoft Power
Query. Se tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações
neste artigo, visite o site da Databricks e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Chave (token de portador)

Pré-requisitos
Se você usar o Power BI Desktop precisar instalar a versão de novembro do Power BI
Desktop ou posterior. Faça o download da versão mais recente .

O provedor de dados envia uma URL de ativação da qual você pode baixar um arquivo
de credenciais que concede acesso aos dados compartilhados.

Depois de baixar o arquivo de credenciais, abra-o com um editor de texto para


recuperar a URL do ponto de extremidade e o token.

Para obter informações detalhadas sobre o compartilhamento Delta, visite Acessar


dados compartilhados com você usando o compartilhamento Delta .

Funcionalidades com suporte


Importação
Conectar-se ao compartilhamento Delta do
Databricks no Power BI Desktop
Para se conectar ao Databricks usando o conector do Compartilhamento Delta, conclua
as seguintes etapas:

1. Abra o Power BI Desktop.

2. No menu Obter Dados, procure Compartilhamento Delta.

3. Selecione o conector e clique em Conectar.

4. Insira a URL do ponto de extremidade que você recuperou do arquivo de


credenciais para o campo URL do Servidor do Compartilhamento Delta.

5. Opcionalmente, na guia Opções Avançadas, defina um Limite de Linhas para o


número máximo de linhas que pode ser baixado. Isso é definido como um milhão
de linhas por padrão.

6. Selecione OK.

7. Na caixa de diálogo Autenticação, insira o token recuperado do arquivo de


credenciais no campo Token do Portador.

8. Selecione Conectar.

Limitações e considerações
Esta seção descreve quaisquer limitações ou considerações do conector de
Compartilhamento Delta.

Você precisa verificar se os dados carregados com o conector de Compartilhamento


Delta se ajustam à memória do computador. Para garantir isso, o conector limita o
número de linhas importadas ao Limite de Linhas definido pelo usuário.
Denodo
Artigo • 05/10/2023

7 Observação

O artigo do conector a seguir é fornecido pelo Denodo, o proprietário desse


conector e membro do Programa de Certificação do Conector do Microsoft Power
Query. Se você tiver dúvidas sobre o conteúdo deste artigo ou tiver alterações que
gostaria de ver feitas neste artigo, visite o site do Denodo e use os canais de
suporte.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Basic


Windows

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Para usar esse conector, você deve ter instalado a plataforma Denodo e configurado e
iniciado seu serviço. No caso de uma conexão usando um DSN do ODBC, você deve ter
configurado corretamente a conexão no Administrador de Fonte de Dados ODBC.

Funcionalidades com suporte


Importação
DirectQuery (conjuntos de dados do Power BI)
Conectar-se a uma fonte de dados ODBC do
Power Query Desktop
Para fazer a conexão, execute as seguintes etapas:

1. Para se conectar aos dados, selecione Obter Dados na faixa de opções Página
Inicial e selecione Denodo na seção Banco de Dados.

2. Há duas maneiras de se conectar à fonte de dados de sua escolha:

Por meio do DSN (nome da fonte de dados ODBC)


Usando uma cadeia de conexão

Na seção DSN ou Cadeia de Conexão da caixa de diálogo Conector Denodo,


insira o nome da fonte de dados (DSN) ou a Cadeia de Conexão dependendo do
tipo de conexão que preferir.

Ao criar uma cadeia de conexão compatível com Denodo, você deve levar em
conta que o campo Driver deve ser omitido, pois isso é definido de forma
transparente no momento da conexão pelo próprio conector.

A cadeia de conexão deve conter três parâmetros obrigatórios: SERVER, PORT e


DATABASE:

HTTP

SERVER=<Server name>;PORT=<Port number>;DATABASE=<Database name>

Além disso, ela pode conter um parâmetro opcional: SSLmode:

HTTP

SERVER=<Server name>;PORT=<Port number>;DATABASE=<Database


name>;SSLmode=<SSL mode>

Os parâmetros de autenticação devem ser omitidos, pois a autenticação é


configurada em etapas posteriores.

7 Observação
Ao gravar a cadeia de conexão, deve-se levar em conta:

1. A cadeia de conexão deve manter a ordem correta de seus parâmetros:


SERVER, PORT, DATABASE e SSLMode.
2. O nome desses parâmetros deve ser sempre escrito da mesma maneira. Por
exemplo, se você optar por escrevê-los em maiúsculas, eles devem sempre ser
escritos em maiúsculas. Se você decidir escrevê-los com a primeira letra em
maiúscula e o restante em minúsculas, eles devem sempre ser escritos dessa
forma.

De outra forma, é possível que o Power BI não reconheça diferentes conjuntos de


dados do Denodo em um relatório como pertencentes à mesma fonte de dados do
Denodo e, como consequência, solicitar credenciais de autenticação separadas para
cada um deles.

3. A segunda seção, Habilitar o modo de depuração, é um campo opcional que


permite adicionar informações de rastreamento aos arquivos de log. Esses
arquivos são criados por Power BI Desktop quando você habilita o rastreamento
no aplicativo usando a guia Diagnóstico no menu Opções. Observe que o valor
padrão para Habilitar o modo de depuração é falso e, nesse cenário, não haverá
dados de rastreamento nos arquivos de log do conector personalizado do Denodo
Power BI.

4. A terceira seção, Consulta Nativa, é um campo opcional no qual você pode inserir
uma consulta. Se esse campo de consulta for usado, o conjunto de dados
resultante será o resultado da consulta em vez de uma tabela ou um conjunto de
tabelas.

Você pode gravar uma consulta que consulte apenas um dos bancos de dados aos
quais a fonte de dados está associada.

SQL

SELECT title, name FROM film JOIN language ON film.language_id =


language.language_id WHERE film.language_id = 1

Se desejar gravar uma consulta que consulte mais de um banco de dados, você
precisará especificar na consulta o banco de dados que possui cada tabela.

SQL
SELECT i_item_sk, country FROM sakila.country, ewd.item

5. A última seção no Denodo é o modo de conectividade de dados, em que você


pode escolher entre o modo de importação ou o modo DirectQuery.

6. Quando terminar, selecione OK.

7. Antes de mostrar a janela do navegador que exibe uma visualização dos dados
disponíveis no Denodo Virtual DataPort, você será solicitado a autenticação. O
conector personalizado do Denodo Power BI dá suporte a dois tipos de
autenticação: Windows e Basic.

Windows: quando você opta por usar a autenticação do Windows, o Power BI


Desktop se conecta ao Virtual DataPort usando a autenticação Kerberos.

Nesse caso:

A autenticação Kerberos deve ser habilitada no servidor do Virtual


DataPort.

O banco de dados Denodo Virtual DataPort ao qual a fonte de dados se


conecta deve ser configurado com a opção tipo de autenticação
ODBC/ADO.net tipo definida como Kerberos.

O Power BI Desktop deve estar em execução no domínio do Windows,


porque o driver ODBC solicita o tíquete Kerberos do cache de tíquete do
sistema operacional.

Verifique se a página Opções Avançadas da configuração do DSN contém


toda a configuração necessária para usar o Kerberos como método de
autenticação.
Basic: esse tipo de autenticação permite que você se conecte Power BI
Desktop aos dados do Virtual DataPort usando suas credenciais de servidor
DataPort Virtual.

8. Ao terminar, selecione Conectar.

9. No Navegador, selecione os dados necessários no banco de dados desejado e


escolha Carregar ou escolha Transformar Dados se quiser modificar os dados de
entrada.
Conectar-se a uma fonte de dados ODBC de
serviço do Power BI usando o gateway de
dados local
Para fazer a conexão, execute as seguintes etapas:

1. Configure o gateway de dados local (gateway corporativo) que atua como uma
ponte, fornecendo transferência de dados rápida e segura entre dados locais
(dados em seu aplicativo Power BI Desktop, não na nuvem) e o serviço do Power
BI.

2. Entre e registre seu gateway. No aplicativo de gateway de dados local, selecione a


guia Status para verificar se o gateway está online e pronto para ser usado.
3. Usando a página de configurações do gateway em serviço do Power BI, crie uma
fonte de dados para o conector personalizado do Denodo Power BI.
Para criar a fonte de dados, você precisa especificar a maneira de se conectar à
fonte de dados de sua escolha:

Por meio do DSN


Usando uma cadeia de conexão

Você também precisa especificar o modo de autenticação. Os métodos de


autenticação disponíveis são:

Windows: quando você opta por usar a autenticação do Windows, o serviço


Power BI se conecta ao Virtual DataPort usando a autenticação Kerberos.
Você precisa de:

Nas Configurações da Fonte de Dados, insira o nome de usuário e a


senha para criar o tíquete Kerberos.

A autenticação Kerberos deve ser habilitada no servidor do Virtual


DataPort.

O banco de dados Denodo Virtual DataPort ao qual a fonte de dados se


conecta deve ser configurado com a opção tipo de autenticação
ODBC/ADO.net tipo definida como Kerberos.
Verifique se a página Opções Avançadas da configuração do DSN contém
toda a configuração necessária para usar o Kerberos como método de
autenticação.

Basic: Esse tipo de autenticação permite que você crie uma fonte de dados
no serviço do Power BI para se conectar aos dados do Virtual DataPort
usando as credenciais do servidor Virtual DataPort.

4. Se você usar autenticação do Windows, em configurações avançadas para a fonte


de dados, poderá habilitar o esquema de autenticação de logon único (SSO) para
usar as mesmas credenciais do usuário que acessa seus relatórios no Power BI para
acessar os dados necessários no Denodo.
Há duas opções para habilitar o SSO: usar o SSO por meio de consultas Kerberos
para DirectQuery e usar o SSO por meio do Kerberos para consultas DirectQuery
e Import. Se você estiver trabalhando com relatórios baseados em DirectQuery,
ambas as opções usarão as credenciais de SSO do usuário que entra no serviço do
Power BI. A diferença vem quando você trabalha com relatórios baseados em
importação. Nesse cenário, a opção anterior usa as credenciais inseridas na página
de fonte de dados (campos Nome de usuário e senha), enquanto a última usa as
credenciais do proprietário do conjunto de dados.

É importante observar que há pré-requisitos e considerações específicos que você


deve levar em conta para usar o SSO baseado em Kerberos. Alguns desses
requisitos essenciais são:
A delegação restrita Kerberos deve ser habilitada para o usuário do Windows
que executa o Microsoft Power BI Gateway e a configuração dos ambientes
locais do Active Directory e do Azure Active Directory deve ser executada de
acordo com as instruções oferecidas pela Microsoft para essa finalidade.

Por padrão, o Microsoft Power BI Gateway envia o UPN (nome principal do


usuário) quando executa uma operação de autenticação de SSO. Portanto,
você precisará examinar o atributo que usará como identificador de logon na
Autenticação Kerberos do Denodo e, se for diferente de userPrincipalName ,
ajuste as configurações do gateway de acordo com esse valor.

O arquivo de configuração do Gateway do Microsoft Power BI chamado


Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config ,

armazenado em \Program Files\On-premises data gateway , tem duas


propriedades chamadas ADUserNameLookupProperty e
ADUserNameReplacementProperty , que permitem que o gateway execute

pesquisas locais do Azure AD no tempo de execução. O


ADUserNameLookupProperty deve especificar em relação a qual atributo do AD

local deve mapear o nome de entidade de usuário proveniente de Azure AD.


Então, neste cenário, ADUserNameLookupProperty deve ser userPrincipalName .
Em seguida, depois que o usuário é encontrado,
ADUserNameReplacementProperty indica o atributo que deve ser usado para

autenticar o usuário representado (o atributo que você usará como o


identificador de logon no Denodo).

Você também deve levar em conta que as alterações nesse arquivo de


configuração estão no nível do gateway e, portanto, afetarão qualquer fonte
com a qual a autenticação de SSO seja feita por meio do Microsoft Power BI.

5. Depois que uma fonte de dados for criada para o conector do Denodo, você
poderá atualizar os relatórios do Power BI. Para publicar um relatório no
powerbi.com, você precisa:

Abra o relatório no Power BI Desktop.


Selecione Arquivo>Publicar>Publicar no Power BI.
Salvar o relatório no computador.
Selecione o espaço de trabalho no qual você deseja salvar o relatório.

Solução de problemas
Carregar dados quando um campo em um modo de
exibição do Denodo tem mais de 42 relações com outros
modos de exibição.
Se um modo de exibição do Denodo que está sendo importado como uma fonte de
dados para o Power BI tiver mais de 42 relações com outros modos de exibição, o Power
BI poderá exibir o seguinte erro ao acessar a janela de transformação de dados:

Preview.Error: The type of the current preview value is too complex to display.

Este erro deve-se a uma limitação na plataforma Microsoft Power Query. Para contornar
isso, selecione a fonte de dados com falha (consulta) na janela de transformação de
dados e acesse o editor avançado em Exibir>Editor Avançado. Em seguida, edite a
expressão da fonte de dados na linguagem M, adicionando a seguinte propriedade ao
options argumento da Denodo.Contents chamada de função:

CreateNavigationProperties=false

Assim, sua chamada seria semelhante a:

Source = Denodo.Contents(<dsn>, null, [CreateNavigationProperties=false])

Essa propriedade instruirá o Power BI a não tentar gerar propriedades de navegação a


partir das relações registradas para o modo de exibição do Denodo acessado nessa
fonte de dados. Portanto, se você precisar que algumas dessas relações estejam
realmente presentes em seu modelo de dados do Power BI, será necessário registrá-las
manualmente posteriormente.
Digital Construction Works Insights
Artigo • 13/07/2023

Resumo
Item Descrição

Estado da versão Disponibilidade Geral

Produtos compatíveis Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (Dataflow Gen2)

Tipos de autenticação compatíveis Token Web JSON (JWT) da Digital Construction Works

Documentos de referência da função —

7 Observação

O artigo de conector a seguir é fornecido pela Digital Construction Works (DCW),


proprietária desse conector e membro do Programa de Certificação do Conector
do Microsoft Power Query. Se tiver dúvidas sobre o conteúdo deste artigo ou
desejar fazer alterações neste artigo, visite o site da DCW e use os canais de
suporte.

Pré-requisitos
O uso desse conector requer uma assinatura da Plataforma de integrações da Digital
Construction Works. Para saber mais, acesse
https://www.digitalconstructionworks.com/solutions/the-dcw-integrations-platform .
Visite https://www.digitalconstructionworks.com para obter informações sobre a
empresa.

Os usuários da Plataforma de Integrações da DCW (Digital Construction Works) podem


solicitar um JWT (Token Web JSON) ao administrador do projeto para acessar os dados
usando o conector DCW Insights. Depois, os usuários podem seguir a documentação da
API do OData para se conectar aos conjuntos de dados que desejam usar no Power BI.

Funcionalidades com suporte


Importar

Conectar à API do OData da DCW Insights


dede o Power Query Desktop
Para se conectar a um projeto do DCW Insights, execute as seguintes etapas:

1. Em Obter dados no Power BI Desktop, escolha o conector Digital Construction


Works Insights nos Serviços online.

2. Na URL da API do Insights, forneça a URL da API do OData à qual deseja se


conectar. Você precisa usar https e deve incluir na URL a URL completa do projeto
e o nome do produto. Também poderá inserir parâmetros string de consulta se a
URL solicitar.

3. Selecione OK.

4. Se esta for a primeira vez que você está se conectando a esse ponto de
extremidade, será solicitado que você insira o JWT usado para autorizar você neste
projeto. Depois, selecione Conectar.
Para obter mais informações sobre os métodos de autenticação, acesse
Autenticação com uma fonte de dados.

7 Observação

Se a conexão não for especificada para usar https , você será solicitado a
atualizar sua URL.

5. No Navegador, selecione as informações desejadas do banco de dados e


selecione Carregar para carregar os dados ou Transformar dados para continuar
transformando os dados no Editor do Power Query.

Solução de problemas

Colunas Always Encrypted


O Power Query não suporta colunas "Sempre criptografadas".

OData.Feed
Utilizamos as seguintes configurações padrão ao usar o OData.Feed:

Implementation = "2.0", MoreColumns = true, ODataVersion = 4


Dynamics 365 Online (herdado)
Artigo • 05/10/2023

Este artigo fornece informações básicas, pré-requisitos e instruções sobre como se


conectar ao Dynamics 365 Online (herdado) usando o Power Query.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Analysis Services

Tipos de autenticação compatíveis Anônima


Windows
Basic
API Web
Conta organizacional

Funcionalidades com suporte


Importação

Conectar-se ao Dynamics 365 Online (herdado)


usando o Power Query Desktop
As experiências do Power Query Desktop incluem o Power BI Desktop, o Excel e o
Analysis Services.

Para estabelecer conexão ao Dynamics 365 Online (legado), siga estes passos:

1. Em Obter Dados, selecione a categoria Serviços Online, selecione Dynamics 365


Online (herdado) e selecione Conectar. Mais informações: onde obter dados
2. Na janela exibida, insira o nome do servidor da instância do Dynamics 365 Online
(herdado). Você pode selecionar Avançado para inserir outras partes do URL.

7 Observação

O formato url será algo como


https://<tenant>.crm.dynamics.com/api/data/v9.0.
O formato exato do URL que você usará para se conectar dependerá da
sua região. Para obter mais informações, consulte: URL e versões da API
da Web (docs.com).
Se você selecionar a opção Avançado, poderá acrescentar determinados
parâmetros adicionais à consulta para controlar quais dados serão
retornados. Para obter mais informações, consulte: Consultar dados
usando a API da Web (docs.com).

3. Selecione OK.

4. Se você estiver se conectando a essa fonte de dados pela primeira vez, poderá
selecionar um destes tipos de autenticação: Anônimo, Windows, Básico, API da
Web ou Conta organizacional. Insira suas credenciais e selecione Conectar. Na
próxima vez que você se conectar, ele lembrará suas credenciais.

5. No Navegador, selecione um ou mais arquivos ou pastas para importar e usar em


seu aplicativo. Em seguida, selecione Carregar para carregar a tabela ou
Transformar Dados para abrir o editor do Power Query, onde você pode filtrar e
refinar o conjunto de dados que deseja usar e, em seguida, carregar esse conjunto
refinado de dados.
Eduframe Reporting (Beta)
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Beta

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Conta do Eduframe

7 Observação

O artigo sobre o conector a seguir é fornecido pela Drieam, proprietária desse


conector e membro do Programa de Certificação de Conector do Microsoft Power
Query. Se tiver dúvidas sobre o conteúdo deste artigo ou sugestões de alteração,
visite o site da Drieam e use os canais de suporte.

Pré-requisitos
Antes de entrar no Eduframe Reporting, você deve ter uma conta de administrador do
Eduframe (nome de usuário/senha) e ter habilitado a integração do Eduframe Reporting.
Para habilitar essa integração, você pode enviar um e-mail para: support@eduframe.nl.

Funcionalidades com suporte


Importação

Conectar-se aos dados do Eduframe Reporting


Para se conectar aos dados do Eduframe Reporting:

1. Selecione Obter Dados na faixa de opções Início no Power BI Desktop. Selecione


Serviços Online nas categorias à esquerda, selecione Eduframe (Beta) e selecione
Conectar.
2. Se esta for a primeira vez que você está obtendo dados por meio do conector do
Eduframe, um aviso de conector em versão preliminar será exibido. Selecione Não
mostrar alerta novamente para esse conector se você não quiser que essa
mensagem seja exibida novamente e, depois, selecione Continuar.

3. Insira o domínio do Eduframe que você deseja acessar (esse domínio é o URL sem
.eduframe.nl) e se deseja excluir informações pessoais. Depois, selecione OK.
4. Para fazer login na conta do Eduframe, selecione Entrar.

5. Na janela exibida, forneça suas credenciais para entrar em sua conta do Eduframe
e selecione Entrar.

6. Em seguida, será mostrada uma janela onde você precisa aprovar essa integração
com o Power BI. Selecione Aprovar.
7. Depois de entrar, selecione Conectar.

8. No Navegador, selecione as informações desejadas e selecione Carregar para


carregar os dados ou Transformar Dados para continuar transformando os dados
no editor do Power Query.

Limitações e problemas
Você deve estar ciente das seguintes limitações e problemas associados ao acesso aos
dados do Eduframe.

Há um limite de 100 chamadas de API por 60 segundos.

Próximas etapas
Você pode encontrar informações adicionais e modelos para este conector em nossa
página de documentação .
Emplifi Metrics (Beta)
Article • 11/01/2023

Summary
Item Description

Release State Beta

Products Power BI (Datasets)


Power BI (Dataflows)
Fabric (Dataflow Gen2)

Authentication Types Supported Basic

Capabilities
Import
EQuIS
Artigo • 05/10/2023

7 Observação

O artigo sobre o conector a seguir é fornecido pela EarthSoft, proprietária desse


conector e membro do Programa de certificação de conector do Microsoft Power
Query. Se tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações
neste artigo, visite o site da EarthSoft e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Basic


API Web (tken de API)
Conta organizacional

Documentação de referência da função —

Pré-requisitos
Para usar o conector EQuIS, você deve ter uma conta de usuário válida em um site do
EQuIS Enterprise (versão 7.0.0.19300 ou posterior) que inclua uma licença de API REST.
Sua conta de usuário deve ser membro da função da API REST. Para verificar a
configuração da conta de usuário, acesse a guia Funções em seu perfil de usuário e
verifique se você é membro da função da API REST.

Funcionalidades com suporte


Importação

Conectar ao EQuIS desde o Power BI Desktop


Para se conectar a um site do EQuIS Enterprise desde o Power BI Desktop, execute as
seguintes etapas:

1. Selecione o conector EQuIS na lista de conectores e selecione Conectar.

2. Insira o URL do site do EQuIS Enterprise ao qual você está se conectando e


selecione OK.

3. Selecione o tipo apropriado de autenticação:

Básico: insira seu nome de usuário e senha do EQuIS do site do EQuIS


Enterprise especificado.
Token de API: insira o token de API gerado no EQuIS Enterprise (consulte o
Perfil do usuário ).
Conta corporativa: se o site do EQuIS Enterprise estiver configurado
adequadamente, você poderá se autenticar com o Azure Active Directory

4. No Navegador, navegue até o conjunto de dados ou relatório que você deseja


carregar e selecione Carregar ou Transformar dados. Acesse Como usar os dados
do EQuIS para obter mais informações sobre os conjuntos de dados disponíveis.
Informações adicionais
Para obter a melhor funcionalidade e desempenho, a EarthSoft recomenda usar o
conector EQuIS com o build mais recente do EQuIS Enterprise.
Ao usar relatórios em um grupo de instalações, os usuários que não são
administradores devem ter permissão de acessar todas as instalações contidas no
grupo de instalações.
Apenas os relatórios de "grade" estão disponíveis no Navegador.
Todos os conjuntos de dados consumidos pelo conector do EQuIS usam
camelCase nos nomes das colunas.
A versão atual do conector do EQuIS recupera um conjunto de dados em uma
única solicitação de API (essa lógica pode ser otimizada em uma versão futura do
conector).
Essbase
Artigo • 09/06/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)

Tipos de autenticação compatíveis Básico (Nome de usuário/Senha)

Documentação de referência da função Essbase.Cubes

Pré-requisitos
Há suporte para a versão do Essbase 11.1.2.x.

Funcionalidades com suporte


Importação
Consulta direta (conjuntos de dados do Power BI)
Opções Avançadas
Tempo limite do comando em minutos
Servidor
Aplicativo
Instrução MDX

Conectar-se ao Essbase no Power Query


Desktop
Para se conectar a um servidor Essbase:

1. Selecione a opção Essbase na experiência Obter dados.

2. Insira a URL para o servidor Oracle Essbase Hyperion. Normalmente, a URL se


parece com http://[hostname]:[port number]/aps/XMLA . Os componentes da URL
são:
O hostname (por exemplo, yourservername.domain.com ) é o nome do host ou
endereço IP do servidor APS (Serviço de Provedor de Aplicativos) do Oracle
Hyperion para seu sistema interno.

O port number (por exemplo, 19000) é o número da porta que o servidor APS
está escutando para solicitações XMLA.

A última parte da URL, o caminho (ou seja, /aps/XMLA), diferencia


maiúsculas de minúsculas e deve ser especificado exatamente como
mostrado.

Veja alguns exemplos de URLs:

http://apsserver.company.com:19000/aps/XMLA : usa o nome do host

totalmente qualificado com a porta padrão 19000.


http://hypserver01:13080/aps/XMLA a o nome do host não totalmente

qualificado e a porta 13080.


http://10.10.10.10/aps/XMLA : usa um endereço IP e a porta 80 (alterada do

padrão 19000).

3. Selecione o modo de conectividade de dados Importar ou DirectQuery. Mais


informações: Usar o DirectQuery no Power BI Desktop

Outra opção é inserir valores nas opções avançadas que você quer usar para
modificar a consulta de conexão. Mais informações: Conectar usando opções
avançadas

4. Na primeira vez que você se conectar a uma fonte de dados (identificada por cada
URL exclusiva), as credenciais da conta serão solicitadas. Insira o Nome de usuário
e a Senha da conexão. Mais informações: Autenticação com uma fonte de dados
5. No Navegador, selecione os dados necessários. Em seguida, selecione
Transformar dados para transformar os dados no Editor do Power Query ou
Carregar para carregar dados no Power BI.

Conectar usando opções avançadas


O Power Query fornece um conjunto de opções avançadas que você pode adicionar à
sua consulta, se necessário. A tabela a seguir lista todas as opções avançadas que você
pode definir no Power Query.
Opção Descrição
avançada

Tempo Permite definir o tempo máximo que um comando tem permissão para execução
limite do antes que o Power BI abandone a chamada. Se o tempo limite do comando for
comando atingido, o Power BI poderá tentar novamente mais duas vezes antes de abandonar
em completamente a chamada. Essa configuração é útil para consultar grandes
minutos quantidades de dados. O valor padrão do tempo limite do comando é 140 segundos.

Servidor O nome do servidor em que a instrução MDX opcional deve ser executada. Esse valor
diferencia maiúsculas de minúsculas.

Aplicativo O nome do aplicativo em que a instrução MDX opcional deve ser executada. Esse
valor diferencia maiúsculas de minúsculas.

Instrução Opcionalmente, fornece uma instrução MDX específica para o servidor Oracle
MDX Essbase executar. Normalmente, o Power BI determina interativamente as medidas e
dimensões do cubo a ser retornado. No entanto, ao especificar a instrução MDX, os
resultados dessa instrução MDX específica serão carregados. Ao especificar a
instrução MDX, você também deve fornecer as opções avançadas de Servidor (por
exemplo, essbaseserver-1 ) e o Aplicativo (por exemplo, Sample ) para indicar onde a
instrução MDX deve ser executada. Além disso, você só pode usar a instrução MDX
em conjunto com o modo de Conectividade de dados definido como Importação.

Em geral, o MDX gerado pelo SmartView ou aceito pelo administrador do Essbase


não é 100% compatível com o Power BI.

O PowerBI requer que as medidas sejam especificadas em um eixo 0 em uma


consulta MDX. Além disso, a numeração de nível é revertida no XMLA. O nível menos
granular é o nível 0, 1 e assim por diante no XML, mas o oposto no Essbase,
"diretamente". Portanto, se os números de nível forem usados explicitamente na
consulta MDX, eles precisarão ser ajustados.
Usar o navegador da fonte de dados ao
importar dados
Quando o modo de Conectividade de dados está definido como Importação, o
navegador da fonte de dados carrega os servidores configurados para o servidor APS
que você indicou na URL. Vale lembrar que a expansão de um nó de servidor na árvore
revela os aplicativos; e a expansão de um nó de aplicativo mostra os bancos de dados
disponíveis (também conhecidos como cubos). Já a expansão de um nó de banco de
dados revela as medidas e dimensões disponíveis. A dimensão pode ser expandida
ainda mais para revelar os níveis na hierarquia de cada dimensão.

Escolha uma medida e todos (ou cada) os níveis de dimensão marcando a caixa de
seleção ao lado do nome. Uma pré-visualização dos dados é mostrada no painel à
direita. Clique no botão Carregar para recuperar os dados associados à seleção ou
clique no botão Transformar dados para definir filtros adicionais nos dados antes de
carregá-los no Power BI.
Diferenças na exibição em comparação com a
administração do Essbase
Ao expandir uma hierarquia de dimensões no navegador, veja que ela parece diferente
em comparação com o uso do painel de controle dos Serviços de Administração do
Essbase.

Como exemplo, a imagem a seguir mostra a hierarquia de dimensão de entidade


expandida dos Serviços de Administração do Essbase.
No navegador do Power Query, a mesma entidade que está sendo expandida aparece
desta maneira:

Lembre-se de que essa aparência é uma decisão estilística e que não há diferenças nos
dados. Os níveis no navegador do Power Query são iguais ao nível hierárquico.
No exemplo acima, o Nível 1 conteria "R_ReportingUnits", "Entrada de Entidade de
Ajuste" e "No_Entity". O nível 2 conteria "R_Americas", "R_EMEA", "R_AsiaPacific",
"1_ReportingUnits_Adjustment", "CALA_HFM_Input", "CALA_Total" e assim por diante.

O motivo é que o navegador no Power Query está limitado a 10 mil membros a serem
exibidos, e pode haver milhões ou bilhões de membros em uma hierarquia. Mesmo
quando não há nenhum limite para a exibição de membros (como no Power Query
Online), navegar e selecionar cada membro em um formato de árvore com tantos
valores possíveis rapidamente se torna entediante e difícil.

Portanto, o agrupamento dos níveis hierárquicos facilita a seleção do que importar e a


geração de relatório posterior pode usar filtros para marcar somente os membros
desejados pelo usuário final.

Usar o navegador da fonte de dados para


DirectQuery
Quando o modo de Conectividade de dados do DirectQuery é escolhido, o navegador
da fonte de dados carrega os servidores configurados para o servidor APS que você
indicou na URL. Vale lembrar que a expansão de um nó de servidor na árvore revela os
aplicativos; e a expansão de um nó de aplicativo mostra os bancos de dados disponíveis
(também conhecidos como cubos).
Limitações conhecidas
O conector do Essbase não é compatível com hierarquias de medida. Todas as medidas
são exibidas no mesmo nível. Você ainda pode selecionar todas as medidas necessárias.
O campo de pesquisa pode ser usado para restringir as medidas exibidas se houver
várias.

Considerações sobre o desempenho


Interagir com o Power BI no modo DirectQuery é muito dinâmico. Quando você marca
uma caixa de seleção para incluir uma medida ou nível de dimensão na visualização, o
Power BI Desktop gera uma consulta e a envia para o servidor Oracle Essbase para obter
os resultados. O Power BI é otimizado para armazenar em cache consultas repetidas a
fim de melhorar o desempenho. No entanto, se alguma nova consulta for gerada, ela
será enviada ao servidor Oracle Essbase para produzir um novo resultado. Dependendo
do número de medidas selecionadas, níveis de dimensão e filtros aplicados, a consulta
pode ser enviada mais rapidamente do que o servidor Oracle Essbase pode responder.
Para melhorar o desempenho e aumentar a capacidade de resposta, considere os três
métodos a seguir para otimizar sua interação com o servidor Oracle Essbase.
Opções de reduções de consulta
Há três opções para reduzir o número de consultas enviadas. No Power BI Desktop,
clique na guia Arquivo, selecione Opções e configurações > Opções e Reduções de
consulta na seção Arquivo atual.

Selecionar a opção Desabilitar realce cruzado/filtragem por padrão em Reduzir o


número de consultas enviadas desabilita o realce cruzado/filtragem por padrão.
Quando desabilitadas, as listas de membros no filtro não são atualizadas ao filtrar
membros em outros níveis da mesma dimensão. Selecionar a opção Seleções de
segmentação na seção Mostrar um botão Aplicar e enviar consultas apenas uma vez
exibe o botão Aplicar quando uma seleção de segmentação é alterada. Selecionar a
opção Seleções de filtro na seção Mostrar um botão Aplicar e enviar consultas apenas
uma vez exibe o botão Aplicar quando uma seleção de filtro é alterada.

7 Observação
Essas opções são válidas somente para o arquivo atual em que você está
trabalhando. As configurações da opção Arquivo atual são salvas com o arquivo e
restauradas na abertura do mesmo arquivo.

Aplicar filtro iterativo ao adicionar níveis de


dimensão no modo de importação
Ao interagir no modo de importação com uma fonte de dados de cubo
multidimensional como o Essbase da Oracle, o Power Query inicialmente exibe as
medidas, dimensões e níveis de dimensão na caixa de diálogo Navegador do banco de
dados. No entanto, embora o Power BI facilite a seleção e visualização de dados, ele
pode, às vezes, levar à recuperação de muitos dados do servidor.

O procedimento a seguir demonstra como reduzir as chances de recuperar mais dados


do que o necessário ao importar dados para o Power BI com o uso iterativo de filtros
em membros de dimensão em cada nível.

Conectar-se à fonte de dados do Oracle Essbase


1. Siga as instruções em Conectar-se ao Essbase do Power Query Desktop para se
conectar a um servidor Essbase pelo modo de importação.

2. Expanda a árvore para fazer uma busca detalhada no servidor, aplicativo e banco
de dados desejados até que ela exponha as medidas e dimensões do banco de
dados. Por enquanto, selecione suas medidas e apenas um nível de dimensão.
Escolha o nível de dimensão mais importante. Em etapas posteriores, você criará o
resultado adicionando incrementalmente mais níveis de dimensões.


3. Selecione Carregar para importar as medidas selecionadas e o nível de dimensão.

Editar consultas para adicionar mais níveis de dimensão


Agora que você tem um ponto de partida, comece a adicionar mais níveis de dimensão
e aplicar filtros conforme o necessário.

1. Selecione Editar consultas na faixa de opções do Power BI Desktop para iniciar o


processo.


2. Caso você queira filtrar algum membro na dimensão inicial, clique no botão de
propriedades da coluna para exibir a lista de membros da dimensão
disponíveis neste nível. Selecione apenas os membros de dimensão necessários
neste nível e clique em OK para aplicar o filtro.

3. Os dados resultantes serão atualizados com o filtro aplicado. Agora, Etapas


aplicadas contém uma nova etapa (Linhas filtradas) para o filtro definido. É

possível clicar no botão de configurações da etapa para modificar o filtro


posteriormente.

4. Agora você adicionará um novo nível de dimensão. Nesse caso, você adicionará o
próximo nível abaixo na mesma dimensão escolhida inicialmente. Clique em
Adicionar itens na faixa de opções para abrir a caixa de diálogo Navegador.

5. Navegue até a mesma dimensão, mas desta vez selecione o próximo nível abaixo
do primeiro. Em seguida, clique em OK para adicionar o nível de dimensão ao
resultado.

6. A grade de resultados agora tem os dados do novo nível de dimensão. Observe


que, como você aplicou um filtro no nível superior, somente os membros
relacionados no segundo nível são retornados.

7. Agora você pode aplicar um filtro à dimensão de segundo nível, como fez com o
primeiro.

8. Dessa forma, cada etapa subsequente garante que apenas os membros e os dados
necessários sejam recuperados do servidor.

9. Agora vamos repetir as etapas anteriores para adicionar um novo nível de


dimensão. Selecione Adicionar itens na faixa de opções novamente.

10. Navegue e selecione o nível de dimensão desejado. Depois, clique em OK para


adicionar o nível de dimensão ao resultado.

11. O novo nível de dimensão é adicionado ao resultado.

12. Aplique um filtro a esse nível de dimensão, conforme necessário.


13. Observe o resultado.

Aplicar as alterações e carregar os dados


1. Após adicionar todos os níveis de dimensão desejados e definir todos os filtros
necessários, clique em Fechar no canto superior direito para fechar o editor.

2. Selecione Sim para aplicar suas alterações.

3. Aguarde a aplicação das alterações.


4. Observe os novos níveis de dimensão no painel Campos.

Agora está tudo pronto para criar relatórios e visualizações.

Aplicar filtro iterativo ao adicionar níveis de


dimensão no modo DirectQuery
Ao interagir no modo DirectQuery com uma fonte de dados de cubo multidimensional
(como o Essbase da Oracle), o Power BI exibe as dimensões e os níveis do cubo no
painel Campos.

Para exibir e filtrar com base nos membros da dimensão:

1. Arraste e solte um nível de dimensão do painel Campos no painel Filtros. É


possível arrastar o nível de dimensão para a área Adicionar campos de dados aqui
em Filtros neste visual, Filtros nesta página ou Filtros em todas as páginas,
dependendo de suas necessidades.

2. Depois que o nível de uma dimensão estiver no painel Filtro e o tipo de filtro
estiver definido como Filtragem básica, você observará que os membros do nível
dessa dimensão são exibidos como uma lista de filtros disponíveis.

3. Você pode verificar os membros que deseja incluir no resultado.


Ou selecionar a opção "Selecionar tudo" e desmarcar os membros que não deseja
incluir no resultado.

Digite alguns caracteres no campo de pesquisa para que esse filtro encontre
membros na lista.

4. Quando tiver filtros para dois ou mais níveis da mesma dimensão, você observará
que selecionar membros de um nível mais alto na dimensão altera os membros
disponíveis nos níveis inferiores dessa dimensão.

Esse comportamento de realce cruzado/filtragem pode ser desabilitado, basta


marcar a opção Desabilitar realce cruzado/filtragem cruzada por padrão,
conforme descrito nas Opções de reduções de consulta.


5. Quando você terminar de escolher os membros desejados no filtro de nível de
dimensão, é um bom momento para adicionar esse nível de dimensão à sua
visualização. Verifique o nível de dimensão correspondente no painel Campos e
depois o adicione à visualização atual.

Para saber mais sobre como adicionar filtros, acesse Adicionar filtro a um relatório no
Power BI.

Solução de problemas
Esta seção descreve os problemas comuns que você pode encontrar e inclui etapas de
solução de problemas.

Problemas de conexão
Sintoma 1

O Power BI Desktop retorna a mensagem de erro "Não é possível se conectar ao


servidor remoto".

Resolução

1. Verifique se o servidor APS (Serviços de Provedores Analíticos) do Essbase está


configurado corretamente para os servidores provedores e servidores autônomos
no console do EAS (Serviço de Administração do Essbase). Mais informações:
Configurar clusters do Essbase

2. Verifique se a URL está correta.


Verifique se o nome do host e/ou endereço IP estão corretos.
Verifique se a porta fornecida está correta.
Verifique se o protocolo http (não https) está especificado.
Verifique se as letras maiúsculas e minúsculas estão corretar no caminho para
/aps/XMLA na URL.

3. Se houver um firewall entre o Power BI Desktop e o nome do host fornecido,


verifique se o nome do host e a porta fornecidos podem passar a saída pelo
firewall.

Validação

Tentar se conectar novamente não mostrará o erro e a lista de membros e cubos está no
painel de navegação. Você também pode selecionar e exibir em versão prévia no modo
de importação.

Sintoma 2

O Power BI Desktop retorna a mensagem de erro "Não foi possível autenticar com as
credenciais fornecidas. Tente novamente.”

Resolução

Verifique se o nome de usuário e a senha estão corretos. Redigite os valores com


atenção. A senha diferencia maiúsculas de minúsculas.

Validação

Depois de corrigir o nome de usuário e a senha, você poderá ver os membros e o valor
na pré-visualização ou carregar os dados.

Sintoma 3

O Power BI Desktop retorna a mensagem de erro "Os dados no nível raiz são inválidos.
Linha 1, posição 1."

Resolução

Verifique se o servidor APS (Serviços de Provedores Analíticos) do Essbase está


configurado corretamente para os servidores provedores e servidores autônomos no
console do EAS (Serviço de Administração do Essbase). Mais informações: Configurar
clusters do Essbase .

Validação
Tentar se conectar novamente não mostrará o erro e a lista de membros e cubos é
exibida no painel de navegação. Você também pode selecionar e exibir em pré-
visualização no modo de importação.

Sintoma 4

Uma vez conectado com êxito ao servidor APS (Serviços de Provedor Analítico) do
Oracle Essbase, há servidores listados abaixo do nó de URL no navegador da fonte de
dados. No entanto, quando você expande um nó de servidor, nenhum aplicativo é
listado abaixo dele.

Resolução

É recomendável configurar o servidor Oracle Hyperion para definir o provedor e os


servidores autônomos por meio do console EAS (Serviço de Administração do Essbase).
Consulte a seção Adendo: Registrar provedores e servidores autônomos no console EAS
(Serviço de Administração do Essbase) .

Validação

Tentar se conectar novamente não mostrará o erro e você pode ver a lista de membros
e cubos no painel de navegação. Você também pode selecionar e exibir em pré-
visualização no modo de importação.

Tempo limite ou problema de muitos dados


Sintoma 1

O Power Query retorna a mensagem de erro "A operação atingiu o tempo limite"

Resolução

1. Verifique se a rede está estável e se há um caminho de rede confiável para o


servidor APS (Serviços de Provedor Analítico) do Essbase fornecido na URL da
fonte de dados.

2. Se houver a possibilidade de que a consulta ao serviço possa retornar uma grande


quantidade de dados, especifique um longo (ou mais longo) intervalo de tempo
limite de comando. Se possível, adicione filtros à sua consulta para reduzir a
quantidade de dados retornados. Por exemplo, selecione apenas membros
específicos de cada dimensão que você deseja retornar.

Validação
Tente carregar novamente os dados e, se o problema continuar, tente aumentar para
um intervalo de tempo limite mais longo ou filtrar ainda mais os dados. Se o problema
ainda persistir, tente a resolução em Sintomas 3.

Sintoma 2

A consulta retorna a mensagem de erro "Erro interno: a consulta está alocando memória
muito grande ( > 4 GB) e não pode ser executada. A alocação de consulta excede os
limites de alocação."

Resolução

A consulta que você está tentando executar está produzindo resultados maiores do que
o servidor Oracle Essbase pode manipular. Forneça ou aumente os filtros na consulta
para reduzir a quantidade de dados que o servidor retornará. Por exemplo, selecione
membros específicos para cada nível de cada dimensão ou defina limites numéricos no
valor das medidas.

Validação

Tente carregar novamente os dados e, se o problema continuar, tente aumentar para


um intervalo de tempo limite mais longo ou filtrar ainda mais os dados. Se o problema
ainda persistir, tente a resolução em Sintomas 3.

Sintoma 3

O servidor Essbase ou APS (Serviços de Provedor Analítico) indica um grande número


de conexões com sessões de execução prolongada.

Resolução

Quando o modo de conectividade é DirectQuery, é fácil selecionar medidas ou níveis de


dimensão a serem adicionados à visualização selecionada. No entanto, cada nova
seleção cria uma nova consulta e uma nova sessão para o servidor Essbase ou APS
(Serviços de Provedor Analítico). Há algumas maneiras de garantir um número reduzido
de consultas ou diminuir o tamanho de cada resultado de consulta. Examine as
Considerações de desempenho para reduzir o número de vezes que o servidor é
consultado e também para diminuir o tamanho dos resultados da consulta.

Validação

Tente carregar os dados novamente.

Chave não correspondente ao executar MDX


Sintoma

Uma instrução MDX retorna a mensagem de erro "A chave não correspondeu a
nenhuma linha na tabela".

Resolução

É provável que o valor ou as letras maiúsculas ou minúsculas dos campos Servidor e


Aplicativo não correspondam. Selecione o botão Editar e corrija o valor e as letras
maiúsculas ou minúsculas dos campos Servidor e Aplicativo.

Validação

Tente carregar os dados novamente.

Não é possível obter o problema do cubo – MDX


Sintoma

Uma instrução MDX retorna a mensagem de erro "Não é possível obter o nome do
cubo da instrução. Verifique o formato usado para especificar o nome do cubo".

Resolução

Verifique se o nome do banco de dados na cláusula FROM da instrução MDX está


totalmente qualificado com o nome do aplicativo e do banco de dados, por exemplo,
[Sample.Basic]. Selecione o botão Editar e corrija o nome do banco de dados totalmente
qualificado na cláusula FROM da instrução MDX.

Validação

Tente carregar os dados novamente.

Problema de erro do Essbase (1260060) – MDX


Sintoma

Uma instrução MDX retorna a mensagem de erro "Erro do Essbase (1260060): o nome
do cubo XXXX não corresponde ao aplicativo/banco de dados atual"

Resolução

Verifique o nome do aplicativo e o nome do banco de dados totalmente qualificado na


correspondência da cláusula FROM. Selecione o botão Editar e corrija o nome do
aplicativo ou do banco de dados totalmente qualificado na cláusula FROM da instrução
MDX.

Validação

Tente carregar os dados novamente.

Erro do Essbase (1200549): dimensão repetida [Medidas]


na consulta MDX
Sintoma

Carregar uma dimensão retorna a mensagem de erro "Erro do Essbase (1200549):


dimensão repetida [Medidas] na consulta MDX".

Resolução

1. Entre no servidor do Essbase, abra o Console dos Serviços de Administração do


Essbase e entre com um usuário administrador (ou quem tiver permissões no
banco de dados problemático).

2. Navegue para Servidor do Essbase > Aplicativo > Banco de dados com a dimensão
"Medidas" que apresenta problemas.

3. Desbloqueie a estrutura de tópicos e edite o banco de dados.

4. Determine qual dimensão deve ser o tipo de dimensão "Contas". Clique com o
botão direito do mouse nela e selecione Editar propriedades de membro….

5. Selecione e defina o campo "Tipo de dimensão" como Contas. Selecione OK.


6. Verifique e salve a estrutura de tópicos.

Validação

Tente carregar a dimensão novamente.


Excel
Artigo • 13/07/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (Dataflow Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365
Analysis Services

Tipos de autenticação compatíveis Anônimo (online)


Básico (online)
Conta organizacional (online)

Documentação de referência da função Excel.Workbook


Excel.CurrentWorkbook

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Para se conectar a uma pasta de trabalho herdada (como .xls ou .xlsb), o provedor
OLEDB (ou ACE) do Mecanismo de Banco de Dados do Access é necessário. Para instalar
esse provedor, acesse a página de download e instale a versão relevante (32 bits ou 64
bits). Caso não esteja instalado, o seguinte erro será exibido ao se conectar a pastas de
trabalho herdadas:

The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine. The

32-bit (or 64-bit) version of the Access Database Engine OLEDB provider may be
required to read this type of file. To download the client software, visit the

following site: https://go.microsoft.com/fwlink/?LinkID=285987.


A ACE não pode ser instalada em ambientes de serviço de nuvem. Portanto, se você
estiver vendo esse erro em um host de nuvem (como o Power Query Online), será
necessário usar um gateway que tenha a ACE instalada para se conectar aos arquivos
herdados do Excel.

Funcionalidades com suporte


Importação

Conectar-se a uma pasta de trabalho do Excel


por meio do Power Query Desktop
Para fazer a conexão desde o Power Query Desktop:

1. Selecione a opção Excel na seleção do conector.

2. Procure e selecione a pasta de trabalho do Excel que você deseja carregar. Em


seguida, selecione Abrir.

Se a pasta de trabalho do Excel estiver online, use o conector Web para se


conectar à pasta de trabalho.

3. Em Navegador, selecione as informações desejadas da pasta de trabalho e, em


seguida, Carregar para carregar os dados ou Transformar dados para continuar
transformando os dados no Editor do Power Query.
Conectar-se a uma pasta de trabalho do Excel
por meio do Power Query Online
Para fazer a conexão desde o Power Query Online:

1. Selecione a opção Excel na seleção do conector.

2. Na caixa de diálogo do Excel exibida, forneça o caminho para a pasta de trabalho


do Excel.

3. Se necessário, selecione um gateway de dados local para acessar a pasta de


trabalho do Excel.
4. Se essa for a primeira vez que você acessa essa pasta de trabalho do Excel,
selecione o tipo de autenticação e entre em sua conta (se necessário).

5. Em Navegador, selecione as informações da pasta de trabalho desejadas e, em


seguida, Transformar os dados para continuar transformando os dados no Editor
do Power Query.

Tabelas sugeridas
Se você se conectar a uma pasta de trabalho do Excel que não contém especificamente
uma única tabela, o navegador do Power Query tentará criar uma lista sugerida de
tabelas que você pode escolher. Por exemplo, considere o exemplo de pasta de trabalho
a seguir que contém dados de A1 a C5, mais dados de D8 a E10 e mais de C13 a F16.
Quando você se conecta aos dados no Power Query, o navegador do Power Query cria
duas listas. A primeira lista contém toda a planilha da pasta de trabalho e a segunda
lista contém três tabelas sugeridas.

Se você selecionar a planilha inteira no navegador, a pasta de trabalho será exibida


como aparece no Excel, com todas as células em branco preenchidas com nulo.


Se você selecionar uma das tabelas sugeridas, cada tabela individual determinada pelo
Power Query a partir do layout da pasta de trabalho será exibida no navegador. Por
exemplo, se você selecionar a Tabela 3, os dados exibidos originalmente nas células C13
a F16 serão exibidos.

7 Observação

Se a planilha for alterada o suficiente, talvez a tabela não seja atualizada


corretamente. Você pode corrigir a atualização importando os dados novamente e
selecionando uma nova tabela sugerida.

Solução de problemas

Precisão numérica (ou "Por que meus números


mudaram?")
Ao importar dados do Excel, você pode observar que determinados valores numéricos
parecem mudar ligeiramente quando importados para o Power Query. Por exemplo, se
você selecionar uma célula que contém 0,049 no Excel, esse número será exibido na
barra de fórmulas como 0,049. Mas se você importar a mesma célula para o Power
Query e selecioná-la, os detalhes da visualização a exibirão como
0,049000000000000002 (mesmo que na tabela de visualização esteja formatada como
0,049). O que está acontecendo?
A resposta é um pouco complicada e tem a ver com como o Excel armazena números
usando algo chamado notação de ponto flutuante binário. A questão é que o Excel não
pode representar determinados números com 100% de precisão. Se você abrir o arquivo
.xlsx e examinar o valor real que está sendo armazenado, verá que, no arquivo .xlsx,
0,049 é armazenado como 0,049000000000000002. Esse é o valor que o Power Query lê
do .xlsx e, portanto, o valor que aparece ao selecionar a célula no Power Query. (Para
obter mais informações sobre precisão numérica no Power Query, acesse as seções
"Número decimal" e "Número decimal fixo" de Tipos de dados no Power Query.)

Conexão a uma pasta de trabalho online do Excel


A conexão a um documento do Excel hospedado no Sharepoint pode ser feita por meio
do conector da Web no Power BI Desktop, Excel e Fluxos de Dados e também com o
conector do Excel em Fluxos de dados. Para obter o link para o arquivo:

1. Abra o documento na Área de Trabalho do Excel.


2. Abra o menu Arquivo, selecione a guia Informações e, em seguida, Copiar
Caminho.
3. Copie o endereço no campo Caminho do Arquivo ou URL e remova ?web=1 do
final do endereço.

Conector ACE herdado


Power Query lê pastas de trabalho herdadas (como .xls ou .xlsb) usando o provedor
OLEDB do Mecanismo de Banco de Dados do Access (ou ACE). Por isso, você pode
encontrar comportamentos inesperados ao importar pastas de trabalho herdadas que
não ocorrem ao importar pastas de trabalho OpenXML (como .xlsx). A seguir, temos
alguns exemplos comuns.

Formatação de valor inesperada

Devido à ACE, os valores de uma pasta de trabalho herdada do Excel podem ser
importados com menos precisão ou fidelidade do que o esperado. Por exemplo,
imagine que o arquivo do Excel contenha o número 1024,231, que você formatou para
exibição como "1.024,23". Quando importado para o Power Query, esse valor é
representado como o valor de texto "1.024,23" em vez de um número de fidelidade
completa subjacente (1024,231). Isso ocorre porque, nesse caso, a ACE não apresenta o
valor subjacente para o Power Query, mas apenas o valor exibido no Excel.

Valores nulos inesperados


Quando a ACE carrega uma planilha, ela examina as oito primeiras linhas para
determinar os tipos de dados das colunas. Se as oito primeiras linhas não forem
representativas das linhas posteriores, a ACE poderá aplicar um tipo incorreto a essa
coluna e retornar nulos para qualquer valor que não corresponda ao tipo. Por exemplo,
se uma coluna contiver números nas oito primeiras linhas (como 1000, 1001 e assim por
diante), mas tiver dados não numéricos em linhas posteriores (como "100Y" e "100Z"), a
ACE concluirá que a coluna contém números e quaisquer valores não numéricos serão
retornados como nulos.

Formatação de valor inconsistente


Em alguns casos, a ACE retorna resultados completamente diferentes entre atualizações.
Usando o exemplo descrito na seção de formatação, você pode ver de repente o valor
1024,231 em vez de "1.024,23". Essa diferença pode ser causada por ter a pasta de
trabalho herdada aberta no Excel ao importá-la para o Power Query. Para resolver esse
problema, feche a pasta de trabalho.

Dados do Excel ausentes ou incompletos


Às vezes, o Power Query falha ao extrair todos os dados de uma planilha do Excel. Essa
falha geralmente é causada pela planilha ter dimensões incorretas (por exemplo, ter
dimensões de A1:C200 quando os dados reais ocupam mais de três colunas ou 200
linhas).

Como diagnosticar as dimensões incorretas

Para exibir as dimensões de uma planilha:

1. Renomeie o arquivo xlsx com uma extensão .zip.


2. Abra o arquivo no Explorador de Arquivos.
3. Navegue até xl\worksheets.
4. Copie o arquivo xml para a planilha problemática (por exemplo, Sheet1.xml) do
arquivo zip para outro local.
5. Inspecione as primeiras linhas do arquivo. Se o arquivo for pequeno o suficiente,
abra-o em um editor de texto. Se o arquivo for muito grande para ser aberto em
um editor de texto, execute o seguinte comando em um Prompt de Comando:
more Sheet1.xml.
6. Procure uma marca <dimension .../> (por exemplo, <dimension ref="A1:C200"
/> ).
Se o arquivo tiver um atributo de dimensão que aponte para uma única célula (como
<dimension ref="A1" /> ), o Power Query usará esse atributo para localizar a linha inicial

e a coluna dos dados na planilha.

No entanto, se o arquivo tiver um atributo de dimensão que aponte para várias células
(como <dimension ref="A1:AJ45000"/> ), o Power Query usará esse intervalo para
localizar a linha e a coluna inicial, bem como a linha e a coluna finais. Se esse intervalo
não contiver todos os dados na planilha, alguns dados não serão carregados.

Como corrigir dimensões incorretas

Você pode corrigir problemas causados por dimensões incorretas executando uma das
seguintes ações:

Abra e salve novamente o documento no Excel. Essa ação substituirá as dimensões


incorretas armazenadas no arquivo pelo valor correto.

Verifique se a ferramenta que gerou o arquivo do Excel foi corrigida para gerar as
dimensões corretamente.

Atualize sua consulta M para ignorar as dimensões incorretas. A partir da versão


de dezembro de 2020 do Power Query, Excel.Workbook dá suporte para uma
opção InferSheetDimensions . Quando true, essa opção fará com que a função
ignore as dimensões armazenadas na Pasta de Trabalho e, em vez disso,
determine-as inspecionando os dados.

Aqui está um exemplo de como fornecer esta opção:

Excel.Workbook(File.Contents("C:\MyExcelFile.xlsx"), [DelayTypes = true,

InferSheetDimensions = true])

Desempenho lento ao carregar dados do Excel


O carregamento lento de dados do Excel também pode ser causado por dimensões
incorretas. No entanto, nesse caso, a lentidão é causada pelo fato das dimensões serem
muito maiores do que precisam ser, em vez de serem muito pequenas. Dimensões
excessivamente grandes farão com que o Power Query leia uma quantidade muito
maior de dados da pasta de trabalho do que o necessário.

Para corrigir esse problema, você pode consultar Localizar e redefinir a última célula em
uma planilha para obter as instruções detalhadas.
Desempenho ruim ao carregar dados do SharePoint
Ao recuperar dados do Excel no computador ou no SharePoint, considere o volume dos
dados envolvidos, bem como a complexidade da pasta de trabalho.

Você observará a degradação do desempenho ao recuperar arquivos muito grandes do


SharePoint. No entanto, essa é apenas uma parte do problema. Se você tiver uma lógica
de negócios significativa em um arquivo do Excel sendo recuperado do SharePoint, essa
lógica poderá ter que ser executada quando você atualizar seus dados, o que pode
causar cálculos complicados. Considere agregar e pré-calcular dados ou mover mais da
lógica de negócios para fora da camada do Excel e para a camada do Power Query.

Erros ao usar o conector do Excel para importar arquivos


CSV
Embora os arquivos CSV possam ser abertos no Excel, eles não são arquivos do Excel.
Em vez disso, use o conector Text/CSV.

Erro ao importar pastas de trabalho "Planilha Open XML


Estrita"
Você pode ver o seguinte erro ao importar pastas de trabalho salvas no formato
"Planilha XML Aberta Estrita" do Excel:

DataFormat.Error: The specified package is invalid. The main part is missing.

Esse erro ocorre quando o driver ACE não está instalado no computador host. As pastas
de trabalho salvas no formato "Planilha Open XML Estrita" só podem ser lidas pelo ACE.
No entanto, como essas pastas de trabalho usam a mesma extensão de arquivo que as
pastas de trabalho Open XML regulares (.xlsx), não podemos usar a extensão para exibir
a mensagem de erro usual the Access Database Engine OLEDB provider may be required
to read this type of file .

Para resolve o erro, instale o driver ACE. Se o erro estiver ocorrendo em um serviço de
nuvem, você precisará usar um gateway em execução em um computador que tenha o
driver ACE instalado.

Erros de "Arquivo contém dados corrompidos"


Você pode ver o erro a seguir ao importar determinadas pastas de trabalho do Excel.
DataFormat.Error: File contains corrupted data.

Normalmente, esse erro indica que há um problema com o formato do arquivo.

No entanto, às vezes, esse erro pode ocorrer quando um arquivo parece ser um arquivo
Open XML (como .xlsx), mas o driver ACE é realmente necessário para processar o
arquivo. Acesse a seção Conector ACE herdado para obter mais informações sobre
como processar arquivos que exigem o driver ACE.
FactSet RMS (Beta)
Artigo • 13/07/2023

Resumo
Item Descrição

Estado da versão Beta

Produtos compatíveis Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (Dataflow Gen2)

Tipos de autenticação compatíveis Basic

Documentos de referência da função https://developer.factset.com/api-catalog/irn-notes-api|

7 Observação

O artigo a seguir sobre o conector é fornecido pela FactSet, proprietária desse


conector e membro do Programa de certificação de conector do Microsoft Power
Query. Se tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações
neste artigo, visite o site da FactSet e use os canais de suporte.

Pré-requisitos
Para começar a usar o conector RMS da FactSet, as etapas de pré-requisitos a seguir
precisam ser concluídas.

Fazer o download do Power BI


Verifique se você está usando a versão mais recente do Power BI, pois a
atualização principal mais recente do conector de dados FactSet para Power BI
estará disponível apenas nesta versão. Todas as atualizações subsequentes da
versão principal ou das secundárias estarão disponíveis semente após fazer o
upgrade do Power BI.

Assinatura e autenticação

Para acessar o IRN da FactSet, é necessário ter uma assinatura apropriada.


Consulte a página de Ajuda ao cliente da FactSet para obter mais detalhes.
Depois de obter uma assinatura adequada, a próxima etapa é gerar a chave da
API no Portal do Desenvolvedor. Siga as etapas descritas na documentação da
Autenticação de chaves de API da FactSet v1 .

Funcionalidades com suporte


Importar

Conectar-se ao RMS da FactSet desde o Power


Query Desktop
Para importar dados usando o conector RMS da FactSet desde o Power Query Desktop,
execute as seguintes etapas:

1. Abra o Power BI Desktop.

2. Na página inicial do Power BI Desktop, selecione Obter dados>Mais.

3. Para se conectar ao RMS da FactsSet, pesquise FactSet em Obter dados e


selecione o conector RMS da FactSet na lista à direita.
4. Na página de autenticação, você será solicitado a inserir o nome de usuário – serial
e a chave da API. Acesse o Portal do Desenvolvedor da FactSet para obter mais
instruções sobre como configurar a chave da API.

5. O conector abrirá o navegador do Power Query com uma lista de todas as funções
fornecidas. Observe que, dependendo de suas assinaturas, nem todas as funções
estarão disponíveis. A equipe que cuida de sua conta pode ajudar sobre os
requisitos de acesso aos produtos adicionais.

6. Use as consultas Get* para pesquisar os parâmetros de suas Anotações e criar


novas consultas. Um formulário será preenchido na janela de consulta com os
campos de parâmetro para restringir o escopo e retornar o conjunto de dados
relevante com base no Assunto do IRN, Autor, Intervalo de datas, Recomendações
e/ou Sentimentos. Observe que as funções contêm consultas Get* que são comuns
para Anotações IRN, Símbolos personalizados e APIs de reuniões.


A tabela a seguir descreve as funções de Get no conector.

Nome da função Descrição da função

GetNotes Obtém todas as anotações, incluindo campos personalizados de texto


não estendido no intervalo de data (startDate e endDate)
especificado, podendo ser filtrada por subjectId, authorId,
recommendationId, sentimentId e modifiedSince.

GetNote Obtém detalhes de uma anotação, incluindo o corpo da anotação e


os campos personalizados de texto estendido.

GetMeetings Obtém todas as reuniões, incluindo campos personalizados de texto


não estendido no intervalo de data especificado (startDate e
endDate) e pode ser filtrado por modifiedSince.

GetMeeting Obtém detalhes de uma reunião, incluindo o corpo da reunião e os


campos personalizados de texto estendido.

GetCustomSymbols Obtém uma lista de todos os símbolos personalizados no banco de


dados do IRN, junto com os dados de campos padrão e dados de
campos personalizados de texto não estendido, podendo ser filtrada
por CustomSymbolTypeName.

GetCustomSymbol Obtém detalhes de um símbolo personalizado, incluindo a descrição


do símbolo e os campos personalizados de texto estendido.

7. Os resultados serão retornados como uma tabela com anotações e um campo


personalizado.


FHIR
Artigo • 05/10/2023

O FHIR® (Fast Healthcare Interoperability Resources) é um novo padrão para


interoperabilidade de dados da área de saúde. Os dados da área de saúde são
representados como recursos como Patient , Observation , Encounter e assim por diante,
e uma API REST é usada para consultar os dados de saúde fornecidos por um servidor
FHIR. O conector Power Query para FHIR pode ser usado para importar e formatar os
dados de um servidor FHIR.

Se você não tiver um servidor FHIR, é possível provisionar a API do Azure para FHIR.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Dynamics 365 Customer Insights

Tipos de autenticação compatíveis Anônima


Conta organizacional

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Funcionalidades com suporte


Importação

Pré-requisitos
Você deve ter uma função Leitor de Dados FHIR no servidor FHIR para ler dados do
servidor. Para mais informações, consulte: Atribuir funções para o serviço do FHIR
Conectar a um servidor FHIR desde o Power
Query Desktop
Para fazer uma conexão com um servidor FHIR, execute as seguintes etapas:

1. Selecione a opção Obter dados.

2. Selecione Outros>FHIR e Conectar.


3. Insira a URL do servidor FHIR.

Opcionalmente, se você souber exatamente quais dados está procurando, pode


inserir uma consulta inicial no servidor FHIR.

Selecione OK para continuar.


4. Decida qual esquema de autenticação deseja utilizar.

O conector suporta "Anônimo" para servidores FHIR sem controles de acesso (por
exemplo, servidores de teste públicos como http://test.fhir.org/r4 ) ou
autenticação do Active Directory do Azure. Você deve ter uma função Leitor de
Dados FHIR no servidor FHIR para ler dados do servidor. Acesse a autenticação do
conector FHIR para obter detalhes.

5. Selecione os recursos de seu interesse.

Selecione Transformar dados para formatar os dados.

6. Formate os dados conforme necessário, por exemplo, expanda o código postal.


7. Salve a consulta depois de concluir a formatação.

8. Crie painéis com dados, por exemplo, crie um gráfico dos locais do paciente com
base no código postal.

Conectar a um servidor FHIR desde o Power


Query Online
Para fazer uma conexão com um servidor FHIR, execute as seguintes etapas:

1. Em Escolher fonte de dados, procure FHIR e selecione o conector FHIR. Mais


informações: Locais para obter dados

2. Na caixa de diálogo FHIR, insira a URL do servidor FHIR.

Opcionalmente, se você souber exatamente quais dados está procurando, pode


inserir uma consulta inicial no servidor FHIR.
3. Se necessário, inclua o nome do gateway de dados local.

4. Selecione o tipo de autenticação da Conta corporativa e selecione Entrar. Insira


suas credenciais quando solicitado. Você deve ter uma função Leitor de Dados
FHIR no servidor FHIR para ler dados do servidor.

5. Selecione Avançar para continuar.

6. Selecione os recursos de seu interesse.

Selecione Transformar dados para formatar os dados.

7. Formate os dados conforme necessário, por exemplo, expanda o código postal.


8. Salve a consulta depois de concluir a formatação.

7 Observação

Em alguns casos, a dobragem da consulta não pode ser obtida por meio da
formatação de dados com a GUI (interface gráfica do usuário), conforme
mostrado na imagem anterior. Para saber mais sobre a dobragem de consulta
ao usar o conector FHIR, consulte Dobragem de consulta do FHIR.

Próximas etapas
Neste artigo, você aprendeu a usar o conector Power Query para FHIR para acessar os
dados do FHIR. A seguir, explore os recursos de autenticação do conector Power Query
para FHIR.

Autenticação do conector FHIR

O FHIR® e o ícone do FHIR Flame são as marcas registradas da HL7, usadas com a
permissão da HL7. O uso da marca FHIR não constitui o endosso deste produto pela
HL7.
Autenticação do conector FHIR
Artigo • 25/07/2023

Este artigo explica o acesso autenticado aos servidores FHIR usando o conector Power
Query para FHIR. O conector suporta o acesso anônimo a servidores FHIR acessíveis
publicamente e o acesso autenticado a servidores FHIR usando a autenticação do Azure
Active Directory. A API do Azure para FHIR é protegida pelo Azure Active Directory.

7 Observação

Se você estiver se conectando a um servidor FHIR de um serviço online, como o


serviço do Power BI, poderá usar somente uma conta corporativa.

Acesso anônimo
Há muitos servidores FHIR acessíveis publicamente . Para habilitar o teste com esses
servidores públicos, o conector Power Query para FHIR suporta o esquema de
autenticação "Anônimo". Por exemplo, para acessar o servidor público
https://server.fire.ly :

1. Insira a URL do servidor firely público.

2. Selecione o esquema de autenticação Anônimo.


Depois, siga as etapas para consultar e formatar os dados.

Autenticação (corporativa) do Azure Active


Directory
O conector Power Query para FHIR suporta a autenticação do OAuth para servidores
FHIR, protegidos pelo Azure Active Directory .

Para usar a autenticação do Azure Active Directory, selecione Conta corporativa ao se


conectar.

Existem algumas limitações a serem consideradas, como:

O público-alvo esperado do servidor FHIR deve ser igual à URL base do servidor
FHIR. Na API do Azure para FHIR, é possível definir isso no portal ao provisionar o
serviço do FHIR ou posteriormente.

Se o servidor FHIR não retornar um cabeçalho de contestação WWW-Authenticate


com um campo authorization_uri de autorização com falha, você deverá usar
uma conta corporativa para entrar. Você não pode usar uma conta de convidado
em seu locatário do Active Directory. Na API do Azure para FHIR, você deve usar
uma conta corporativa do Azure Active Directory.
Se o serviço do FHIR não for a API do Azure para FHIR (por exemplo, se estiver
executando o servidor Microsoft FHIR de código aberto para o Azure ), você terá
registrado um aplicativo de recursos do Azure Active Directory no servidor FHIR.
Você deve pré-autorizar o aplicativo cliente do Power BI para poder acessar esse
aplicativo de recursos.

A ID do cliente do Power BI é a672d62c-fc7b-4e81-a576-e60dc46e951d .

O cliente do Power Query (por exemplo, o Power BI) solicitará apenas um único
escopo: user_impersonation . Esse escopo deve estar disponível e o servidor FHIR
não pode usar outros escopos.

Próximas etapas
Neste artigo, você aprendeu a usar os recursos de autenticação do conector Power
Query para FHIR. A seguir, explore a dobragem de consulta.

Dobragem do Power Query para FHIR


Dobragem de consultas do FHIR
Artigo • 25/07/2023

A Dobragem de consultas do Power Query é o mecanismo usado por um conector


Power Query para converter transformações de dados em consultas que são enviadas
para a fonte de dados. Isso permite que o Power Query alivie o máximo possível da
seleção de dados na fonte de dados em vez de recuperar grandes quantidades de
dados desnecessários apenas para descartá-los no cliente. O conector do Power Query
para FHIR inclui recursos de dobragem de consultas, mas devido à natureza da pesquisa
FHIR , é necessário dar atenção especial às expressões do Power Query para garantir
que a dobragem de consultas seja executada sempre que possível. Este artigo explica os
conceitos básicos da dobragem do Power Query para o FHIR e fornece diretrizes e
exemplos.

FHIR e dobragem de consultas


Suponha que você esteja criando uma consulta para recuperar recursos "Pacientes" de
um servidor FHIR e esteja interessado em pacientes nascidos antes do ano de 1980. Essa
consulta poderia ser semelhante a:

Power Query M

let
Source = Fhir.Contents("https://myfhirserver.azurehealthcareapis.com",
null),
Patient1 = Source{[Name="Patient"]}[Data],
#"Filtered Rows" = Table.SelectRows(Patient1, each [birthDate] <
#date(1980, 1, 1))
in
#"Filtered Rows"

Em vez de recuperar todos os recursos de Pacientes do servidor FHIR e filtrá-los no


cliente (Power BI), é mais eficiente enviar uma consulta com um parâmetro de pesquisa
para o servidor FHIR:

GET https://myfhirserver.azurehealthcareapis.com/Patient?birthdate=lt1980-
01-01

Com essa consulta, o cliente receberia apenas os pacientes de interesse e não precisaria
descartar dados.
No exemplo de uma data de nascimento, a dobragem de consultas é simples, mas, em
geral, ela é um desafio no FHIR porque os nomes de parâmetros de pesquisa nem
sempre correspondem aos nomes dos campos de dados e, frequentemente, vários
campos de dados contribuirão para um único parâmetro de pesquisa.

Por exemplo, vamos considerar o recurso Observation e o campo category . O campo


Observation.category é um CodeableConcept no FHIR, que tem um campo coding , que

tem os campos system e code (entre outros campos). Suponha que você esteja
interessado apenas em sinais vitais; você estaria interessado em Observações em que
Observation.category.coding.code = "vital-signs" , mas a pesquisa FHIR seria

semelhante a https://myfhirserver.azurehealthcareapis.com/Observation?
category=vital-signs .

Para conseguir a dobragem de consultas nos casos mais complicados, o conector do


Power Query para FHIR faz a correspondência de expressões do Power Query com uma
lista de padrões de expressão e as converte nos parâmetros de pesquisa apropriados.
Os padrões de expressão são gerados com base na especificação FHIR.

Essa correspondência com padrões de expressão funciona melhor quando qualquer


expressão de seleção (filtragem) é feita o mais cedo possível nas etapas de
transformação de dados, antes de qualquer outra formatação dos dados.

7 Observação

Para dar ao mecanismo do Power Query a melhor chance de executar a dobragem


de consultas, você deve fazer todas as expressões de seleção de dados antes de
qualquer formatação dos dados.

Exemplo de dobragem de consultas


Para ilustrar uma dobragem de consultas eficiente, veremos o exemplo de obtenção de
todos os sinais vitais do recurso Observação. A maneira intuitiva de fazer isso seria
primeiro expandir o campo Observation.category e depois expandir
Observation.category.coding e, em seguida, filtrar. A consulta ficaria parecida com esta:

Power Query M

// Inefficient Power Query


let
Source = Fhir.Contents("https://myfhirserver.azurehealthcareapis.com",
null),
Observation = Source{[Name="Observation"]}[Data],
ExpandCategory = Table.ExpandTableColumn(Observation, "category",
{"coding"}, {"category.coding"}),
ExpandCoding = Table.ExpandTableColumn(ExpandCategory,
"category.coding", {"system", "code"}, {"category.coding.system",
"category.coding.code"}),
FilteredRows = Table.SelectRows(ExpandCoding, each
([category.coding.code] = "vital-signs"))
in
FilteredRows

No entanto, o mecanismo do Power Query não reconhece mais isso como um padrão
de seleção que é mapeado para o parâmetro de pesquisa category , mas se você
reestruturar a consulta para:

Power Query M

// Efficient Power Query allowing folding


let
Source = Fhir.Contents("https://myfhirserver.azurehealthcareapis.com",
null),
Observation = Source{[Name="Observation"]}[Data],
FilteredObservations = Table.SelectRows(Observation, each
Table.MatchesAnyRows([category], each Table.MatchesAnyRows([coding], each
[code] = "vital-signs"))),
ExpandCategory = Table.ExpandTableColumn(FilteredObservations,
"category", {"coding"}, {"category.coding"}),
ExpandCoding = Table.ExpandTableColumn(ExpandCategory,
"category.coding", {"system", "code"}, {"category.coding.system",
"category.coding.code"})
in
ExpandCoding

A consulta da pesquisa /Observation?category=vital-signs será enviada ao servidor


FHIR, o que reduzirá a quantidade de dados que o cliente receberá do servidor.

Embora a primeiro e a segunda expressão do Power Query resultem no mesmo


conjunto de dados, esta último resultará, em geral, em melhor desempenho de consulta.
É importante observar que a segunda versão, mais eficiente, da consulta não pode ser
obtida puramente por meio da formatação de dados com a GUI (interface gráfica do
usuário). É necessário escrever a consulta no "Editor Avançado".

A exploração inicial de dados pode ser feita com o editor de consultas da GUI, mas é
recomendável que a consulta seja refatorada tendo a dobragem de consultas em mente.
Especificamente, as consultas seletivas (filtragem) devem ser executadas o mais cedo
possível.
Localizando padrões de dobragem
O conector do Power Query para FHIR só poderá executar a dobragem de consultas se
as expressões do Power Query mapearem para parâmetros de pesquisa conhecidos,
conforme definido pela especificação FHIR. Se você estiver se perguntando se a
dobragem de consultas é possível, recomendamos que você consulte a Especificação
FHIR . Cada recurso listará um conjunto de parâmetros de pesquisa em direção à parte
inferior da página da especificação. Você também pode consultar a página de padrões
de consulta de dobragem para obter exemplos de como escrever expressões dobráveis
do Power Query para FHIR.

Depuração da dobragem de consultas


Se você estiver tentando determinar se uma expressão específica do Power Query está
sendo dobrada e qual é a expressão de pesquisa FHIR resultante, inicie o Fiddler
enquanto molda as consultas no Power BI Desktop.

Resumo
A dobragem de consultas fornece expressões mais eficientes do Power Query. Uma
Power Query criada corretamente possibilitará a dobragem de consultas e, portanto,
aliviará muito a carga da filtragem de dados na fonte de dados.

Próximas etapas
Neste artigo, você aprendeu a usar a dobragem de consultas no conector do Power
Query para FHIR. Agora, explore a lista de padrões de dobragem do Power Query para
FHIR.

Padrões de dobragem de consultas do Power Query para FHIR


Padrões de dobragem de consultas do
FHIR
Artigo • 25/07/2023

Este artigo descreve os padrões do Power Query que permitem uma dobragem de
consulta efetiva no FHIR. Ele pressupõe que você esteja familiarizado com o uso do
conector do Power Query para FHIR e entenda a motivação e os princípios básicos para
a dobragem do Power Query no FHIR.

Como usar este documento


A lista de exemplos neste documento não é exaustiva nem abrange todos os
parâmetros de pesquisa para os quais as consultas serão dobradas. No entanto,
fornecemos exemplos dos tipos de consultas e parâmetros que podem ser encontrados.
Ao criar uma expressão de consulta de filtro, considere se o parâmetro no qual você
deseja aplicar a filtragem é:

Um tipo primitivo (como Patient.birthDate )


Um tipo complexo, que seria um registro no Power Query (como Patient.meta )
Uma matriz de tipos primitivos, que seria uma lista no Power Query (como
Patient.meta.profile )

Uma matriz de tipos complexos, que seria uma tabela no Power Query (como
Observation.code.coding , que tem várias colunas)

Em seguida, consulte a lista de exemplos abaixo. Há também exemplos da combinação


desses tipos de padrões de filtros em instruções de filtragem aninhadas de vários níveis.
Por fim, este artigo fornece expressões de filtragem mais complicadas que são dobradas
em parâmetros de pesquisa compostos .

Em cada exemplo, você encontrará uma expressão de filtragem ( Table.SelectRows ) e,


logo acima de cada instrução de filtragem, verá um comentário // Fold: ... que
explica em quais valores e parâmetros de pesquisa a expressão será dobrada.

Filtragem em tipos primitivos


As propriedades raiz estão na raiz de um recurso e, normalmente, de um tipo primitivo
(cadeia de caracteres, data e assim por diante), mas também podem ser campos de
codificação (por exemplo Encoding.class ). Esta seção mostra exemplos de pesquisa de
diferentes tipos de propriedades de nível raiz primitivo.
Filtragem de pacientes por data de nascimento:

let
Patients = Fhir.Contents("https://myfhirserver.azurehealthcareapis.com",
null){[Name = "Patient" ]}[Data],

// Fold: "birthdate=lt1980-01-01"
FilteredPatients = Table.SelectRows(Patients, each [birthDate] <
#date(1980, 1, 1))
in
FilteredPatients

Filtragem de pacientes por intervalo de datas de nascimento usando and , apenas com
os anos da década de 70:

let
Patients = Fhir.Contents("https://myfhirserver.azurehealthcareapis.com",
null){[Name = "Patient" ]}[Data],

// Fold: "birthdate=ge1970-01-01&birthdate=lt1980-01-01"
FilteredPatients = Table.SelectRows(Patients, each [birthDate] <
#date(1980, 1, 1) and [birthDate] >= #date(1970, 1, 1))
in
FilteredPatients

Filtragem de pacientes por data de nascimento usando or , sem ser da década de 70:

let
Patients = Fhir.Contents("https://myfhirserver.azurehealthcareapis.com",
null){[Name = "Patient" ]}[Data],

// Fold: "birthdate=ge1980-01-01,lt1970-01-01"
FilteredPatients = Table.SelectRows(Patients, each [birthDate] >=
#date(1980, 1, 1) or [birthDate] < #date(1970, 1, 1))
in
FilteredPatients

Pesquisa alternativa para pacientes ativos:

let
Patients = Fhir.Contents("https://myfhirserver.azurehealthcareapis.com",
null){[Name = "Patient" ]}[Data],

// Fold: "active=true"
FilteredPatients = Table.SelectRows(Patients, each [active])
in
FilteredPatients

Pesquisa alternativa para pacientes em que a ativação não é verdadeira (pode incluir
casos de ausência):

let
Patients = Fhir.Contents("https://myfhirserver.azurehealthcareapis.com",
null){[Name = "Patient" ]}[Data],

// Fold: "active:not=true"
FilteredPatients = Table.SelectRows(Patients, each [active] <> true)
in
FilteredPatients

Filtragem para manter apenas pacientes do sexo masculino:

let
Patients = Fhir.Contents("https://myfhirserver.azurehealthcareapis.com",
null){[Name = "Patient" ]}[Data],

// Fold: "gender=male"
FilteredPatients = Table.SelectRows(Patients, each [gender] = "male")
in
FilteredPatients

Filtragem para manter apenas pacientes que não são do sexo masculino (inclui outros):

let
Patients = Fhir.Contents("https://myfhirserver.azurehealthcareapis.com",
null){[Name = "Patient" ]}[Data],

// Fold: "gender:not=male"
FilteredPatients = Table.SelectRows(Patients, each [gender] <> "male")
in
FilteredPatients

Filtragem de observações com o status final (código):


M

let
Observations =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"Observation" ]}[Data],

// Fold: "status=final"
FilteredObservations = Table.SelectRows(Observations, each [status] =
"final")
in
FilteredObservations

Filtragem com base em tipos complexos


Filtragem com base na última atualização:

let
Patients = Fhir.Contents("https://myfhirserver.azurehealthcareapis.com",
null){[Name = "Patient" ]}[Data],

// Fold: "_lastUpdated=2010-12-31T11:56:02.000+00:00"
FilteredPatients = Table.SelectRows(Patients, each [meta][lastUpdated] =
#datetimezone(2010, 12, 31, 11, 56, 2, 0, 0))
in
FilteredPatients

Filtragem de encontros baseados no sistema de classes e no código (codificação):

let
Encounters =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"Encounter" ]}[Data],

// Fold: "class=s|c"
FilteredEncounters = Table.SelectRows(Encounters, each [class][system] =
"s" and [class][code] = "c")
in
FilteredEncounters

Filtragem de encontros baseados no código (codificação):

M
let
Encounters =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"Encounter" ]}[Data],

// Fold: "class=c"
FilteredEncounters = Table.SelectRows(Encounters, each [class][code] =
"c")
in
FilteredEncounters

Filtragem de encontros baseados apenas no sistema de classes (codificação):

let
Encounters =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"Encounter" ]}[Data],

// Fold: "class=s|"
FilteredEncounters = Table.SelectRows(Encounters, each [class][system] =
"s")
in
FilteredEncounters

Filtragem de observações baseadas em Observation.subject.reference (referência):

let
Observations =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"Observation" ]}[Data],

// Fold: "subject=Patient/1234"
FilteredObservations = Table.SelectRows(Observations, each [subject]
[reference] = "Patient/1234")
in
FilteredObservations

Filtragem de observações baseadas em variações em Observation.subject.reference


(referência):

let
Observations =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"Observation" ]}[Data],

// Fold: "subject=1234,Patient/1234,https://myfhirservice/Patient/1234"
FilteredObservations = Table.SelectRows(Observations, each [subject]
[reference] = "1234" or [subject][reference] = "Patient/1234" or [subject]
[reference] = "https://myfhirservice/Patient/1234")
in
FilteredObservations

Filtragem com base em um valor igual à quantidade (quantidade):

let
ChargeItems =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"ChargeItem" ]}[Data],

// Fold: "quantity=1"
FilteredChargeItems = Table.SelectRows(ChargeItems, each [quantity]
[value] = 1)
in
FilteredChargeItems

Filtragem com base em um valor maior que a quantidade (quantidade):

let
ChargeItems =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"ChargeItem" ]}[Data],

// Fold: "quantity=gt1.001"
FilteredChargeItems = Table.SelectRows(ChargeItems, each [quantity]
[value] > 1.001)
in
FilteredChargeItems

Filtragem de quantidade com o sistema de valores e o código (quantidade):

let
ChargeItems =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"ChargeItem" ]}[Data],

// Fold: "quantity=lt1.001|s|c"
FilteredChargeItems = Table.SelectRows(ChargeItems, each [quantity]
[value] < 1.001 and [quantity][system] = "s" and [quantity][code] = "c")
in
FilteredChargeItems

Filtragem com base no período, começa após (período):

let
Consents = Fhir.Contents("https://myfhirserver.azurehealthcareapis.com",
null){[Name = "Consent" ]}[Data],

// Fold: "period=sa2010-01-01T00:00:00.000+00:00"
FiltertedConsents = Table.SelectRows(Consents, each [provision][period]
[start] > #datetimezone(2010, 1, 1, 0, 0, 0, 0, 0))
in
FiltertedConsents

Filtragem com base no período, termina antes (período):

let
Consents = Fhir.Contents("https://myfhirserver.azurehealthcareapis.com",
null){[Name = "Consent" ]}[Data],

// Fold: "period=eb2010-01-01T00:00:00.000+00:00"
FiltertedConsents = Table.SelectRows(Consents, each [provision][period]
[end] < #datetimezone(2010, 1, 1, 0, 0, 0, 0, 0))
in
FiltertedConsents

Filtragem do campo de texto de tipos complexos:

let
Observations =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"Observation" ]}[Data],

// Fold: "code:text=t"
FilteredObservations = Table.SelectRows(Observations, each [code][text]
= "t")
in
FilteredObservations

Filtragem com base no campo de texto (começa com):


M

let
Observations =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"Observation" ]}[Data],

// Fold: "code:text=t"
FilteredObservations = Table.SelectRows(Observations, each
Text.StartsWith([code][text], "t"))
in
FilteredObservations

Filtragem com base em propriedades de listas


Filtragem de pacientes com base no perfil:

let
Patients = Fhir.Contents("https://myfhirserver.azurehealthcareapis.com",
null){[Name = "Patient" ]}[Data],

// Fold: "_profile=http://myprofile"
FilteredPatients = Table.SelectRows(Patients, each
List.MatchesAny([meta][profile], each _ = "http://myprofile"))
in
FilteredPatients

Filtragem de AllergyIntolerance com base na categoria:

let
AllergyIntolerances =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"AllergyIntolerance" ]}[Data],

// Fold: "category=food"
FilteredAllergyIntolerances = Table.SelectRows(AllergyIntolerances, each
List.MatchesAny([category], each _ = "food"))
in
FilteredAllergyIntolerances

Filtragem de AllergyIntolerance com base na categoria ausente:

M
let
AllergyIntolerances =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"AllergyIntolerance" ]}[Data],

// Fold: "category:missing=true"
FilteredAllergyIntolerances = Table.SelectRows(AllergyIntolerances, each
List.MatchesAll([category], each _ = null))
in
FilteredAllergyIntolerances

Filtragem de AllergyIntolerance com base em uma forma mais simples de categoria


ausente:

let
AllergyIntolerances =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"AllergyIntolerance" ]}[Data],

// Fold: "category:missing=true"
FilteredAllergyIntolerances = Table.SelectRows(AllergyIntolerances, each
[category] = null)
in
FilteredAllergyIntolerances

Filtragem com base nas propriedades da tabela


Filtragem de pacientes com base no nome exato da família:

let
Patients = Fhir.Contents("https://myfhirserver.azurehealthcareapis.com",
null){[Name = "Patient" ]}[Data],

// Fold: "family:exact=Johnson"
FilteredPatients = Table.SelectRows(Patients, each
Table.MatchesAnyRows([name], each [family] = "Johnson"))
in
FilteredPatients

Filtragem de pacientes em que o nome da família começa com:

M
let
Patients = Fhir.Contents("https://myfhirserver.azurehealthcareapis.com",
null){[Name = "Patient" ]}[Data],

// Fold: "family=John"
FilteredPatients = Table.SelectRows(Patients, each
Table.MatchesAnyRows([name], each Text.StartsWith([family], "John")))
in
FilteredPatients

Filtragem de pacientes em que o nome da família começa com John ou Paul :

let
Patients = Fhir.Contents("https://myfhirserver.azurehealthcareapis.com",
null){[Name = "Patient" ]}[Data],

// Fold: "family=John,Paul"
FilteredPatients = Table.SelectRows(Patients, each
Table.MatchesAnyRows([name], each Text.StartsWith([family], "John") or
Text.StartsWith([family], "Paul")))
in
FilteredPatients

Filtragem de pacientes em que o nome da família começa com John e o item fornecido
começa com Paul :

let
Patients = Fhir.Contents("https://myfhirserver.azurehealthcareapis.com",
null){[Name = "Patient" ]}[Data],

// Fold: "family=John&given=Paul"
FilteredPatients = Table.SelectRows(
Patients,
each
Table.MatchesAnyRows([name], each Text.StartsWith([family],
"John")) and
Table.MatchesAnyRows([name], each List.MatchesAny([given], each
Text.StartsWith(_, "Paul"))))
in
FilteredPatients

Filtragem com base na data de conclusão da meta:

M
let
Goals = Fhir.Contents("https://myfhirserver.azurehealthcareapis.com",
null){[Name = "Goal" ]}[Data],

// Fold: "target-date=gt2020-03-01"
FilteredGoals = Table.SelectRows(Goals, each
Table.MatchesAnyRows([target], each [due][date] > #date(2020,3,1)))
in
FilteredGoals

Filtragem de paciente com base no identificador:

let
Patients = Fhir.Contents("https://myfhirserver.azurehealthcareapis.com",
null){[Name = "Patient" ]}[Data],

// Fold: "identifier=s|v"
FilteredPatients = Table.SelectRows(Patients, each
Table.MatchesAnyRows([identifier], each [system] = "s" and _[value] = "v"))
in
FilteredPatients

Filtragem com base no código de observação (CodeableConcept):

let
Observations =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"Observation" ]}[Data],

// Fold: "code=s|c"
FilteredObservations = Table.SelectRows(Observations, each
Table.MatchesAnyRows([code][coding], each [system] = "s" and [code] = "c"))
in
FilteredObservations

Filtragem com base no código e no texto de observação (CodeableConcept):

let
Observations =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"Observation" ]}[Data],

// Fold: "code:text=t&code=s|c"
FilteredObservations = Table.SelectRows(Observations, each
Table.MatchesAnyRows([code][coding], each [system] = "s" and [code] = "c")
and [code][text] = "t")
in
FilteredObservations

Filtragem de propriedades aninhadas de vários


níveis
Filtragem de pacientes em que o nome da família começa com John e o item fornecido
começa com Paul :

let
Patients = Fhir.Contents("https://myfhirserver.azurehealthcareapis.com",
null){[Name = "Patient" ]}[Data],

// Fold: "family=John&given=Paul"
FilteredPatients =
Table.SelectRows(
Patients,
each
Table.MatchesAnyRows([name], each Text.StartsWith([family],
"John")) and
Table.MatchesAnyRows([name], each List.MatchesAny([given],
each Text.StartsWith(_, "Paul"))))
in
FilteredPatients

Filtragem apenas de sinais vitais de observações:

let
Observations =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"Observation" ]}[Data],

// Fold: "category=vital-signs"
FilteredObservations = Table.SelectRows(Observations, each
Table.MatchesAnyRows([category], each Table.MatchesAnyRows([coding], each
[code] = "vital-signs")))
in
FilteredObservations

Filtragem de observações com base na codificação de categoria com sistema e código:


M

let
Observations =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"Observation" ]}[Data],

// Fold: "category=s|c"
FilteredObservations = Table.SelectRows(Observations, each
Table.MatchesAnyRows([category], each Table.MatchesAnyRows([coding], each
[system] = "s" and [code] = "c")))
in
FilteredObservations

Filtragem de observações com base em várias categorias (OR):

let
Observations =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"Observation" ]}[Data],

// Fold: "category=s1|c1,s2|c2"
FilteredObservations =
Table.SelectRows(
Observations,
each
Table.MatchesAnyRows(
[category],
each
Table.MatchesAnyRows(
[coding],
each
([system] = "s1" and [code] = "c1") or
([system] = "s2" and [code] = "c2"))))
in
FilteredObservations

Filtragem de lista aninhada na tabela:

let
AuditEvents =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"AuditEvent" ]}[Data],

// Fold: "policy=http://mypolicy"
FilteredAuditEvents = Table.SelectRows(AuditEvents, each
Table.MatchesAnyRows([agent], each List.MatchesAny([policy], each _ =
"http://mypolicy")))
in
FilteredAuditEvents

Filtragem com parâmetros de pesquisa


composta
O FHIR tem parâmetros de pesquisa composta que permitem a filtragem com base
em vários campos em um tipo complexo de um recurso ou na raiz do recurso ao
mesmo tempo. Por exemplo, é possível pesquisar observações com um código
específico e um valor específico (um parâmetro de pesquisa code-value-quantity ). O
conector do Power Query para FHIR tentará reconhecer expressões de filtragem
mapeadas para esses parâmetros de pesquisa composta. Estas seções listam alguns
exemplos desses padrões. No contexto da análise de dados do FHIR, os parâmetros de
pesquisa composta no recurso Observation são especialmente importantes.

Filtragem de observações com base em quantidade de valor e código, e com altura do


corpo maior que 150:

let
Observations =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"Observation" ]}[Data],

// Fold: "code-value-quantity=http://loinc.org|8302-2$gt150"
FilteredObservations = Table.SelectRows(Observations, each
Table.MatchesAnyRows([code][coding], each [system] = "http://loinc.org" and
[code] = "8302-2") and [value][Quantity][value] > 150)
in
FilteredObservations

Filtragem com base na quantidade de valor e código do componente de observação, e


pressão arterial sistólica maior que 140:

let
Observations =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"Observation" ]}[Data],

// Fold: "component-code-value-quantity=http://loinc.org|8480-6$gt140"
FilteredObservations = Table.SelectRows(Observations, each
Table.MatchesAnyRows([component], each Table.MatchesAnyRows([code][coding],
each [system] = "http://loinc.org" and [code] = "8480-6") and [value]
[Quantity][value] > 140))
in
FilteredObservations

Filtragem com base em várias quantidades de valor de código de componente (AND),


com pressão arterial diastólica maior que 90 e pressão arterial sistólica maior que 140:

let
Observations =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"Observation" ]}[Data],

// Fold: "component-code-value-quantity=http://loinc.org|8462-
4$gt90&component-code-value-quantity=http://loinc.org|8480-6$gt140"
FilteredObservations =
Table.SelectRows(
Observations,
each
Table.MatchesAnyRows(
[component],
each
Table.MatchesAnyRows([code][coding], each [system] =
"http://loinc.org" and [code] = "8462-4") and [value][Quantity][value] > 90)
and
Table.MatchesAnyRows([component], each
Table.MatchesAnyRows([code][coding], each [system] = "http://loinc.org" and
[code] = "8480-6") and [value][Quantity][value] > 140))
in
FilteredObservations

Filtragem com base em várias quantidades de valor de código de componente (OR),


com pressão arterial diastólica maior que 90 ou pressão arterial sistólica maior que 140:

let
Observations =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"Observation" ]}[Data],

// Fold: "component-code-value-quantity=http://loinc.org|8462-
4$gt90,http://loinc.org|8480-6$gt140"
FilteredObservations =
Table.SelectRows(
Observations,
each
Table.MatchesAnyRows(
[component],
each
(Table.MatchesAnyRows([code][coding], each [system]
= "http://loinc.org" and [code] = "8462-4") and [value][Quantity][value] >
90) or
Table.MatchesAnyRows([code][coding], each [system]
= "http://loinc.org" and [code] = "8480-6") and [value][Quantity][value] >
140 ))
in
FilteredObservations

Filtragem de observações com base em quantidades de valor de código na raiz do


recurso ou na matriz do componente:

let
Observations =
Fhir.Contents("https://myfhirserver.azurehealthcareapis.com", null){[Name =
"Observation" ]}[Data],

// Fold: "combo-code-value-quantity=http://loinc.org|8302-2$gt150"
FilteredObservations =
Table.SelectRows(
Observations,
each
(Table.MatchesAnyRows([code][coding], each [system] =
"http://loinc.org" and [code] = "8302-2") and [value][Quantity][value] >
150) or
(Table.MatchesAnyRows([component], each
Table.MatchesAnyRows([code][coding], each [system] = "http://loinc.org" and
[code] = "8302-2") and [value][Quantity][value] > 150)))
in
FilteredObservations

Resumo
A dobragem de consulta transforma as expressões de filtragem do Power Query em
parâmetros de pesquisa do FHIR. O conector do Power Query para FHIR reconhece
determinados padrões e tenta identificar parâmetros de pesquisa correspondentes.
Reconhecer esses padrões ajudará você a escrever expressões do Power Query mais
eficientes.

Próximas etapas
Neste artigo, revisamos algumas classes de expressões de filtragem que serão dobradas
em parâmetros de pesquisa do FHIR. Em seguida, leia sobre como estabelecer relações
entre recursos do FHIR.

Relações do Power Query para FHIR


Relações FHIR
Artigo • 25/07/2023

Este artigo descreve como estabelecer relações entre tabelas que foram importadas
usando o conector Power Query para FHIR.

Introdução
Os recursos FHIR estão relacionados uns aos outros, por exemplo, um Observation que
faz referência a um assunto ( Patient ):

JSON

{
"resourceType": "Observation",
"id": "1234",
"subject": {
"reference": "Patient/456"
}

// ... Other fields


}

Alguns dos campos de referência de recurso no FHIR podem se referir a vários tipos
diferentes de recursos (por exemplo, Practitioner ou Organization ). Para facilitar a
resolução de referências, o conector Power Query para FHIR adiciona um campo
sintético a todos os recursos importados chamados <referenceId> , que contém uma
concatenação do tipo de recurso e da ID do recurso.

Para estabelecer uma relação entre duas tabelas, você pode conectar um campo de
referência específico em um recurso ao campo correspondente <referenceId> no
recurso ao qual você gostaria que ele fosse vinculado. Em casos simples, o Power BI
detectará isso automaticamente.

Estabelecer relações FHIR no Power BI


Nesta seção, mostraremos um exemplo de estabelecer uma relação entre o campo
Observation.subject.reference e o campo <referenceId> em Patient .

1. Ao importar dados, selecione as tabelas Paciente e Observação:


Em seguida, selecione Transformar Dados.

2. Expanda a coluna de assunto em Observation para revelar subject.reference :

Depois de expandir, você deverá ver a lista de referências de assunto:


3. Faça outras modificações necessárias na consulta e salve a consulta modificada.

4. Selecione Gerenciar Relações no cliente do Power BI:

5. Estabeleça a relação. Neste exemplo simples, o Power BI provavelmente detectará


a relação automaticamente:

Caso contrário, você pode adicioná-lo manualmente:

Você pode editar os detalhes da relação:



Resumo
Os recursos no FHIR estão relacionados. Essas relações precisam ser estabelecidas em
dados importados com o conector Power Query para FHIR. O campo <referenceId> é
um campo sintético adicionado a todos os dados FHIR importados que ajudarão a
estabelecer as relações.

Próximas etapas
Neste artigo, você aprendeu a estabelecer relações entre tabelas importadas com o
conector Power Query para FHIR. Em seguida, explore o dobramento de consulta com o
conector Power Query para FHIR.

Dobramento de consultas do Power Query para FHIR


Pasta
Artigo • 13/07/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (Dataflow Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365
Analysis Services

Tipos de autenticação compatíveis Windows

Documentação de referência da função Folder.Contents, Folder.Files

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Funcionalidades com suporte


Caminho da pasta
Combinar
Combinar e carregar
Combinar e transformar

Conectar-se a uma pasta do Power Query


Desktop
Para se conectar a uma pasta do Power Query Desktop:

1. Selecione a opção Arquivo na seleção do conector.


2. Insira o caminho para a pasta que você deseja carregar ou selecione Procurar para
navegar até a pasta que você deseja carregar. Depois, selecione OK.

Quando você seleciona a pasta que deseja usar, as informações de arquivo sobre
todos os arquivos nessa pasta são exibidas. Além disso, as informações de arquivo
sobre arquivos em qualquer subpasta também são exibidas.

3. Selecione Combinar &Transformar dados para combinar os dados nos arquivos da


pasta selecionada e carregar os dados no Editor do Power Query para edição. Ou
selecione Combinar & Carregar para carregar os dados de todos os arquivos na
pasta diretamente em seu aplicativo. Ou selecione Transformar Dados para
carregar os dados da pasta no Editor do Power Query.
7 Observação

As opções Combinar & Transformar dados e Combinar & Carregar são as


maneiras mais fáceis de combinar os dados nos arquivos da pasta que você
especificou. Também é possível usar as opções Carregar ou Transformar dados
(somente para Power BI Desktop) para combinar os arquivos, mas isso requer mais
etapas manuais.

Conectar-se a uma pasta do Power Query


Online
Para se conectar a uma pasta do Power Query Online:

1. Selecione a opção Arquivo na seleção do conector.

2. Insira o caminho para a pasta que você deseja carregar.


3. Insira o nome de um gateway de dados local que você usará para acessar a pasta.

4. Selecione o tipo de autenticação para se conectar à pasta. Se você selecionar o


tipo de autenticação do Windows, insira suas credenciais.

5. Selecione Avançar.

6. Na caixa de diálogo Navegador, selecione Combinar para combinar os dados nos


arquivos da pasta selecionada do SharePoint e carregar os dados no Editor do
Power Query para edição. Ou selecione Transformar Dados para carregar os dados
da pasta no Editor do Power Query.

Solução de problemas

Combinar arquivos
Quando você combina arquivos usando o conector de pasta, todos os arquivos na pasta
e suas subpastas são processados da mesma maneira e os resultados são combinados.
A forma como os arquivos são processados é determinada pelo arquivo de exemplo
selecionado. Por exemplo, se você selecionar um arquivo do Excel e escolher uma tabela
chamada "Table1", todos os arquivos serão tratados como arquivos do Excel que
contêm uma tabela chamada "Table1".

Para garantir que a combinação dos arquivos funcione corretamente, verifique se todos
os arquivos na pasta e suas subpastas têm o mesmo formato e estrutura de arquivo. Se
você precisar excluir alguns dos arquivos, primeiro selecione Transformar dados em vez
de Combinar e filtrar a tabela de arquivos no Editor do Power Query antes de combinar.

Para obter mais informações sobre como combinar arquivos, acesse Combinar arquivos
no Power Query.
Funil
Artigo • 05/10/2023

7 Observação

O artigo a seguir sobre o conector é fornecido pela Funnel, proprietária desse


conector e membro do Programa de certificação de conector do Microsoft Power
Query. Se tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações
neste artigo, visite o site da Funnel e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Espaço de trabalho do Funnel

Pré-requisitos
Para usar o conector da Funnel, você precisa de uma assinatura da Funnel. A Funnel a
coletar dados de todas as plataformas de marketing, transformá-los e enviá-los para os
destinos desejados, como o Power BI (https://funnel.io/ ).

No Aplicativo Funnel, vá até seu Espaço de Trabalho, navegue até a página do Microsoft
Power BI no painel de navegação esquerdo (se você não conseguir vê-lo, entre em
contato conosco). Siga as instruções na página. Você precisa criar um
"Compartilhamento de Dados" que contenha os campos que deseja expor no Power BI.

Funcionalidades com suporte


Importação
Conectar-se à Funnel desde o Power Query
Desktop
Para se conectar à Funnel:

1. Selecione Serviços online, localize Funnel na lista de conectores de dados


específicos do produto e selecione Conectar.

2. Selecione Entrar para entrar no Espaço de Trabalho do Funnel.


3. Entre com seu usuário do Google conectado à Funnel ou use suas credenciais da
Funnel.

4. Depois de entrar, selecione Conectar.


5. Na caixa de diálogo Navegador, escolha um ou mais Compartilhamentos de
Dados em Espaços de Trabalho para importar seus dados.

Para cada Compartilhamento de Dados, você pode inserir o número de meses


contínuos de dados desejados.

7 Observação

O número padrão de meses é 12. Se hoje for 22.03.2022, você obterá dados
para o período 01.04.2021 - 22.03.2022.
Em seguida, selecione Carregar para carregar os dados ou selecione Transformar
dados para transformar os dados.

Limitações e problemas conhecidos


Se um Compartilhamento de Dados contiver muitos dados por um mês, o
conector receberá um erro TOO_MANY_ROWS.

Para obter mais informações, leia nossos artigos sobre base de dados de conhecimento
do Power BI .
Google Analytics
Artigo • 21/07/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (Dataflow Gen2)
Power Apps (Fluxos de dados)
Customer Insights (Fluxos de dados)

Tipos de autenticação compatíveis Conta do Google

Documentação de referência da função GoogleAnalytics.Accounts

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

7 Observação

A partir de julho de 2023, o Google preteriu o uso da API do Google Analytics. Para
obter mais informações, acesse o anúncio do Google . O conector do Power
Query Google Analytics dá suporte ao cenário herdado da Análise Universal por
meio da V4 da API do Google Universal Analytics agora preterida usando a
Implementation = "1.0" configuração . O conector também dá suporte a cenários

do Google Analytics 4 por meio da V1 da API de Dados do Google Analytics


usando a configuração agora padrão Implementation = "2.0" .

7 Observação

A partir de julho de 2021, o Google descontinuou o suporte para entradas em


contas do Google de estruturas de navegador inseridas. Devido a essa alteração,
você precisa atualizar sua versão do Power BI Desktop para junho de 2021 ou
posterior para dar suporte à entrada no Google.

Pré-requisitos
Antes de entrar no Google Analytics, você deve ter uma conta do Google Analytics
(nome de usuário/senha).

Funcionalidades com suporte


Importação
Google Analytics 4 (API de Dados)
Google Universal Analytics (preterido)

Conectar-se aos dados do Google Analytics do


Power Query Desktop
Para se conectar aos dados do Google Analytics:

1. Selecione Obter Dados na faixa de opções Início no Power BI Desktop. Selecione


Serviços Online nas categorias à esquerda, e o Google Analytics aparecerá.
Depois, selecione Conectar.
2. Se essa for a primeira vez que você estiver obtendo dados por meio do conector
do Google Analytics, um aviso de terceiros será exibido. Selecione Não mostrar
alerta novamente para esse conector se você não quiser que essa mensagem seja
exibida novamente. Depois selecione Continuar.

3. Para se conectar aos dados do Google Analytics por meio da API herdada da
"Análise Universal", selecione Implementação 1.0. Para se conectar aos dados do
Google Analytics por meio da nova API de Dados do Google Analytics com
suporte para o Google Analytics 4, selecione Implementação 2.0 (Beta).

4. Para entrar na sua conta do Google Analytics, selecione Entrar.


5. Na janela Entrar com o Google, forneça suas credenciais para entrar em sua conta
do Google Analytics. Você pode fornecer um endereço de email ou número de
telefone. Em seguida, selecione Avançar.

6. Insira sua senha do Google Analytics e selecione Avançar.


7. Quando for perguntado se você deseja que Power BI Desktop acesse sua conta do
Google, selecione Permitir.
8. Depois de entrar, selecione Conectar.

Depois que a conexão for estabelecida, você verá uma lista dos espaços de trabalho aos
quais tem acesso. Percorra a conta e veja propriedades e exibições para ver uma seleção
de valores, categorizados em pastas de exibição.

É possível Carregar a tabela selecionada, que insere toda a tabela no Power BI Desktop,
ou selecionar Transformar dados para editar a consulta, que abre o Editor do Power
Query. Depois, é possível filtrar e refinar o conjunto de dados que deseja usar e carregar
esse conjunto refinado de dados no Power BI Desktop.

Conectar-se aos dados do Google Analytics do


Power Query Online
Para se conectar aos dados do Google Analytics:

1. Selecione o Google Analytics na página Power Query – escolha a fonte de dados.

2. Na página de conexão, insira um nome de conexão e escolha um gateway de


dados local, se necessário.

3. Selecione Entrar para entrar na conta do Google.


4. Na janela Entrar com o Google, forneça suas credenciais para entrar em sua conta
do Google Analytics. Você pode fornecer um endereço de email ou número de
telefone. Em seguida, selecione Avançar.

7 Observação

Atualmente, as caixas de diálogo de entrada do Google Analytics indicam que


você está entrando no Power Query Desktop. Esse texto será alterado no
futuro.

5. Insira sua senha do Google Analytics e selecione Avançar.


6. Quando for perguntado se você deseja que Power BI Desktop acesse sua conta do
Google, selecione Permitir.
7. Depois de entrar, selecione Avançar.

Depois que a conexão for estabelecida, você verá uma lista dos espaços de
trabalho aos quais tem acesso. Percorra a conta e veja propriedades e exibições
para ver uma seleção de valores, categorizados em pastas de exibição.

8. Selecione Transformar dados para editar a consulta no Editor do Power Query.


Você pode filtrar e refinar o conjunto de dados que deseja usar e, em seguida,
carregar esse conjunto refinado de dados no Power Apps.

Limitações e problemas
Você deve estar ciente das limitações e problemas a seguir associados ao acesso aos
dados do Google Analytics.
Limites de cota do Google Analytics para Power BI
As limitações e cotas padrão para solicitações AP do Google Analytics estão
documentadas em Limites e Cotas em Solicitações de API . No entanto, o Power BI
Desktop e serviço do Power BI permitem que você use o seguinte número aprimorado
de consultas.

Consultas por dia: 1.500.000


Consultas a cada 100 segundos: 4.000

Solução de problemas

Validando dados inesperados


Quando os intervalos de datas forem muito grandes, o Google Analytics retornará
apenas um subconjunto de valores. Você pode usar o processo descrito nesta seção
para entender quais datas estão sendo recuperadas e editá-las manualmente. Se você
precisar de mais dados, poderá acrescentar várias consultas com intervalos de datas
diferentes. Se você não tiver certeza de que está recebendo de volta os dados que
espera ver, também poderá usar a Criação de Perfil de Dados para dar uma olhada
rápida no que está sendo retornado.

Para garantir que os dados que você está vendo sejam os mesmos que você obteria do
Google Analytics, você pode executar a consulta por conta própria na ferramenta
interativa do Google. Para entender quais dados Power Query está recuperando, você
pode usar o Diagnóstico de Consulta para entender quais parâmetros de consulta estão
sendo enviados ao Google Analytics.

Se você seguir as instruções para Diagnóstico de Consulta e executar a Etapa de


Diagnóstico em quaisquer Itens Adicionados, poderá ver os resultados gerados na
coluna Consulta da Fonte de Dados de Diagnóstico. É recomendável executar isso com
o menor número possível de operações adicionais, além da conexão inicial com o
Google Analytics, para garantir que você não esteja perdendo dados em uma
transformação Power Query em vez do que está sendo recuperado do Google Analytics.

Dependendo da consulta, a linha que contém a chamada de API emitida para o Google
Analytics pode não estar no mesmo lugar. Mas para uma consulta simples do Google
Analytics, você geralmente a verá como a última linha que tem conteúdo nessa coluna.

Na coluna Consulta da Fonte de Dados, você encontrará um registro com o seguinte


padrão:
Request:
GET https://www.googleapis.com/analytics/v3/data/ga?ids=ga:<GA
Id>&metrics=ga:users&dimensions=ga:source&start-date=2009-03-12&end-
date=2020-08-11&start-index=1&max-results=1000&quotaUser=<User>%40gmail.com
HTTP/1.1

<Content placeholder>

Response:
HTTP/1.1 200 OK
Content-Length: -1

<Content placeholder>

Neste registro, você pode ver que tem sua ID de exibição de Análise (perfil), sua lista
de métricas (nesse caso, apenas ga:users ), sua lista de dimensões (nesse caso,
apenas a fonte de referência), a data de início e a data de término , o índice de
início , os resultados máximos (definidos como 1000 para o editor por padrão) e o
quotaUser .

Você pode copiar esses valores para o Google Analytics Query Explorer para validar
que os mesmos dados que você está vendo retornados por sua consulta também estão
sendo retornados pela API.

Se o erro estiver em torno de um intervalo de datas, você poderá corrigi-lo facilmente.


Acesse o Editor Avançado. Você verá uma consulta M que se parece com isto (no
mínimo, pode haver outras transformações em cima dela).

Power Query M

let
Source = GoogleAnalytics.Accounts(),
#"<ID>" = Source{[Id="<ID>"]}[Data],
#"UA-<ID>-1" = #"<ID>"{[Id="UA-<ID>-1"]}[Data],
#"<View ID>" = #"UA-<ID>-1"{[Id="<View ID>"]}[Data],
#"Added Items" = Cube.Transform(#"<View ID>",
{
{Cube.AddAndExpandDimensionColumn, "ga:source", {"ga:source"},
{"Source"}},
{Cube.AddMeasureColumn, "Users", "ga:users"}
})
in
#"Added Items"

Portanto, você tem duas opções: Se você tiver uma coluna Data, poderá filtrar na Data.
Essa é a opção mais fácil. Se você não quiser dividir por data, você pode agrupar depois.
Se você não tiver uma coluna Data, poderá manipular manualmente a consulta no
Editor Avançado para adicionar uma e filtrar nela. Por exemplo:

Power Query M

let
Source = GoogleAnalytics.Accounts(),
#"<ID>" = Source{[Id="<ID>"]}[Data],
#"UA-<ID>-1" = #"<ID>"{[Id="UA-<ID>-1"]}[Data],
#"<View ID>" = #"UA-<ID>-1"{[Id="<View ID>"]}[Data],
#"Added Items" = Cube.Transform(#"<View ID>",
{
{Cube.AddAndExpandDimensionColumn, "ga:date", {"ga:date"},
{"Date"}},
{Cube.AddAndExpandDimensionColumn, "ga:source", {"ga:source"},
{"Source"}},
{Cube.AddMeasureColumn, "Organic Searches",
"ga:organicSearches"}
}),
#"Filtered Rows" = Table.SelectRows(#"Added Items", each [Date] >=
#date(2019, 9, 1) and [Date] <= #date(2019, 9, 30))
in
#"Filtered Rows"

Próximas etapas
Google Analytics Dimensions & Metrics Explorer
Google Analytics Core Reporting API
Google BigQuery
Artigo • 18/11/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Customer Insights (Fluxos de dados)

Tipos de autenticação compatíveis Conta organizacional


Conta de serviço

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

7 Observação

A partir de julho de 2021, o Google descontinuará o suporte para acessos em


contas do Google de estruturas de navegador integradas. Devido a essa alteração,
você precisará atualizar sua versão Power BI Desktop para junho de 2021 para
dar suporte à entrada no Google.

Pré-requisitos
Você precisará de uma conta do Google ou de uma conta de serviço do Google para
entrar no Google BigQuery.

Funcionalidades com suporte


Importação
DirectQuery (conjuntos de dados do Power BI)
Conectar-se aos dados do Google BigQuery do
Power Query Desktop
Para se conectar ao Google BigQuery do Power Query Desktop, siga as seguintes
etapas:

1. Na experiência Obter dados, pesquise e selecione o Google BigQuery.

2. Se você quiser usar as opções antecipadas, selecione Opções avançadas. Caso


contrário, selecione OK para continuar. Mais informações: Conectar usando opções
avançadas

3. O conector do Google BigQuery é compatível com a conexão por meio de uma


conta organizacional ou um login de conta de serviço. Neste exemplo, você usará
a conta organizacional para entrar. Selecione Entrar para continuar.
Você também pode entrar usando uma conta de serviço do Google. Nesse caso,
selecione Logon da Conta de Serviço e insira o email da conta de serviço e o
conteúdo do arquivo de chave JSON da conta de serviço. Depois, selecione
Conectar.

4. Uma caixa de diálogo Entrar com o Google é exibida. Selecione sua conta do
Google e aprove a conexão ao Power BI Desktop.

5. Depois de entrar, selecione Conectar para continuar.


6. Depois de você se conectar com sucesso, aparece uma janela Navegador com os
dados disponíveis no servidor. Selecione os dados no navegador. Selecione
Transformar dados para transformar os dados no Power Query ou Carregar para
carregar os dados no Power BI Desktop.

Conectar-se aos dados do Google BigQuery do


Power Query Online
Para se conectar ao Google BigQuery do Power Query Online, siga as seguintes etapas:

1. Na experiência Obter Dados, selecione a categoria Banco de Dados e selecione


Google BigQuery.
2. Na caixa de diálogo Banco de Dados do Google BigQuery, talvez seja necessário
criar uma nova conexão ou selecionar uma conexão existente. Se você estiver
usando dados locais, selecione um gateway de dados local. Em seguida, selecione
Entrar.

3. Uma caixa de diálogo Entrar com o Google é exibida. Selecione sua conta do
Google e aprove a conexão.

7 Observação

Embora a caixa de diálogo de entrada diga que você continuar para o Power
BI Desktop depois de entrar, você será enviado para seu aplicativo online.
4. Se você quiser usar as opções antecipadas, selecione Opções avançadas. Mais
informações: Conectar usando opções avançadas

5. Depois de entrar, selecione Avançar para continuar.


6. Depois de você se conectar com sucesso, aparece uma janela Navegador com os
dados disponíveis no servidor. Selecione os dados no navegador. Em seguida,
selecione Avançar para transformar os dados no Power Query.

Conectar usando opções avançadas


Tanto o Power Query Desktop quanto o Power Query Online fornecem um conjunto de
opções avançadas que você pode adicionar à sua consulta, se necessário.
A tabela a seguir lista todas as opções avançadas que você pode definir no Power Query
Desktop e no Power Query Online.

Opção avançada Descrição

ID do projeto de Um projeto no qual Power Query executará consultas. As permissões e a


cobrança cobrança estão vinculadas a este projeto. Se nenhum ID de Projeto de
Faturamento for fornecido, por padrão, o primeiro projeto disponível
retornado pelas APIs do Google será usado.

Usar API de Um sinalizador que permite o uso da API de Armazenamento do Google


Armazenamento BigQuery . Essa opção é verdadeira por padrão. Essa opção pode ser
definida como falsa para não usar a API de Armazenamento e usar APIs
REST.

Duração do tempo A configuração de conexão padrão (em segundos) que controla quanto
limite de conexão tempo Power Query aguarda a conclusão de uma conexão. Você poderá
alterar esse valor se sua conexão não for concluída antes de 15 segundos (o
valor padrão).

Duração do tempo Quanto tempo Power Query aguarda a conclusão de uma consulta e o
limite de comando retorno dos resultados. O padrão depende do padrão do driver. Você pode
inserir outro valor em minutos para manter a conexão aberta por mais
tempo.
Opção avançada Descrição

ID do projeto O projeto no qual você deseja executar consultas nativas. Esta opção está
disponível somente no Power Query Desktop.

Instrução SQL Para obter mais informações, acesse Import data from a database using
native database query. Nesta versão da funcionalidade de consulta de
banco de dados nativo, você precisa usar nomes de tabela totalmente
qualificados no formato Database.Schema.Table , por exemplo SELECT * FROM
DEMO_DB.PUBLIC.DEMO_TABLE . Esta opção está disponível somente no Power
Query Desktop.

Depois de selecionar as opções avançadas necessárias, selecione OK no Power Query


Desktop ou Avançar no Power Query Online para se conectar ao banco de dados SQL
Server.

Limitações e considerações
Esta seção descreve quaisquer limitações ou considerações do conector do Google
BigQuery.

Conectando-se ao Google BigQuery no Power BI Desktop


Há alguns limites e considerações a serem considerados ao usar o conector do Google
BigQuery com o Power BI.

Disponibilidade do conector

O conector do Google BigQuery está disponível no Power BI Desktop e no serviço do


Power BI. No serviço do Power BI, o conector pode ser acessado usando a conexão de
nuvem para nuvem do Power BI para o Google BigQuery.

Erro "Acesso Negado"


Ao tentar se conectar ao Google BigQuery a partir do Power BI Desktop, você poderá
receber a seguinte mensagem de erro:

Datasource.Error: ODBC: ERROR [HY000][Microsoft][BigQuery] (100) Error interacting


with REST API: Access Denied: Project <project name>: The user <user name>

bigquery.jobs.create permissions in project <project name>.


Nesse caso, talvez seja necessário inserir um ID do Projeto de Faturamento na opção
avançada Projeto de Faturamento nas Configurações de conexão do Power Query.

Além disso, se você também criar um relatório no serviço do Power BI usando um


gateway, ainda poderá obter esse erro. Nesse caso, você deve incluir manualmente o ID
do Projeto de Faturamento no código M da conexão usando o editor do Power Query
ou a barra de fórmulas do Power Query. Por exemplo:

Source = GoogleBigQuery.Database([BillingProject="Include-Billing-Project-Id-

Here"])

Campos aninhados
Para otimizar as considerações de desempenho, o Google BigQuery se dá bem com
grandes conjuntos de dados quando desnormalizado, nivelado e aninhado.

O conector do Google BigQuery dá suporte a campos aninhados, que são carregados


como colunas de texto no formato JSON.

Os usuários devem selecionar Transformar Dados e, em seguida, usar os recursos de


análise JSON no Editor do Power Query para extrair os dados.

1. Na guia aa faixa de Transformações, a categoria Coluna de Texto, selecione


Analisar e, em seguida , JSON.
2. Extraia os campos de registro JSON usando a opção Expandir Coluna.
Configurando uma conta de serviço do Google
Para obter mais informações sobre como configurar ou usar contas de serviço do
Google, acesse Criar e gerenciar chaves de conta de serviço nos documentos do
Google.

Autenticação por meio de uma conta de serviço do


Google
Quando você se autentica por meio de uma conta de serviço do Google no Power BI
Desktop, há um formato de credencial específico exigido pelo conector.

Email da Conta de Serviço: deve estar no formato de email


Conteúdo do arquivo de chave JSON da Conta de Serviço: depois que essa chave
JSON for baixada, todas as novas linhas deverão ser removidas do arquivo para
que o conteúdo esteja em uma linha. Depois que o arquivo JSON estiver nesse
formato, o conteúdo poderá ser colado nesse campo.

Quando você se autentica por meio de uma conta de serviço do Google no serviço do
Power BI ou no Power Query Online, os usuários precisam usar a autenticação "Básica".
O campo Nome de Usuário é mapeado para o campo Email da Conta de Serviço acima
e o campo Senha é mapeado para o campo de conteúdo do arquivo de chave JSON da
Conta de Serviço acima. Os requisitos de formato para cada credencial permanecem os
mesmos no Power BI Desktop, serviço do Power BI e Power Query Online.

Não é possível autenticar com a API de Armazenamento


do Google BigQuery
O conector do Google BigQuery usa a API de Armazenamento do Google BigQuery
por padrão. Esse recurso é controlado pela opção avançada chamada UseStorageApi.
Você pode encontrar problemas com esse recurso se usar permissões granulares. Nesse
cenário, você pode ver a seguinte mensagem de erro ou não obter dados de sua
consulta:

ERROR [HY000] [Microsoft][BigQuery] (131) Unable to authenticate with Google


BigQuery Storage API. Check your account permissions

Você pode resolver esse problema ajustando corretamente as permissões do usuário


para a API BigQuery Storage. Essas permissões de API de armazenamento são
necessárias para acessar os dados corretamente com a API do BigQueryStorage:
bigquery.readsessions.create – Cria uma sessão de leitura por meio da API de

Armazenamento do BigQuery.
bigquery.readsessions.getData – Lê os dados de uma sessão de leitura por meio

da API de Armazenamento do BigQuery.


bigquery.readsessions.update – Atualiza uma sessão de leitura por meio da API de

Armazenamento do BigQuery.

Essas permissões normalmente são fornecidas na função BigQuery.User . Mais


informações em Funções e permissões predefinidas do Google BigQuery

Se as etapas acima não resolverem o problema, você poderá desabilitar a API de


Armazenamento do BigQuery.

Não é possível usar dados de tipo DateTime no modo


Direct Query
Há um problema conhecido em que o tipo DateTime não tem suporte por meio do
Direct Query. Selecionar uma coluna com o tipo DateTime causará um erro "Consulta
inválida" ou um erro visual.

Limitações na coluna de consulta que tem o mesmo


nome que o nome da tabela
Ao consultar uma coluna que tem o mesmo nome que o nome da tabela, o BigQuery
interpreta a coluna como uma struct que inclui todas as colunas na tabela em vez da
coluna especificada. Por exemplo, retorna um struct com todas as colunas na tabela de
depuração, SELECT debug FROM dataset.debug em vez da coluna de depuração
especificada. Esse comportamento geralmente não é intuitivo e uma correção está
sendo investigada. Há três soluções alternativas disponíveis:

Solução alternativa 1: Quebrar a tabela com um modo de exibição que não entre
em conflito com o nome da coluna— CREATE VIEW dataset.new_view AS SELECT *
FROM dataset.debug

Solução alternativa 2: Renomeie a coluna para evitar conflitos com o nome da


tabela— ALTER TABLE dataset.debug RENAME COLUMN debug to new_debug
Solução alternativa 3: altere a consulta SELECT para usar table.column para fazer
referência à coluna de conflito— SELECT debug.debug FROM dataset.debug
Google BigQuery (Azure AD) (Beta)
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Beta

Produtos Compatíveis Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)

Tipos de autenticação compatíveis Azure Active Directory

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Você precisa de uma conta do Azure Active Directory para fazer login no Google
BigQuery (Azure AD).

Funcionalidades com suporte


Importação
DirectQuery (conjuntos de dados do Power BI)

Conectar-se a dados do Google BigQuery


(Azure AD) do Power Query Desktop
Para se conectar ao Google BigQuery (Azure AD) a partir do Power Query Desktop,
realize as seguintes etapas:

1. Na experiência Obter Dados, pesquise e selecione Google BigQuery (Azure AD).


Mais informações: Locais para obter dados
2. Especifique um ID de Projeto de Faturamento, que é necessário para usar esse
conector. Se você quiser usar opções avançadas, selecione Opções avançadas.
Caso contrário, selecione Importar ou DirectQuery e, em seguida, selecione OK
para continuar. Mais informações: Conectar usando opções avançadas

3. O conector do Google BigQuery (Azure AD) dá suporte à conexão por meio de


uma conta do Azure Active Directory. Selecione Entrar para continuar.
4. Depois de entrar, selecione Conectar para continuar.

5. Depois de você se conectar com sucesso, aparece uma janela Navegador com os
dados disponíveis no servidor. Selecione os dados no navegador. Selecione
Transformar dados para transformar os dados no Power Query ou Carregar para
carregar os dados no Power BI Desktop.

Conectar-se a dados do Google BigQuery


(Azure AD) do Power Query Online
Para se conectar ao Google BigQuery (Azure AD) a partir do Power Query Online, realize
as seguintes etapas:

1. Na experiência Obter Dados, faça uma pesquisa no Google e selecione Google


BigQuery (Azure AD). Mais informações: Locais para obter dados
2. Na caixa de diálogo Google BigQuery (Azure AAD), talvez seja necessário criar
uma nova conexão ou selecionar uma conexão existente. Se você estiver criando
uma nova conexão, insira o ID do Projeto de Faturamento. Se você estiver usando
dados locais, selecione um gateway de dados local.

3. Se você quiser usar opções avançadas, selecione Opções avançadas. Mais


informações: Conectar usando opções avançadas

4. Depois de entrar, selecione Avançar para continuar.

5. Depois de você se conectar com sucesso, aparece uma janela Navegador com os
dados disponíveis no servidor. Selecione os dados no navegador. Em seguida,
selecione Avançar para transformar os dados no Power Query.

Conectar usando opções avançadas


Tanto o Power Query Desktop quanto o Power Query Online fornecem um conjunto de
opções avançadas que você pode adicionar à sua consulta, se necessário.

A tabela a seguir lista todas as opções avançadas que você pode definir no Power Query
Desktop e no Power Query Online.

Opção avançada Descrição

Usar API de Um sinalizador que permite o uso da API de Armazenamento do Google


Armazenamento BigQuery . Essa opção é verdadeira por padrão. Essa opção pode ser
definida como falsa para não usar a API de Armazenamento e usar APIs
REST.

Duração do tempo A configuração de conexão padrão (em segundos) que controla quanto
limite de conexão tempo Power Query aguarda a conclusão de uma conexão. Você poderá
alterar esse valor se sua conexão não for concluída antes de 15 segundos (o
valor padrão).

Duração do tempo Quanto tempo Power Query aguarda a conclusão de uma consulta e o
limite de comando retorno dos resultados. O padrão depende do padrão do driver. Você pode
inserir outro valor em minutos para manter a conexão aberta por mais
tempo.

URI de audiência

ProjectID O projeto no qual você deseja executar consultas nativas. Esta opção está
disponível somente no Power Query Desktop.

Consulta nativa Para obter mais informações, acesse Importar dados de um banco de dados
usando a consulta natuva de banco de dados. Nesta versão da
funcionalidade de consulta de banco de dados nativo, você precisa usar
nomes de tabela totalmente qualificados no formato
Database.Schema.Table , por exemplo SELECT * FROM
DEMO_DB.PUBLIC.DEMO_TABLE . Esta opção está disponível somente no Power
Query Desktop.

Depois de selecionar as opções avançadas necessárias, selecione OK no Power Query


Desktop ou Avançar no Power Query Online para se conectar ao banco de dados SQL
Server.

Limitações e considerações
Esta seção descreve as limitações ou considerações do conector do Google BigQuery
(Azure AD).

Configurações de OIDC
O conector do Google BigQuery (Azure AD) utiliza tokens JWT do Azure AD para
conectar a autenticação baseada no Azure AD ao recurso Federação da Força de
Trabalho do Google. Portanto, a configuração no lado da autenticação deve ser uma
configuração baseada em OIDC para se alinhar com os tokens JWT do Azure AD. Entre
em contato com seu ponto de contato do Google BigQuery para obter mais
informações sobre autenticação, configuração e suporte no lado do Google.

Conectando-se ao Google BigQuery (Azure AD) no Power


BI Desktop
Há alguns limites e considerações a serem considerados ao usar o conector do Google
BigQuery com o Power BI.

Campos aninhados
Para otimizar as considerações de desempenho, o Google BigQuery se dá bem com
grandes conjuntos de dados quando desnormalizado, nivelado e aninhado.

O conector do Google BigQuery (Azure AD) oferece suporte a campos aninhados, que
são carregados como colunas de texto no formato JSON.

Os usuários devem selecionar Transformar Dados e, em seguida, usar os recursos de


análise JSON no editor do Power Query para extrair os dados.
1. Na guia aa faixa de Transformações, a categoria Coluna de Texto, selecione
Analisar e, em seguida , JSON.
2. Extraia os campos de registro JSON usando a opção Expandir Coluna.

Não é possível autenticar com a API de Armazenamento


do Google BigQuery
O conector do Google BigQuery (Azure AD) usa a API de armazenamento do Google
BigQuery por padrão. Esse recurso é controlado pela opção avançada chamada
UseStorageApi. Você pode encontrar problemas com esse recurso se usar permissões
granulares. Nesse cenário, você pode ver a seguinte mensagem de erro ou não obter
dados de sua consulta:

ERROR [HY000] [Microsoft][BigQuery] (131) Unable to authenticate with Google

BigQuery Storage API. Check your account permissions

Você pode resolver esse problema ajustando corretamente as permissões do usuário


para a API BigQuery Storage. Essas permissões de API de armazenamento são
necessárias para acessar os dados corretamente com a API do BigQueryStorage:

bigquery.readsessions.create – Cria uma sessão de leitura por meio da API de

Armazenamento do BigQuery.
bigquery.readsessions.getData – Lê os dados de uma sessão de leitura por meio

da API de Armazenamento do BigQuery.


bigquery.readsessions.update – Atualiza uma sessão de leitura por meio da API de
Armazenamento do BigQuery.

Essas permissões normalmente são fornecidas na função BigQuery.User . Mais


informações em Funções e permissões predefinidas do Google BigQuery

Se as etapas acima não resolverem o problema, você poderá desabilitar a API de


Armazenamento do BigQuery.

Não é possível usar dados de tipo DateTime no modo


DirectQuery
Há um problema conhecido em que o tipo DateTime não tem suporte por meio do
DirectQuery. Selecionar uma coluna com o tipo DateTime causa um erro "Consulta
inválida" ou um erro visual.
Ativar o logon único (SSO) do Azure AD para o
Google BigQuery
Damos suporte ao SSO do Azure AD por meio do Serviço do Power BI (nuvem) e
também por meio do gateway de dados local. Para obter mais informações sobre como
habilitar o SSO Azure AD para todos os conectores, acesse Visão geral do SSO (Logon
Único) para gateways de dados locais no Power BI. Confirme diretamente com seu
contato do Google se o sistema e as contas estão configurados corretamente para o
SSO do Azure AD antes de tentar se conectar no Power BI.

SSO (logon único) do Azure AD por meio do serviço do


Power BI
Para configurar uma nova conexão no serviço do Power BI:

1. No serviço do Power BI, selecione Portal de administração na lista de


configurações.

2. Ative a opção SSO do Google BigQuery.


Logon único (SSO) do Azure AD para o Google BigQuery
com um gateway de dados local
Antes de ativar o SSO do Azure AD para o Google BigQuery, você deve primeiro ativar o
SSO do Azure AD para todas as fontes de dados que oferecem suporte ao SSO do Azure
AD com um gateway de dados local. Além disso, verifique se você atualizou pelo menos
para a versão de dezembro de 2022 do gateway de dados local:

1. No serviço do Power BI, selecione Portal de administração na lista de


configurações.

2. Em Configurações de locatário, habilite SSO (Logon Único) do Azure AD para


Gateway.

Depois de ativar o SSO do Azure AD para todas as fontes de dados, ative o SSO do
Azure AD para o Google BigQuery:

1. Ative a opção SSO do Google BigQuery.

2. Selecione Gerenciar gateways na lista de configurações.


3. Selecione um gateway e, em seguida, selecione Adicionar Fonte de Dados.

4. Na guia Configurações da Fonte de Dados, insira um valor em ID do Projeto de


Faturamento. O parâmetro ID do Projeto de Faturamento é necessário ao usar o
Azure AD e precisa ser especificado em Configurações avançadas. Além disso,
selecione Usar o SSO por meio do Azure AD para consultas DirectQuery.
Google Sheets
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Conta organizacional

Documentação de referência da função —

Pré-requisitos
Antes de usar o conector do Google Sheets, você deve ter uma conta do Google e ter
acesso ao Google Sheet ao qual está tentando se conectar.

Funcionalidades com suporte


Importação

Conectar aos dados do Google Sheets desde o


Power Query Desktop
Para se conectar ao Google Sheets desde o Power Query Desktop, siga as seguintes
etapas:

1. Na experiência Obter dados, pesquise e selecione o Google Sheets.


2. Você será solicitado a fornecer a URL do Google Sheets. Copie e cole a URL da
barra de endereços do navegador no prompt.

3. O conector do Google Sheets fornece a opção de conectar por meio de uma conta
organizacional (Google). Selecione Entrar para continuar.
4. Uma caixa de diálogo Entrar no Google aparecerá em uma janela externa do
navegador. Selecione sua conta do Google e aprove a conexão ao Power BI
Desktop.

5. Depois de entrar, selecione Conectar para continuar.


6. Depois de você se conectar com sucesso, aparece uma janela Navegador com os
dados disponíveis no servidor. Selecione os dados no navegador. Selecione
Transformar dados para transformar os dados no Power Query ou Carregar para
carregar os dados no Power BI Desktop.

Limitações e considerações
Esta seção descreve todas as limitações ou ponderações do conector do Google Sheets.

Suporte a drivers compartilhados


Esse conector suporta a conexão com drivers compartilhados.

Várias conexões
Esse conector usa um ResourcePath diferente para cada URL do Google Sheet. Você
precisará se autenticar em cada novo caminho de recurso e URL, mas não precisará
entrar no Google várias vezes se as sessões anteriores permanecerem ativas.

Noções básicas sobre a análise de URL


O conector verifica primeiro a assinatura da URL para garantir que ela começa com
https://docs.google.com/spreadsheets/d/ . Em seguida, o conector analisa a ID da

planilha do Google da URL a ser incluída na chamada à API do Google Sheets. O


restante da URL não é usado. Cada conexão do Google Sheet fica vinculada à URL
enviada, que atuará como o ResourcePath.
HDFS (Arquivo do Hadoop)
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)

Tipos de autenticação compatíveis Anônima


Windows
Conta Microsoft

Documentação de referência da função Hdfs.Contents


Hdfs.Files

Funcionalidades com suporte


Importação

Conectar-se a Hadoop Files (HDFS) a partir do


Power Query Desktop
O Power Query Desktop inclui o Excel e o Power BI como experiências.

Para fazer a conexão com o Hadoop File (HDFS), realize estas etapas:

1. Em Obter Dados, selecione a categoria Outro, selecione Hadoop File (HDFS) e, em


seguida, selecione Conectar. Mais informações: Locais para obter dados
2. Na janela exibida, insira o nome do servidor da instância do Hadoop File (HDFS).

3. Selecione OK.

4. Você pode selecionar acesso anônimo, acesso ao Windows ou conta da Microsoft,


selecionar o nível ao qual aplicar as configurações e conectar-se. Para obter mais
informações, confira: Autenticação com uma fonte de dados.
5. Selecione Carregar para carregar a tabela ou Transformar Dados para abrir o
editor do Power Query, onde você pode filtrar e refinar o conjunto de dados que
deseja usar e, em seguida, carregar esse conjunto refinado de dados.
LLAP do Hive
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Básico (Nome de usuário/Senha)


Windows

Documentação de referência da função —

Pré-requisitos
Um nome de usuário e senha do LLAP do Apache Hive.

Funcionalidades com suporte


Importação
Direct Query (conjuntos de dados do Power BI)
Protocolo e transporte do Thrift
HTTP
Standard

Conectar-se aos dados do LLAP do Hive desde


o Power Query Desktop
Para se conectar a um servidor LLAP do Apache Hive:

1. Selecione a opção LLAP do Hive em Obter dados.

2. Insira a URL no servidor do LLAP do Hive da Adobe. Também é possível inserir um


número de porta opcional. Normalmente, a URL se parece com
http://[hostname]:[port number] . Os componentes da URL são:
O hostname (por exemplo, hivellaphttp.southcentralus.contoso.com ) é o
nome do host ou o endereço IP do servidor Apache Hive.
O port number (por exemplo, 10500) é o número da porta do servidor
Apache Hive. Se o port number não for especificado, o valor padrão será
10501 para o protocolo de transporte HTTP e 10500 para o protocolo de
transporte padrão.

3. No Protocolo de transporte do Thrift, selecione Standard para o modo TCP ou


HTTP para o modo HTTP.

4. Selecione o modo de conectividade de dados Importar ou DirectQuery. Mais


informações: Usar o DirectQuery no Power BI Desktop

5. Selecione OK para continuar.

6. Na primeira vez que você se conectar a uma fonte de dados (identificada por cada
URL exclusiva), as credenciais da conta serão solicitadas. Selecione o tipo
apropriado de autenticação e insira suas credenciais para a conexão.

Windows: selecione esse tipo de autenticação se quiser se conectar usando a


autenticação do Windows.
Básico:selecione esse tipo de autenticação se quiser se conectar usando a
autenticação LLAP do Apache Hive. Insira seu nome de usuário e senha do
LLAP do Apache Hive.

Para mais informações, consulte: Autenticação com uma fonte de dados.


7. Selecione Conectar para se conectar aos dados do LLAP do Apache Hive.

8. No Navegador, selecione os dados necessários. Selecione Transformar dados para


transformar os dados no Editor do Power Query ou Carregar para carregar os
dados no Power BI Desktop.

Conectar aos dados do Hive LLAP do Power


Query Online
Para conectar-se ao servidor Apache Hive LLAP:

1. Selecione a opção Hive LLAP na página Power Query - Escolher fonte de dados.
2. Insira a URL no servidor do LLAP do Hive da Adobe. Também é possível inserir um
número de porta opcional. Normalmente, a URL se parece com
http://[hostname]:[port number] . Os componentes da URL são:

O hostname (por exemplo, hivellaphttp.southcentralus.contoso.com ) é o


nome do host ou o endereço IP do servidor Apache Hive.
O port number (por exemplo, 10500) é o número da porta do servidor
Apache Hive. Se o port number não for especificado, o valor padrão será
10501 para o protocolo de transporte HTTP e 10500 para o protocolo de
transporte padrão.

3. No Protocolo de transporte do Thrift, selecione Standard para o modo TCP ou


HTTP para o modo HTTP.

4. Se necessário, selecione o nome do gateway de dados local.

5. Se for a primeira vez que você está se conectando a estes dados do Hive LLAP,
selecione o tipo de credenciais para a conexão em Tipo de autenticação.

6. Insira suas credenciais.


7. Selecione Usar Conexão Criptografada se você quiser usar uma conexão
criptografada ou desmarque a opção se quiser usar uma conexão não
criptografada.

8. Selecione Avançar para continuar.

9. No Navegador, selecione os dados necessários e selecione Transformar dados


para transformar os dados no editor do Power Query.

Logon único (SSO) baseado em Kerberos para


o LLAP do Hive
Agora, o conector LLAP do Hive suporta SSO (logon único) baseado em Kerberos.

Para usar esse recurso:

1. Entre na sua conta do Power BI e navegue até a página Gerenciamento do


gateway.

2. Adicione uma nova fonte de dados no cluster de gateway que você deseja usar.

3. Selecione o conector na lista Tipo de Fonte de Dados.

4. Expanda a seção Configurações Avançadas.

5. Selecione a opção Usar SSO via Kerberos para consultas DirectQuery ou Usar
SSO via Kerberos para consultas DirectQuery e Import.
Para mais informações, consulte Configurar SSO baseado em Kerberos no serviço do
Power BI para fontes de dados locais

Solução de problemas

Erro SSL no Power BI Desktop


Pode ocorrer o seguinte erro de "SSL_connect" depois de inserir as informações de
autenticação do conector e selecionar Conectar.
Se este erro ocorrer:

1. No Power BI Desktop, selecione Arquivos>Opções e


configurações>Configurações da fonte de dados.

2. Nas Configurações da fonte de dados, selecione a fonte LLAP do Hive que você
criou e selecione Editar permissões.

3. Em Editar permissões, em Criptografia, desmarque a seleção Criptografar


conexões.
4. Selecione OK e, nas Configurações da fonte de dados, selecione Fechar.

5. Refaça as etapas de Conectar-se aos dados do LLAP do Hive desde o Power Query
Desktop.

Erro SSL no Serviço do Power BI


Depois de publicar um relatório no serviço do Power BI, você precisa atualizar as
credenciais para a fonte de dados do Hive na nuvem para atualizar no serviço do Power
BI. Depois de preencher as credenciais, você pode obter o erro:

Se você receber esse erro e vir a seguinte mensagem no rastreamento do Fiddler, esse é
um problema SSL.

ODBC: ERROR [HY000] [Microsoft][ThriftExtension] (14) Unexpected response


from server during a HTTP connection: Could not refill buffer

Por padrão, o SSL é desativado ao se conectar diretamente de powerbi.com. Para ativar,


você pode usar o gateway de dados local, onde é possível ativar a criptografia para se
conectar e atualizar relatórios do serviço do Power BI. Ativar HTTPS no gateway
Banco de dados IBM Db2
Artigo • 13/07/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (Dataflow Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365

Tipos de autenticação compatíveis Basic


Banco de dados
Windows

Documentação de referência da função DB2.Database

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Por padrão, o conector de banco de dados IBM Db2 usa o driver da Microsoft para se
conectar aos seus dados. Se você optar por usar o driver IBM nas opções avançadas no
Power Query Desktop, primeiro instale o driver IBM Db2 para .NET no computador
usado para se conectar aos dados. O nome desse driver é alterado de tempos em
tempos, portanto, instale o driver IBM Db2 que funciona com o .NET. Para obter
instruções sobre como baixar, instalar e configurar o driver IBM Db2 para .NET, acesse
Baixar drivers e clientes da versão 11.5 iniciais . Mais informações: Limitações do driver,
verifique se o driver IBM Db2 está instalado

Funcionalidades com suporte


Importação
DirectQuery (conjuntos de dados do Power BI)
Opções Avançadas
Driver (IBM ou Microsoft)
Tempo limite do comando em minutos
Coleção de pacotes
Instrução SQL
Adicionar colunas de relação
Navegar usando hierarquia completa

Conectar-se a um banco de dados IBM Db2 do


Power Query Desktop
Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção de banco de dados IBM Db2 em Obter Dados.

2. Especifique o IBM Db2 ao qual se conectar no Servidor. Se uma porta for


necessária, especifique-a usando o formato ServerName:Port, em que a porta é o
número da porta. Além disso, insira o banco de dados IBM Db2 que você deseja
acessar no Banco de Dados. Neste exemplo, o nome e a porta do servidor são
TestIBMDb2server.contoso.com:4000 e o banco de dados IBM Db2 que está sendo

acessado é NORTHWD2 .

3. Se você estiver se conectando de Power BI Desktop, selecione o modo de


conectividade de dados Importar ou DirectQuery. O restante dessas etapas de
exemplo usa o modo de conectividade de dados Importar. Para saber mais sobre o
DirectQuery, confira Usar o DirectQuery no Power BI Desktop.
7 Observação

Por padrão, a caixa de diálogo banco de dados IBM Db2 usa o driver da
Microsoft durante a entrada. Se você quiser usar o driver IBM, abra opções
avançadas e selecione IBM. Mais informações: Conectar usando opções
avançadas

Se você selecionar DirectQuery como seu modo de conectividade de dados, a


instrução SQL nas opções avançadas será desabilitada. No momento, o
DirectQuery não dá suporte a push de consulta em cima de uma consulta de
banco de dados nativo para o conector IBM Db2.

4. Selecione OK.

5. Se esta for a primeira vez que você está se conectando a esse banco de dados IBM
Db2, selecione o tipo de autenticação que deseja usar, insira suas credenciais e
selecione Conectar. Para obter mais informações sobre a autenticação, acesse
Autenticação com uma fonte de dados.

Por padrão, Power Query tenta se conectar ao banco de dados IBM Db2 usando
uma conexão criptografada. Se Power Query não puder se conectar usando uma
conexão criptografada, uma caixa de diálogo "não é possível se conectar" será
exibida. Para se conectar usando uma conexão não criptografada, selecione OK.
6. No Navegador, selecione os dados necessários e selecione Carregar para carregar
os dados ou Transformar dados para transformar os dados.

Conectar-se a um banco de dados IBM Db2 do


Power Query Online
Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção de banco de dados IBM Db2 no Power Query – Conectar-se à


página de fonte de dados.

2. Especifique o IBM Db2 ao qual se conectar no Servidor. Se uma porta for


necessária, especifique-a usando o formato ServerName:Port, em que a porta é o
número da porta. Além disso, insira o banco de dados IBM Db2 que você deseja
acessar no Banco de Dados. Neste exemplo, o nome e a porta do servidor são
TestIBMDb2server.contoso.com:4000 e o banco de dados IBM Db2 que está sendo

acessado é NORTHWD2
3. Selecione o nome do gateway de dados local.

7 Observação

Você deve selecionar um gateway de dados local para esse conector, seja o
banco de dados IBM Db2 em sua rede local ou online.

4. Se essa for a primeira vez que você esta se conectando a esse banco de dados IBM
Db2, selecione o tipo de credenciais para a conexão no Tipo de autenticação.
Escolha Básico se você planeja usar uma conta criada com a autenticação do IBM
Db2 em vez da autenticação do Windows.

5. Insira suas credenciais.

6. Selecione Usar Conexão Criptografada se você quiser usar uma conexão


criptografada ou desmarque a opção se quiser usar uma conexão não
criptografada.

7. Selecione Avançar para continuar.

8. No Navegador, selecione os dados necessários e selecione Transformar dados


para transformar os dados em Editor do Power Query.
Conectar usando opções avançadas
O Power Query tem um conjunto de opções avançadas que você pode adicionar à sua
consulta, se necessário.

A tabela a seguir lista todas as opções avançadas que você pode definir no Power
Query.

Opção Descrição
avançada

Driver Determina qual driver é usado para se conectar ao banco de dados IBM Db2. As
opções são IBM e Windows (padrão). Se você selecionar o driver IBM, primeiro
deverá garantir que o driver IBM Db2 para .NET esteja instalado em seu
computador. Esta opção está disponível somente no Power Query Desktop.
Mais informações: Verifique se o driver IBM Db2 está instalado
Opção Descrição
avançada

Tempo limite Se a sua conexão durar mais de 10 minutos (o tempo limite padrão), você
do comando poderá inserir outro valor em minutos para manter a conexão aberta por mais
em minutos tempo.

Coleção de Especifica onde procurar pacotes. Os pacotes são estruturas de controle usadas
pacotes pelo Db2 ao processar uma instrução SQL e serão criados automaticamente, se
necessário. Por padrão, essa opção usa o valor NULLID . Disponível somente ao
usar o driver da Microsoft. Mais informações: Pacotes DB2: conceitos, exemplos
e problemas comuns

Instrução SQL Para obter mais informações, acesse Importar dados de um banco de dados
usando a consulta natuva de banco de dados.

Adicionar Se marcada, inclui colunas que podem ter relações com outras tabelas. Se essa
colunas de caixa estiver desmarcada, você não verá essas colunas.
relação

Navegar Se marcada, o navegador exibirá a hierarquia completa de tabelas no banco de


usando dados ao qual você está se conectando. Se desmarcada, o navegador exibe
hierarquia apenas as tabelas cujas colunas e linhas contêm dados.
completa

Depois de selecionar as opções avançadas necessárias, selecione OK no Power Query


Desktop ou Avançar no Power Query Online para conectar ao banco de dados IBM Db2.

Limitações e problemas

Limitações do driver
O driver da Microsoft é o mesmo usado no Microsoft Host Integration Server, chamado
de "Provedor ADO.NET para DB2". O driver IBM é o driver IBM Db/2 que trabalha com o
.NET. O nome desse driver muda de vez em quando, portanto, certifique-se de que ele
funcione com o .NET, que é diferente dos drivers IBM Db2 que trabalham com OLE/DB,
ODBC ou JDBC.

Você pode optar por usar o driver da Microsoft (padrão) ou o driver IBM se estiver
usando Power Query Desktop. Atualmente, o Power Query Online usa apenas o driver
da Microsoft. Cada driver tem suas limitações.

Driver da Microsoft
Não dá suporte ao TLS (Transport Layer Security)
Driver IBM
O conector de banco de dados IBM Db2, ao usar o driver IBM Db2 para .NET,
não funciona com sistemas Mainframe ou IBM i
Não dá suporte ao DirectQuery

A Microsoft fornece suporte para o driver da Microsoft, mas não para o driver IBM. No
entanto, se o departamento de TI já tiver configurado e configurado em seus
computadores, seu departamento de TI deverá saber como solucionar problemas do
driver IBM.

Consultas nativas sem suporte no DirectQuery


Quando você seleciona o DirectQuery como o modo de conectividade de dados no
Power Query Desktop, a caixa de texto da instrução SQL nas opções avançadas é
desabilitada. Ele está desabilitado porque o conector Power Query IBM Db2 não dá
suporte ao envio por push de consulta em cima de uma consulta de banco de dados
nativa.

Solução de problemas

Verifique se o driver IBM Db2 está instalado


Se você optar por usar o driver IBM Db2 para Power Query Desktop, primeiro precisará
baixar, instalar e configurar o driver em seu computador. Para garantir que o driver IBM
Db2 tenha sido instalado:

1. Abra o Windows PowerShell em sua máquina.

2. Digite o seguinte comando:

[System.Data.Common.DbProviderFactories]::GetFactoryClasses() | ogv

3. Na caixa de diálogo que é aberta, você deve ver o seguinte nome na coluna
InvariantName :

IBM.Data.DB2

Se esse nome estiver na coluna InvariantName, o driver IBM Db2 foi instalado e
configurado corretamente.

Códigos de erro SQLCODE -805 e SQLCODE -551


Ao tentar se conectar a um banco de dados IBM Db2, às vezes você pode se deparar
com o erro comum SQLCODE -805, que indica que o pacote não foi encontrado na
coleção NULLID ou em outras coleções (especificado na configuração de conexão do
pacote Power Query). Você também pode encontrar o erro comum SQLCODE -551, que
indica que você não pode criar pacotes porque não tem autoridade de associação de
pacote.

Normalmente, SQLCODE -805 é seguido por SQLCODE -551, mas você verá apenas a
segunda exceção. Na realidade, o problema é o mesmo. Você não tem autoridade para
associar o pacote à NULLID ou à coleção especificada.

Normalmente, a maioria dos administradores do IBM Db2 não fornece autoridade de


pacote de associação aos usuários finais, especialmente em um ambiente IBM z/OS
(mainframe) ou IBM i (AS/400). O Db2 no Linux, Unix ou Windows é diferente porque as
contas de usuário têm privilégios de associação por padrão, que criam o pacote
MSCS001 (Estabilidade do Cursor) na própria coleção do usuário (nome = nome de
logon do usuário).

Se você não tiver privilégios de pacote associado, precisará solicitar ao administrador do


Db2 uma autoridade de associação de pacotes. Com essa autoridade de associação de
pacotes, conecte-se ao banco de dados e busque dados, que criarão automaticamente
o pacote. Posteriormente, o administrador pode revogar a autoridade de associação de
empacotamento. Além disso, posteriormente, o administrador pode "associar a cópia"
do pacote a outras coleções, para aumentar a simultaneidade, para corresponder
melhor aos padrões internos para onde os pacotes estão associados e assim por diante.

Ao se conectar ao IBM Db2 para z/OS, o administrador do Db2 pode executar as etapas
a seguir.

1. Conceda autoridade para associar um novo pacote ao usuário com um dos


seguintes comandos:

CONCEDER BINDADD NO SISTEMA PARA <authorization_name>


CONCEDER PACKADM EM <collection_name> PARA <authorization_name>

2. Usando o Power Query, conecte-se ao banco de dados IBM Db2 e recupere uma
lista de esquemas, tabelas e exibições. O conector de banco de dados Power Query
IBM Db2 criará automaticamente o pacote NULLID. MSCS001 e, em seguida,
concede a execução no pacote ao público.

3. Revogue a autoridade para associar um novo pacote ao usuário com um dos


seguintes comandos:

REVOGAR BINDADD EM <authorization_name>


REVOGAR PACKADM EM <collection_name> DE<authorization_name>

Ao se conectar ao IBM Db2 para Linux, Unix ou Windows, o administrador do Db2 pode
executar as etapas a seguir.

1. CONCEDER BINDADD NO BANCO DE DADOS AO <authorization_name DO


USUÁRIO>.

2. Usando o Power Query, conecte-se ao banco de dados IBM Db2 e recupere uma
lista de esquemas, tabelas e exibições. O conector Power Query IBM Db2 criará
automaticamente o pacote NULLID. MSCS001 e, em seguida, conceda a execução
no pacote ao público.

3. REVOGAR BINDADD NO BANCO DE DADOS DO <authorization_name> DE


USUÁRIO.

4. CONCEDER EXECUÇÃO DO PACOTE <collection.package> PARA O USUÁRIO


<authorization_name>.

Ao se conectar ao IBM Db2 para i, o administrador do Db2 pode executar as etapas a


seguir.

1. WRKOBJ QSYS/CRTSQLPKG. Digite "2" para alterar a autoridade do objeto.

2. Altere a autoridade de *EXCLUDE para PUBLIC ou <authorization_name>.

3. Posteriormente, altere a autoridade de volta para *EXCLUDE.

Código de erro SQLCODE -360


Ao tentar se conectar ao banco de dados IBM Db2, você pode encontrar o seguinte
erro:

Microsoft Db2 Client: The host resource could not be found. Check that the Initial

Catalog value matches the host resource name. SQLSTATE=HY000 SQLCODE=-360

Esta mensagem de erro indica que você não colocou o valor certo para o nome do
banco de dados.

Código de erro SQLCODE -1336


The specified host could not be found.

Verifique o nome duas vezes e confirme se o host é acessível. Por exemplo, use ping em
um prompt de comando para tentar alcançar o servidor e garantir que o endereço IP
esteja correto ou usar telnet para se comunicar com o servidor.

Código de erro SQLCODE -1037


Host is reachable, but is not responding on the specified port.

A porta é especificada no final do nome do servidor, separada por dois-pontos. Se ele


for omitido, a estimativa padrão de 50000 será usada.

Para localizar a porta que o Db2 está usando para Linux, Unix e Windows, execute este
comando:

db2 get dbm cfg | findstr SVCENAME

Procure na saída uma entrada para SVCENAME (e SSL_SVCENAME para conexões


criptografadas TLS). Se esse valor for um número, essa será a porta. Caso contrário, faça
referência cruzada ao valor com a tabela "serviços" do sistema. Normalmente, você
pode encontrar isso em /etc/services ou em c:\windows\system32\drivers\etc\services
para Windows.

A captura de tela a seguir mostra a saída desse comando no Linux/Unix.

A captura de tela a seguir mostra a saída desse comando no Windows.


Determinar o nome do banco de dados
Para determinar o nome do banco de dados a ser usado:

1. No IBM i, execute DSPRDBDIRE .

2. Uma das entradas terá um Local Remoto de *LOCAL. Essa entrada é a que deve
ser usada.
Determinar o número da porta
O driver da Microsoft se conecta ao banco de dados usando o protocolo DRDA
(Distributed Relational Database Architecture). A porta padrão para DRDA é a porta 446.
Experimente esse valor primeiro.

Para descobrir com certeza em qual porta o serviço DRDA está em execução:

1. Execute o comando IBM i WRKSRVTBLE .

2. Role para baixo até encontrar as entradas para DRDA.

3. Para confirmar se o serviço DRDA está ativado e escutando nessa porta, execute
NETSTAT .
4. Escolha a opção 3 (para IPv4) ou a opção 6 (para IPv6).

5. Pressione F14 para ver os números da porta em vez de nomes e role até ver a
porta em questão. Ele deve ter uma entrada com um estado "Ouvir".
Mais informações
HIS - Provedor Microsoft OLE DB para DB2
Banco de dados Impala
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Dynamics 365 Customer Insights

Tipos de autenticação compatíveis Anônima


Banco de dados
Windows

Documentação de referência da função —

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Funcionalidades com suporte


Importação
DirectQuery (conjuntos de dados do Power BI)
Opções avançadas
Duração do tempo limite de conexão
Duração do tempo limite de comando

Conectar-se a um banco de dados Impala por


meio do Power Query Desktop
Para se conectar a um banco de dados Impala, execute as seguintes etapas:

1. Selecione Obter Dados na faixa de opções Início no Power BI Desktop.


2. Selecione Banco de Dados nas categorias à esquerda, selecione Impala à direita e
selecione Conectar.

3. Na janela Impala que será exibida, digite ou cole o nome do servidor Impala na
caixa. Você pode Importar dados diretamente para o Power BI ou usar
DirectQuery. Saiba mais sobre como usar o DirectQuery. Depois, selecione OK.
4. Ao receber a solicitação, insira suas credenciais ou conecte-se anonimamente. O
conector do Impala é compatível com a autenticação Anônima, Banco de dados
(nome de usuário e senha) e do Windows.

Para obter mais informações sobre os métodos de autenticação, acesse


Autenticação com uma fonte de dados.

7 Observação

Se a conexão não estiver criptografada, você receberá a seguinte mensagem.


Selecione OK se você quiser usar uma conexão não criptografada.
5. Após a conexão, uma janela Navigator aparece e exibe os dados disponíveis no
servidor. Selecione Carregar para carregar os dados ou Transformar dados para
continuar transformando os dados no editor do Power Query.

Conectar-se a um banco de dados Impala por


meio do Power Query Online
Para se conectar a um banco de dados Impala, execute as seguintes etapas:

1. Selecione a opção Impala na seleção do conector.


2. Em Conectar à fonte de dados, forneça o nome do servidor e um número de
porta, se necessário.

3. Se necessário, selecione o nome do gateway de dados local.

4. Se essa for a primeira vez que você esta se conectando a esse banco de dados
Impala, selecione o tipo de credenciais para a conexão em Tipo de autenticação.

5. Insira suas credenciais.

6. Selecione Usar Conexão Criptografada se você quiser usar uma conexão


criptografada ou desmarque a opção se quiser usar uma conexão não
criptografada.

7. Selecione Avançar para continuar.

8. No Navegador, selecione os dados necessários e selecione Transformar dados


para transformar os dados no editor do Power Query.

Conectar usando opções avançadas


O Power Query tem um conjunto de opções avançadas que você pode adicionar à sua
consulta, se necessário. A tabela a seguir lista todas as opções avançadas que você pode
definir no Power Query.
Opção avançada Descrição

Duração do tempo Especifica o tempo máximo que o Power Query aguardará para a
limite de conexão conclusão de uma conexão. Você pode inserir outro valor para manter a
conexão aberta por mais tempo.

Duração do tempo Especifica o tempo máximo que um comando tem permissão para ser
limite de comando executado antes que Power Query abandone a chamada.

Considerações e limitações
Veja algumas considerações e limitações que você deve ter em mente com relação ao
conector Impala:

O conector Impala é compatível com o gateway de dados local por meio de


qualquer um dos três mecanismos de autenticação com suporte.
O conector Impala usa o driver Impala, que limita o tamanho dos tipos de cadeia
de caracteres a 32K por padrão.
JSON
Artigo • 13/07/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (Dataflow Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365
Analysis Services

Tipos de autenticação compatíveis Anônima


Básica (somente Web)
Conta organizacional
API Web (somente Web)
Windows

Documentação de referência da função Json.Document

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Funcionalidades com suporte


Importar

Carregar um arquivo JSON local do Power


Query Desktop
Para carregar um arquivo JSON local:

1. Selecione a opção JSON na seleção Obter Dados. Essa seleção inicia um


navegador de arquivos local em que você pode selecionar o arquivo JSON.
2. Escolha Abrir para abrir o arquivo.

Ao carregar o arquivo JSON o Editor do Power Query será automaticamente iniciado. O


Power Query usa a detecção automática de tabela para nivelar perfeitamente os dados
JSON em uma tabela. No editor, você pode continuar transformando os dados se
desejar ou simplesmente fechar e aplicar. Para mais informações: Detecção automática
de tabela de arquivos JSON

Carregar um arquivo JSON local do Power


Query Online
Para carregar um arquivo JSON local:
1. Na página Fontes de dados, selecione JSON.

2. Insira o caminho para o arquivo JSON local.

3. Selecione um gateway de dados local no Gateway de dados.

4. Se a autenticação for necessária, insira suas credenciais.

5. Selecione Avançar.

Ao carregar o arquivo JSON o Editor do Power Query será automaticamente iniciado. O


Power Query usa a detecção automática de tabela para nivelar perfeitamente os dados
JSON em uma tabela. No editor, você pode continuar a transformar os dados se desejar
ou apenas salvar e fechar para carregar os dados. Para mais informações: Detecção
automática de tabela de arquivos JSON
Carregar da Web
Para carregar um arquivo JSON da Web, selecione o Conector da Web, insira o endereço
Web do arquivo e siga os prompts de credenciais.

Detecção automática de tabela de arquivos


JSON
A importação de dados de arquivos JSON (ou APIs Web) pode ser um desafio para os
usuários finais. Veja o exemplo de um arquivo JSON com vários níveis de dados
aninhados.
Com a adição de recursos automáticos de detecção de tabela, o uso do conector JSON
no Power Query aplicará automaticamente as etapas de transformação para nivelar os
dados JSON em uma tabela. Anteriormente, os usuários tinham que nivelar registros e
listas manualmente.

Solução de problemas
Se você vir a mensagem a seguir, pode ser porque o arquivo é inválido; por exemplo,
não é realmente um arquivo JSON ou está malformado. Ou você pode estar tentando
carregar um arquivo de Linhas JSON.

Se você estiver tentando carregar um arquivo de Linhas JSON, o seguinte código da M


de exemplo converterá todas as entradas de Linhas JSON em uma única tabela nivelada
automaticamente:

Power Query M

let
// Read the file into a list of lines
Source = Table.FromColumns({Lines.FromBinary(File.Contents("C:\json-
lines-example.json"), null, null)}),
// Transform each line using Json.Document
#"Transformed Column" = Table.TransformColumns(Source, {"Column1",
Json.Document})
in
#"Transformed Column"

Em seguida, você precisará usar uma operação Expandir para combinar as linhas.
Banco de dados KQL (Visualização)
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Versão Prévia

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)

Tipos de autenticação compatíveis Conta organizacional

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Você deve ter permissões de leitura no banco de dados KQL.

Funcionalidades com suporte


Importação
DirectQuery (conjuntos de dados do Power BI)

Conectar-se a um banco de dados KQL a partir


do Power Query Desktop
Para se conectar a um banco de dados KQL a partir do Power Query Desktop:

1. Em Obter Dados, selecione Microsoft Fabric (visualização) ou procure KQL,


selecione Banco de Dados KQL e selecione Conectar. Mais informações: Locais
para obter dados
2. Em Banco de Dados KQL, preencha o cluster e quaisquer campos opcionais, como
Banco de dados.
Para obter o URI do cluster, navegue até o banco de dados KQL no serviço Fabric e
copie o URI do Query.

Depois, selecione OK.

3. Se esta for a primeira vez que você está se conectando a este site, selecione Entrar
e insira suas credenciais. Depois, selecione Conectar.
4. No Navegador, selecione as tabelas desejadas e carregue ou transforme os dados.

Conectar-se a um banco de dados KQL a partir


do Power Query Online
Para se conectar a um banco de dados KQL a partir do Power Query Online:

1. Em Escolher fonte de dados, procure KQL e selecione Banco de dados KQL. Mais
informações: Locais para obter dados

2. Em Conectar à fonte de dados, preencha o cluster e todos os campos opcionais,


como Banco de dados.
Para obter o URI do cluster, navegue até o banco de dados KQL no serviço Fabric e
copie o URI do Query.

3. Se necessário, insira um gateway de dados local se estiver usando dados locais. Por
exemplo, se você for combinar dados de fluxos de dados e um banco de dados
SQL Server local.

4. Entre com a conta corporativa.


5. Depois de entrar, selecione Avançar.

6. Em Escolher dados, selecione os dados necessários e, em seguida, selecione


Transformar Dados.

Conectar usando opções avançadas


Tanto o Power Query Desktop quanto o Power Query Online fornecem um conjunto de
opções avançadas que você pode adicionar à sua consulta, se necessário.

A tabela a seguir lista todas as opções avançadas que você pode definir no Power Query
Desktop e no Power Query Online.

Opção avançada Descrição

Limitar o número de O número máximo de registros a serem retornados no resultado.


registros de resultado de
consulta

Limitar o tamanho dos O tamanho máximo dos dados em bytes a serem retornados no
dados do resultado da resultado.
consulta em Bytes

Desabilitar o truncamento Desabilitar o truncamento de resultados usando a opção de


do conjunto de solicitação notruncation .
resultados

Instruções de definição Define as opções de consulta para a duração da consulta. As opções


adicionais de consulta controlam como uma consulta será executada e como
retornará resultados. Várias instruções de definição podem ser
separadas por ponto e vírgula.
Lakehouse (Beta)
Artigo • 18/12/2023

Resumo
ノ Expandir a tabela

Item Descrição

Estado da liberação Beta

Produtos Power BI (Conjuntos de dados)


Malha (fluxo de dados Gen2)

Tipos de autenticação Conta organizacional

Pré-requisitos
Você já precisa ter um lakehouse - Criar um lakehouse no Microsoft Fabric.

Funcionalidades com suporte


Importação

Conectar-se a um lakehouse no Power BI


Desktop
Para obter dados de um lakehouse no Power BI Desktop:

1. Selecione o conector Lakehouses na seleção de conector e selecione Conectar.


Mais informações: Locais para obter dados
2. No Hub de dados OneLake, selecione o lakehouse ao qual você deseja se
conectar. Opcionalmente, você pode usar os botões Todos, Meus dados ou
Endossado em sua organização para filtrar os lakehouses exibidos na caixa de
diálogo. Depois, selecione Conectar.


7 Observação

Você também pode selecionar Escolher ponto de extremidade SQL para


selecionar o ponto de extremidade SQL do lakehouse.

3. Selecione os dados com os quais você deseja criar elementos visuais no painel
Dados no Power BI Desktop.

Conectar-se a um lakehouse a partir do Power


Query Online
Para obter dados de um lakehouse no Power Query Online:

1. Na página Nova fonte, selecione Microsoft Fabric>Lakehouse. Mais informações:


Locais para obter dados

2. Em Conectar à fonte de dados, selecione Iniciar sessão para iniciar a sessão na


sua conta institucional.

3. Depois que você se conectar, selecione Avançar.

4. Em Escolher dados, selecione os itens de dados que você quer transformar e


depois selecione Criar.

LinkedIn Sales Navigator (Beta)
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Beta

Produtos Power BI (Conjuntos de dados)

Tipos de autenticação compatíveis Conta organizacional

Documentação de referência da função —

Pré-requisitos
Uma conta do LinkedIn Sales Navigator. Caso ainda não tenha uma conta, inscreva-se
para obter uma avaliação gratuita .

Funcionalidades com suporte


Importação

Conectar-se ao LinkedIn Sales Navigator


Para se conectar aos dados do LinkedIn Sales Navigator:

1. Selecione Obter Dados na faixa de opções Início no Power BI Desktop. Selecione


Serviços Online nas categorias à esquerda e role até ver LinkedIn Sales Navigator
(Beta).
Selecione Conectar para continuar.

2. Você será avisado de que está se conectando a um conector de terceiros que


ainda está em desenvolvimento.
3. Ao selecionar Continuar, você precisará especificar quais dados deseja.

4. Na janela LinkedIn Sales Navigator exibida, selecione quais dados você deseja
retornar, Todos os contatos ou Contatos selecionados no primeiro seletor
suspenso. Em seguida, especifique as datas de início e término para restringir os
dados recebidos a um período específico.

5. Depois de fornecer as informações, o Power BI Desktop se conecta aos dados


associados ao seu contrato do LinkedIn Sales Navigator. Use o mesmo endereço
de email que você usa para fazer login no LinkedIn Sales Navigator pelo site.
6. Quando você se conecta com êxito, é solicitado que selecione os dados
necessários do seu contrato do LinkedIn Sales Navigator na janela do Navegador.

Depois de selecionar os dados necessários, selecione Transformar Dados para


continuar transformando os dados no editor de Power Query ou selecione
Carregar para carregar os dados no Power BI Desktop. Uma vez no Power BI
Desktop, você pode criar os relatórios que quiser com seus dados do LinkedIn
Sales Navigator.

Obtendo ajuda
Se você tiver problemas ao se conectar aos seus dados, entre em contato com o suporte
do LinkedIn Sales Navigator .
MailChimp (descontinuado)
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da versão Preterido

Produtos -

Tipos de autenticação compatíveis -

Documentação de referência da função -

Reprovação
Esse conector foi descontinuado e em breve não será mais suporte. Recomendamos que
faça a transição das conexões existentes usando esse conector. Não use esse conector
para novas conexões.
Microsoft Azure Consumption Insights
(Beta) (preterido)
Artigo • 23/03/2023

Resumo
Item Descrição

Estado da liberação Preterido

Produtos —

Tipos de autenticação compatíveis Conta organizacional

Documentação de referência da função —

Reprovação

7 Observação

Esse conector foi preterido devido ao fim do suporte para o serviço Microsoft
Azure Consumption Insights. Recomendamos que os usuários faça a transição das
conexões existentes usando esse conector e não usem esse conector para novas
conexões.

Instruções de transição
Os usuários são instruídos a usar o conector certificado do Gerenciamento de Custos do
Microsoft Azure como uma substituição. Os nomes de tabela e de campo são
semelhantes e devem oferecer a mesma funcionalidade.

Linha do tempo
O serviço mMcrosoft Azure Consumption Insights deixará de funcionar em dezembro de
2021. Os usuários devem fazer a transição do conector do Microsoft Azure
Consumption Insights para o conector de Gerenciamento de Custos do Microsoft Azure
até dezembro de 2021.
Microsoft Exchange
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Analysis Services

Tipos de autenticação compatíveis Conta do Exchange


Conta Microsoft

Documentação de referência da função Exchange.Contents

Funcionalidades com suporte


Importação

Conectar-se ao Microsoft Exchange a partir do


Power Query Desktop
O Power Query Desktop inclui o Excel, o Power BI (Conjuntos de Dados) e o Analysis
Services como experiências.

Para estabelecer a conexão ao Microsoft Exchange, siga estas etapas:

1. Em Obter Dados, selecione a categoria Outro, selecione Microsoft Exchange e, em


seguida, selecione Conectar. Mais informações: Locais para obter dados
2. Na janela Microsoft Exchange exibida, digite o endereço da caixa de correio da
conta que você deseja acessar.

3. Selecione OK.

4. Decida entre fazer login na conta do Exchange e fornecer suas credenciais ou


conta da Microsoft e entrar.
Você também pode usar um Nome Principal do Usuário (UPN). Parece semelhante
a um endereço de email. O formato típico é user@domain_name.

5. No Navegador, selecione os dados a serem importados e usados em seu


aplicativo. Em seguida, selecione Carregar para carregar a tabela ou Transformar
Dados para abrir o editor do Power Query, onde você pode filtrar e refinar o
conjunto de dados que deseja usar e, em seguida, carregar esse conjunto refinado
de dados.
Microsoft Exchange Online
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365
Analysis Services

Tipos de autenticação compatíveis Conta do Exchange


Conta Microsoft

Documentação de referência da função Exchange.Contents

Funcionalidades com suporte


Importação

Conectar-se ao Microsoft Exchange Online a


partir do Power Query Desktop
O Power Query Desktop inclui o Excel, o Power BI (Conjuntos de Dados) e o Analysis
Services como experiências.

Para estabelecer a conexão ao Microsoft Exchange Online, siga estas etapas:

1. Em Obter Dados, selecione a categoria Serviços Online, selecione Microsoft


Exchange Online e selecione Conectar. Mais informações: Locais para obter dados
2. Na janela Microsoft Exchange Online exibida, digite o endereço da caixa de
correio da conta que você deseja acessar.

3. Selecione OK.

4. Decida entre fazer login na conta do Exchange e fornecer suas credenciais ou


conta da Microsoft e entrar.
Você também pode usar um Nome Principal do Usuário (UPN). Parece semelhante
a um endereço de email. O formato típico é user@domain_name.

5. No Navegador, selecione os dados a serem importados e usados em seu


aplicativo. Em seguida, selecione Carregar para carregar a tabela ou Transformar
Dados para abrir o editor do Power Query, onde você pode filtrar e refinar o
conjunto de dados que deseja usar e, em seguida, carregar esse conjunto refinado
de dados.
Conectar-se ao Microsoft Exchange Online a
partir do Power Query Online
O Power Query Online inclui o Power BI (fluxos de dados) e o Customer Insights (fluxos
de dados) como experiências.

Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção Microsoft Exchange Online na seleção do conector. Mais


informações: Locais para obter dados

2. Insira o endereço da caixa de correio da conta que você deseja acessar e quaisquer
outros detalhes de conexão, se necessário. Selecione Avançar.
3. Selecione as tabelas a serem importadas e, em seguida, selecione Transformar
Dados.

4. Se desejar, você pode filtrar e refinar o conjunto de dados nesta janela antes de
carregar. Quando terminar, selecione Salvar e Fechar&.
Segurança do Microsoft Graph
(preterido)
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da versão Preterido

Produtos —

Tipos de autenticação compatíveis —

Documentação de referência da função —

Reprovação

7 Observação

Esse conector foi descontinuado. Recomendamos que os usuários explorem


soluções alternativas para recuperar dados analíticos com base no Graph, como
Conexão de Dados do Microsoft Graph. Mais informações: Falta de suporte para o
Microsoft Graph no Power Query
MicroStrategy for Power BI
Artigo • 05/10/2023

7 Observação

O artigo do conector a seguir é fornecido pelo MicroStrategy, o proprietário deste


conector e membro do Programa de Certificação do Conector do Microsoft Power
Query. Se você tiver dúvidas sobre o conteúdo deste artigo ou precisar modificá-lo,
visite o site da MicroStrategy e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Basic


OAuth 2.0

Pré-requisitos
Sua organização deve ter um ambiente de MicroStrategy configurado. A conta de
usuário no ambiente MicroStrategy deve ter acesso ao conector do Power BI.

Funcionalidades com suporte


Importação
Atualização de dados

Conectar-se à MicroStrategy usando Power BI


Desktop
Para se conectar à MicroStrategy usando Power BI Desktop:

1. No Power BI Desktop, selecione Página Inicial>Obter dados.


2. Nas categorias à esquerda, selecione Outra>MicroStrategy para Power BI. Depois,
selecione Conectar.

3. Se essa for a primeira vez que você estiver se conectando ao conector


MicroStrategy para Power BI, um aviso de terceiros será exibido. Selecione Não me
avisar novamente sobre este conector e selecione Continuar.

4. Insira uma URL da Biblioteca de MicroStrategy, por exemplo,


https://.../MicroStrategyLibrary .

7 Observação

Se você quiser utilizar a autenticação OIDC, deverá adicionar uma cadeia de


caracteres #OIDCMode ao final da URL.

A autenticação OIDC está disponível a partir da versão 2.4.5 do conector.


5. Selecione o modo de autenticação (opcional). Essa opção afeta apenas a
autenticação básica.

6. Preencha as opções avançadas, conforme necessário (opcional).

7. Selecione OK.

8. Selecione o modo de autenticação.

a. Standard/LDAP

i. Forneça usuário e senha.

ii. Selecione Conectar.

b. Biblioteca/OIDC

) Importante

Para utilizar a autenticação OIDC, você deve adicionar a URL


https://oauth.powerbi.com/views/oauthredirect.html à lista de URLs de

resposta em suas configurações de IdP.

i. Selecione Entrar. Um pop-up é exibido com o site de entrada externo


(MicroStrategyLibrary ou OIDC).

ii. Siga as etapas necessárias para autenticar com o método escolhido.

iii. Depois que o pop-up for fechado, selecione Conectar.

9. Escolha o relatório ou o cubo que você deseja importar para o Power BI


navegando pela Tabela de Navegação.
Atualizar dados do MicroStrategy usando o
Power BI Online

7 Observação

A funcionalidade de atualização agendada não está disponível para autenticação


de biblioteca.

Para atualizar dados do MicroStrategy usando o Power BI Online:

1. Publique o conjunto de dados importado com Power BI Desktop usando o


conector MicroStrategy para Power BI.

2. Abra a página Configurações do conjunto de dados publicado.

3. Se essa for a primeira vez que você estiver se conectando a esse banco de dados,
selecione o tipo de autenticação e insira suas credenciais.

4. Se necessário, selecione o nome do gateway de dados local.

Agora, siga as etapas necessárias para configurar a atualização/atualização agendada no


Power BI Online.
Interface SQL do MongoDB Atlas
Artigo • 05/10/2023

7 Observação

O artigo a seguir sobre o conector é fornecido pelo MongoDB, proprietária desse


conector e membro do Programa de certificação de conector do Microsoft Power
Query. Se tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações
neste artigo, visite o site do MongoDB e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Beta

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Banco de dados (nome de usuário/senha)

Pré-requisitos
Para usar o conector SQL do MongoDB Atlas, você deve ter uma configuração de banco
de dados federado do Atlas .

Obtendo informações de conexão da instância de banco


de dados federada
1. Navegue até a instância do banco de dados federada. No Atlas, selecione
Federação de Dados no painel de navegação esquerdo.
2. Selecione Conectar para abrir o modal de conexão da instância do banco de
dados federada.
3. Selecione Conectar usando a interface SQL do Atlas.
4. Selecione Power BI Connector.
5. Copie o nome do banco de dados federado e o URI do MongoDB. Você precisará
deles mais tarde.
7 Observação

Se alguns ou todos os dados vierem de um cluster do Atlas, você deverá usar o


MongoDB versão 5.0 ou superior para que esse cluster aproveite o Atlas SQL.

Também recomendamos que você instale o Driver ODBC do MongoDB Atlas SQL antes
de usar o conector do MongoDB Atlas SQL.

Funcionalidades com suporte


Importação

Conectar-se ao banco de dados federado do


MongoDB Atlas usando a interface SQL do
Atlas a partir do Power Query Desktop
Para conectar-se usando a interface SQL do Atlas:

1. Selecione Obter Dados na faixa de opções Início no Power BI Desktop.

2. Selecione Banco de dados nas categorias à esquerda, selecione MongoDB Atlas


SQL e selecione Conectar.
3. Se você estiver se conectando ao conector do MongoDB Atlas SQL pela primeira
vez, um aviso de terceiros será exibido. Selecione "Não mostrar alerta novamente
para esse conector" se você não quiser que essa mensagem seja exibida
novamente.

Selecione Continuar.

4. Na janela do MongoDB Atlas SQL exibida, preencha os seguintes valores:

O URI do MongoDB. Obrigatório. Use o URI do MongoDB obtido nos pré-


requisitos. Certifique-se de que não contenha seu nome de usuário e senha.
URIs com nome de usuário e/ou senhas são rejeitados.
O nome do Banco de dados federado. Necessário
Use o nome do banco de dados federado obtido nos pré-requisitos.

Selecione OK.
5. Insira seu nome de usuário e senha de acesso ao banco de dados Atlas MongoDB
e selecione Conectar.

7 Observação

Depois de inserir seu nome de usuário e senha para um banco de dados


federado Atlas específico, o Power BI Desktop usará essas mesmas credenciais
em tentativas de conexão subsequentes. Você pode modificar essas
credenciais acessando Arquivo>Opções e configurações>Configurações de
fonte de dados.

6. Em Navegador, selecione um ou vários elementos para importação e uso no


Power BI Desktop. Em seguida, selecione Carregar para carregar a tabela no Power
BI Desktop ou Transformar dados para abrir o Editor do Power Query em que você
pode filtrar e refinar o conjunto de dados que deseja usar e, em seguida, carregar
esse conjunto refinado de dados em Power BI Desktop.

Conectar-se ao banco de dados federado do


MongoDB Atlas usando a interface SQL do
Atlas a partir do Power Query Online
Para conectar-se usando a interface SQL do Atlas:

1. Selecione MongoDB Atlas SQL na página Power Query - Escolher fonte de dados.

2. Na página Configurações de conexão, preencha os seguintes valores:

O URI do MongoDB. Obrigatório. Use o URI do MongoDB obtido nos pré-


requisitos. Certifique-se de que não contenha seu nome de usuário e senha.
URIs com nome de usuário e/ou senhas são rejeitados.
O nome do Banco de dados federado. Necessário
Use o nome do banco de dados federado obtido nos pré-requisitos.
Insira um Nome de conexão.
Escolha um Gateway de dados.
Insira seu nome de usuário e senha de acesso ao banco de dados Atlas
MongoDB e selecione Avançar.

3. Na tela Navegador, selecione os dados necessários e selecione Transformar


dados. Essa seleção abre o Editor do Power Query para que você possa filtrar e
refinar o conjunto de dados que deseja usar.
Solução de problemas
Quando a conexão não pode ser estabelecida, a mensagem de erro genérica The driver
returned invalid (or failed to return) SQL_DRIVER_ODBC_VER: 03.80 é exibida. Comece

verificando suas credenciais e se você não tem problemas de rede ao acessar seu banco
de dados federado.

Próximas etapas
As informações a seguir poderão ser úteis:

Consulta com Atlas SQL


Configurar e consultar a federação de dados
Gerenciamento do esquema
Referência do SQL
Banco de dados MySQL
Artigo • 07/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365
Analysis Services

Tipos de autenticação compatíveis Windows (Power BI Desktop, Excel, serviço online com
gateway)
Banco de dados (Power BI Desktop, Excel)
Básico (serviço online com gateway)

Documentação de referência da MySQL.Database


função

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Você precisa instalar o pacote Oracle MySQL Connector/NET antes de usar esse
conector no Power BI Desktop. Esse componente também deve ser instalado no
computador que executa o gateway de dados local para usar esse conector no Power
Query Online (fluxos de dados) ou no serviço do Power BI. O conector MySQL requer
que o pacote MySQL Connector/NET esteja instalado corretamente. Para determinar se
o pacote foi instalado corretamente, abra uma janela do PowerShell e execute o
seguinte comando:

[System.Data.Common.DbProviderFactories]::GetFactoryClasses()|ogv
Se o pacote estiver instalado corretamente, o MySQL Data Provider será exibido na caixa
de diálogo resultante. Por exemplo:

Se o pacote não for instalado corretamente, trabalhe com sua equipe de suporte do
MySQL ou entre em contato com o MySQL.

Funcionalidades com suporte


Importação
Opções avançadas
Tempo limite do comando em minutos
Instrução de SQL nativa
Colunas do relacionamento
Navegar usando hierarquia completa

Conectar-se ao banco de dados MySQL do


Power Query Desktop
Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção Banco de dados MySQL na seleção do conector. Mais


informações: Locais para obter dados

2. Na caixa de diálogo banco de dados MySQL, forneça o nome do servidor e do


banco de dados.
3. Selecione o tipo de autenticação Banco de Dados e insira suas credenciais do
MySQL nas caixas Nome de Usuário e Senha.

4. Selecione o nível ao qual aplicar suas credenciais.

5. Quando terminar, selecione OK.

7 Observação

Se a conexão não estiver criptografada, o seguinte prompt será exibido.


Selecione OK para se conectar ao banco de dados usando uma conexão não
criptografada ou siga estas instruções para configurar conexões criptografadas
para SQL Server.

6. No Navegador, selecione o dado desejado e carregue ou transforme os dados.

Conectar-se ao banco de dados MySQL do


Power Query Online
Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção Banco de dados MySQL na seleção do conector. Mais


informações: Locais para obter dados

2. Na caixa de diálogo banco de dados MySQL, forneça o nome do servidor e do


banco de dados.
3. Se necessário, inclua o nome do gateway de dados local.

4. Selecione o tipo de autenticação Básica e insira suas credenciais do MySQL nas


caixas Nome de Usuário e Senha.

5. Se sua conexão não estiver criptografada, desmarque Usar Conexão


Criptografada.

6. Selecione Avançar para se conectar ao banco de dados.

7. No Navegador, selecione os dados necessários e selecione Transformar dados


para transformar os dados em Editor do Power Query.

Conectar usando opções avançadas


O Power Query tem um conjunto de opções avançadas que você pode adicionar à sua
consulta, se necessário.

A tabela a seguir lista todas as opções avançadas que você pode definir no Power Query
Desktop.

Opção avançada Descrição

Tempo limite do Se a sua conexão durar mais de 10 minutos (o tempo limite padrão), você
comando em poderá inserir outro valor em minutos para manter a conexão aberta por
minutos mais tempo.
Opção avançada Descrição

Instrução SQL Para obter mais informações, acesse Importar dados de um banco de dados
usando a consulta natuva de banco de dados.

Adicionar colunas Se marcada, inclui colunas que podem ter relações com outras tabelas. Se
de relação essa caixa estiver desmarcada, essas colunas não serão incluídas.

Navegar usando Se marcada, o navegador exibirá a hierarquia completa de tabelas no banco


hierarquia de dados ao qual você está se conectando. Se desmarcada, o navegador
completa exibe apenas as tabelas cujas colunas e linhas contêm dados.

Depois de selecionar as opções avançadas necessárias, selecione OK no Power Query


Desktop ou Avançar no Power Query Online para se conectar ao banco de dados
MySQL.
Feed OData
Artigo • 14/07/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (Dataflow Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365
Analysis Services

Tipos de autenticação compatíveis Anônima


Windows
Básico (requer Gateway)
API Web
Conta organizacional

Documentação de referência da função OData.Feed, ODataOmitValues.Nulls

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Funcionalidades com suporte


Basic
Avançado
Partes da URL
Abrir colunas de tipo
Selecionar tabelas relacionadas

7 Observação
Não há suporte para o Microsoft Graph. Mais informações: Falta de suporte para o
Microsoft Graph no Power Query

Carregar dados de um Feed OData no Power


Query Desktop
Para carregar dados de um Feed do OData no Power Query Desktop:

1. Selecione a opção OData ou OData Feed na seleção do conector.

2. Escolha o botão Básico e insira um endereço de URL na caixa de texto. Essa URL
deve ser a raiz do serviço OData ao qual você deseja se conectar. Por exemplo,
insira http://services.odata.org/V4/northwind/northwind.svc/ . Depois, selecione
OK.

Se o endereço da URL inserido for inválido, um ícone de aviso aparecerá ao


lado da caixa de texto URL.

3. Se esta for a primeira vez que você está se conectando usando o Feed OData,
selecione o tipo de autenticação, insira suas credenciais (se necessário) e selecione
o nível ao qual aplicar as configurações de autenticação. Depois, selecione
Conectar.
4. No diálogo do Navegador, é possível selecionar uma tabela e transformar os
dados no editor do Power Query ao selecionar Transformar Dados ou carregar os
dados ao selecionar Carregar.

Se você tiver várias tabelas que têm uma relação direta com uma ou mais das
tabelas já selecionadas, poderá selecionar o botão Selecionar Tabelas
Relacionadas. Quando você fizer isso, todas as tabelas que têm uma relação direta
com uma ou mais das tabelas já selecionadas também serão importadas.

Carregar dados de um Feed OData no Power


Query Online
Para carregar dados de um Feed do OData no Power Query Online:

1. Selecione a opção OData ou OData Feed na seleção do conector.

2. Na caixa de diálogo OData exibida, insira uma URL na caixa de texto.


3. Se essa for a primeira vez que você estiver se conectando usando o Feed do
OData, selecione o tipo de autenticação e insira suas credenciais (se necessário).
Em seguida, selecione Avançar.

4. No diálogo do Navegador, é possível selecionar uma tabela e transformar os


dados no editor do Power Query ao selecionar Transformar dados.

Se você tiver várias tabelas que têm uma relação direta com uma ou mais das
tabelas já selecionadas, poderá selecionar o botão Selecionar Tabelas
Relacionadas. Quando você fizer isso, todas as tabelas que têm uma relação direta
com uma ou mais das tabelas já selecionadas também serão importadas.

Conectar-se ao Microsoft Graph


A conexão com o Microsoft Graph (às APIs REST) do Power Query não é recomendada
ou não é compatível. Mais informações: Falta de suporte para o Microsoft Graph no
Power Query

Problemas e limitações conhecidos

Junções
Devido à arquitetura do OData e de outros conectores da Web, as junções podem não
ter desempenho. Embora você tenha a opção de usar colunas de navegação ao mesclar
entre tabelas de uma origem OData, você não tem essa opção ao mesclar com fontes
não Odata.

Se você estiver vendo problemas de desempenho ao mesclar uma fonte OData, aplique
Table.Buffer à consulta OData no editor avançado antes de mesclar os dados.

Problemas de conexão de teste


Nos casos em que você está passando uma URL para o conector OData que não é
apenas a raiz do serviço (por exemplo, se você tiver um filtro na URL), ao configurar a
atualização no serviço, você deverá selecionar Ignorar Conexão de Teste.

Quando você insere OData.Feed credenciais para um serviço OData em serviço do Power
BI (por exemplo, depois de publicar um PBIX que usa ), serviço do Power BI testará as
credenciais, mas ignorará todas as opções de consulta especificadas na consulta M.
Essas opções de consulta podem ter sido especificadas diretamente na fórmula (por
exemplo, usando a barra de fórmulas ou o editor avançado) ou podem ter sido
adicionadas pelo editor de Power Query por padrão. Você pode encontrar a lista
completa dessas opções de consulta no OData.Feed.

Autenticação em serviços arbitrários


Alguns serviços dão suporte à capacidade do conector OData de autenticar com a
autenticação OAuth/AAD pronta para uso. No entanto, isso não funcionará na maioria
dos casos.

Ao tentar autenticar, se ocorrer o seguinte erro:

We were unable to connect because this credential type isn’t supported for this

resource. Please choose another credential type.


Contate o proprietário do serviço. Eles precisarão alterar a configuração de autenticação
ou criar um conector personalizado.

Tamanho máximo da URL


Se você estiver usando o conector de feed OData para se conectar a uma lista do
SharePoint, à lista online do SharePoint ou Project Online, o comprimento máximo da
URL para essas conexões será de aproximadamente 2.100 caracteres. Exceder o limite de
caracteres resulta em um erro 401. Esse comprimento máximo de URL é criado no front-
end do SharePoint e não pode ser alterado.

Para contornar essa limitação, comece com o ponto de extremidade raiz do OData e
navegue e filtre dentro de Power Query. Power Query filtra essa URL localmente quando
a URL é muito longa para o SharePoint manipular. Por exemplo, comece com:

OData.Feed("https://contoso.sharepoint.com/teams/sales/_api/ProjectData")

em vez de

OData.Feed("https://contoso.sharepoint.com/teams/sales/_api/ProjectData/Projects?

select=_x0031_MetricName...etc...")
Conectar-se com dados usando
consultas do Power BI e OData
Artigo • 30/05/2023

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

O uso de consultas OData é a abordagem recomendada para efetuar pull de dados para
o Power BI. OData (Open Data Protocol) é um padrão ISO/IEC aprovado e OASIS que
define as práticas recomendadas para criar e consumir APIs REST. Para saber mais,
confira a documentação do OData.

Para começar rapidamente, marcar a Visão geral dos relatórios de exemplo que usam
consultas OData. Para obter informações sobre outras abordagens, consulte Visão geral
da integração do Power BI.

O Power BI pode executar consultas OData, que podem retornar um conjunto de dados
filtrado ou agregado para o Power BI. As consultas OData têm duas vantagens:

Toda a filtragem é feita no lado do servidor. Somente os dados necessários são


retornados, o que leva a tempos de atualização mais curtos.
Você pode pré-agregar dados do lado do servidor. Uma consulta OData pode
realizar agregações como taxas de falha de build e rollup de item de trabalho. As
agregações são realizadas no lado do servidor e apenas os valores agregados são
retornados ao Power BI. Com a pré-agregação, você pode realizar agregações em
grandes conjuntos de dados, sem a necessidade de efetuar pull de todos os dados
detalhados no Power BI.

Neste artigo, você aprenderá como:

" Escrever e testar consultas OData.


" Execute uma consulta OData do Power BI.

Pré-requisitos
Para exibir dados do Analytics e consultar o serviço, você precisa ser membro de
um projeto com acesso Básico ou superior. Por padrão, todos os membros do
projeto recebem permissões para consultar Análise e definir exibições do
Analytics.
Para saber mais sobre outros pré-requisitos relacionados à habilitação de serviço e
recursos e atividades gerais de acompanhamento de dados, consulte Permissões e
pré-requisitos para acessar o Analytics.
Usar Visual Studio Code para gravar e testar
consultas OData
A maneira mais fácil de escrever e testar o OData é usar Visual Studio Code com a
extensão OData . Visual Studio Code é um editor de código gratuito disponível no
Windows, Mac e Linux. A extensão OData fornece realce de sintaxe e outras funções
úteis para escrever e testar consultas.

Instalar o Visual Studio Code


Para baixar e instalar Visual Studio Code, acesse a página de download do Visual Studio
Code .

Instalar a extensão OData


Abra Visual Studio Code, selecione Extensões e pesquise odata. Na lista de resultados,
selecione vscode-odata e instale-o.

Criar um arquivo OData


Em Visual Studio Code, crie e salve um arquivo chamado filename.odata . Você pode
nomeá-lo como desejar, mas ele deve ter uma .odata extensão para habilitar a
funcionalidade de extensão OData.

Gravar a consulta OData


Escreva a consulta OData. Por exemplo, consulte a Visão geral de relatórios de exemplo
usando consultas OData.

A consulta a seguir retorna os 10 principais itens de trabalho em um caminho de área


específico. Substitua {organization}, {project}e {area path} pelos seus valores.

https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-
preview/WorkItems?
$select=WorkItemId,Title,WorkItemType,State,CreatedDate
&$filter=startswith(Area/AreaPath,'{area path}')
&$orderby=CreatedDate desc
&$top=10
Para consultar entre projetos, omita /{project} inteiramente.

Para obter mais informações sobre como escrever consultas OData no Analytics,
consulte Referência rápida de consulta OData.

Depois de escrever a consulta em Visual Studio Code, você deverá ver o realce da
sintaxe:

Testar a consulta OData


Para testar a consulta OData, coloque o cursor em qualquer lugar no texto da consulta e
selecione Exibir>Paleta de Comandos. Na caixa de pesquisa, digite odata para exibir
todos os comandos OData:

Selecione OData: Abrir. Essa ação combina a consulta de várias linhas em uma URL de
uma linha e a abre no navegador padrão.

O conjunto de resultados da consulta OData está no formato JSON. Para exibir os


resultados, instale a extensão formatador JSON para o navegador. Várias opções estão
disponíveis para o Chrome e o Microsoft Edge.
Se a consulta tiver um erro, o serviço de Análise retornará um erro no formato JSON. Por
exemplo, esse erro indica que a consulta selecionou um campo que não existe:

Depois de verificar se a consulta funciona corretamente, você pode executá-la no Power


BI.

Executar a consulta OData do Power BI

Combinar a consulta OData de várias linhas em uma


consulta de linha única
Antes de usar a consulta no Power BI, você deve converter a consulta OData multilinha
em uma consulta de linha única. A maneira mais simples de fazer isso é usar Visual
Studio Code com a extensão OData e usar o comando OData: Combine.

7 Observação

No arquivo filename.odata , convém primeiro criar uma cópia do texto de consulta


de várias linhas e, em seguida, executar OData: Combinar na cópia. Faça isso
porque não há como converter a consulta de linha única de volta em uma consulta
legível de várias linhas.

Em Visual Studio Code, coloque sua consulta em qualquer lugar no texto da consulta e
selecione Exibir>Paleta de Comandos. Na caixa de pesquisa, digite odata e, na lista de
resultados, selecione OData: Combinar.

A consulta de várias linhas é convertida em uma consulta de linha única.


Copie a linha inteira para uso na próxima seção.

Executar a consulta no Power BI


Abra o Power BI, selecione Obter Dados e, em seguida, selecione o conector de feed
OData . Para obter mais informações, consulte Criar um relatório do Power BI com uma
consulta OData.

Na janela feed OData , na caixa URL , cole a consulta OData copiada na seção anterior e
selecione OK.

O Power BI exibe uma página de visualização:


Especificar opções de consulta
Na página de visualização, selecione Editar para abrir o Editor do Power Query.

Na faixa de opções, selecione Editor Avançado.


No painel Consulta , role horizontalmente para exibir o [Implementation="2.0"]
parâmetro.

Substitua [Implementation="2.0"] pela seguinte cadeia de caracteres:

[Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]

7 Observação

As seguintes ações ajudam a realizar essa medida preventiva:


Evitar erros de limitação. Power Query tenta resolve valores nulos como erros
gerando uma consulta adicional para cada valor nulo encontrado. Isso pode
resultar em milhares de consultas, que excederão rapidamente o limite de uso,
além do qual sua conta de usuário será limitada.

Para evitar esse problema:

Instrua o Power BI a fazer referência ao OData v4.


Instrua o serviço de Análise a omitir quaisquer valores que sejam nulos, o que
melhora o desempenho da consulta.

7 Observação

A ação a seguir é necessária para que o Power BI execute com êxito uma consulta
OData no Serviço de Análise do Azure DevOps.

Selecione OK para fechar a Editor Avançado e retornar ao Editor do Power Query


do Power BI. Você pode usar Editor do Power Query para executar estas ações
opcionais:

Renomeie a consulta "Query1" como algo mais específico.


Transformar colunas em um tipo específico. O Power BI detecta
automaticamente o tipo, mas talvez você queira converter a coluna em um
tipo de dados específico.
Adicionar colunas computadas.
Remover colunas.
Expanda colunas em campos específicos.

Criar um relatório usando os dados


Selecione Fechar & Aplicar para salvar suas configurações e efetuar pull dos dados no
Power BI. Depois que os dados forem atualizados, você poderá criar um relatório como
faria normalmente no Power BI.
Artigos relacionados
Exemplo de relatórios do Power BI usando consultas OData
Dados disponíveis no Analytics
Conceder permissões para acessar o Analytics
Visão geral da integração do Power BI
ODBCODBC
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365
Analysis Services

Tipos de autenticação compatíveis Banco de dados (nome de usuário/senha)


Windows
Padrão ou Personalizada

Documentação de referência da função Odbc.DataSource


Odbc.Query

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Antes de começar, verifique se você configurou corretamente a conexão no
Administrador de Fonte de Dados ODBC do Windows. O processo exato aqui depende
do driver.

Funcionalidades com suporte


Importação
Opções avançadas
Cadeia de conexão (propriedades não relacionadas à credencial)
SQL statement
Cláusulas de redução de linha com suporte

Conectar-se a uma fonte de dados ODBC do


Power Query Desktop
Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção ODBC na seleção Obter Dados.

2. Em Do ODBC, selecione o nome da fonte de dados (DSN) na caixa suspensa DSN


(nome da fonte de dados). Neste exemplo, um nome DSN do Banco de Dados do
SQL Server é usado.

Você também pode escolher Opções avançadas para inserir outras informações de
conexão opcionais. Mais informações: Conectar usando opções avançadas

3. Quando terminar, selecione OK.

4. Se você estiver se conectando a esse banco de dados pela primeira vez, selecione
o tipo de autenticação e insira suas credenciais quando solicitado.
Os tipos de autenticação disponíveis são:

Padrão ou Personalizada: selecione esse tipo de autenticação quando você


não especificar nenhuma credencial, caso esteja usando o DSN configurado
com um nome de usuário e uma senha. Ou, se você precisar incluir
credenciais como propriedades de cadeia de conexão.
Windows: selecione esse tipo de autenticação se quiser se conectar usando a
autenticação do Windows. Opcionalmente, inclua as propriedades de cadeia
de conexão necessárias.
Banco de dados: selecione esse tipo de autenticação para usar um nome de
usuário e uma senha para acessar uma fonte de dados com um driver ODBC.
Opcionalmente, inclua as propriedades de cadeia de conexão necessárias.
Essa é a seleção padrão.

Mais informações: Autenticação com uma fonte de dados

5. Ao terminar, selecione Conectar.

6. No Navegador, selecione as informações desejadas do banco de dados e clique


em Carregar para carregar os dados ou Transformar Dados para continuar
transformando os dados no Editor do Power Query.

Conectar-se a uma fonte de dados ODBC por


meio do Power Query Online
Para fazer a conexão, execute as seguintes etapas:

1. Na página Fontes de dados, selecione ODBC.


2. Na página ODBC, insira sua cadeia de conexão do ODBC. No exemplo a seguir, a
cadeia de conexão é dsn=SQL Server Database .

3. Se necessário, selecione um gateway de dados local em Gateway de dados.

4. Escolha o tipo de autenticação para iniciar sessão e, em seguida, insira suas


credenciais.

5. Selecione Avançar.

6. No Navegador, selecione as informações desejadas do banco de dados e, em


seguida, selecione Transformar dados para continuar transformando os dados no
Editor do Power Query.

Conectar usando opções avançadas


O Power Query tem um conjunto de opções avançadas que você pode adicionar à sua
consulta, se necessário.
Opção avançada Descrição

Cadeia de Fornece uma cadeia de conexão opcional que pode ser usada em vez da
conexão seleção DSN (nome da fonte de dados) no Power BI Desktop. Se o DSN
(propriedades (nome da fonte de dados) estiver definido como (Nenhum),você poderá
não relacionadas inserir uma cadeia de conexão aqui. Por exemplo, as seguintes cadeias de
à credencial) conexão são válidas: dsn=<myDSN> ou driver=<myDriver>;port=
<myPortNumber>;server=<myServer>;database=<myDatabase>;. Use
caracteres { } para escapar caracteres especiais. As chaves para cadeias de
conexão variam entre diferentes drivers ODBC. Consulte o provedor do driver
ODBC para obter mais informações sobre cadeias de conexão válidas.

SQL statement Fornece uma instrução SQL, dependendo das funcionalidades do driver. Peça
mais informações ao fornecedor ou acesse Importar dados de um banco de
dados usando a consulta de banco de dados nativa.

Cláusulas de Habilita o suporte de dobragem para Table.FirstN. Selecione Detectar para


redução de linha localizar cláusulas de redução de linha com suporte ou selecione uma das
com suporte opções suspensas (TOP, LIMIT e OFFSET, LIMIT ou ANSI compatível com SQL).
Essa opção não é aplicável ao usar uma instrução SQL nativa. Disponível
somente no Power Query Desktop.

Limitações e problemas conhecidos


Atributos de cadeia de conexão
Se um DSN for especificado na cadeia de conexão ODBC, os atributos após a
especificação DSN não serão incluídos. Se você quiser usar atributos adicionais, atualize-
os no próprio DSN, em vez de na cadeia de conexão.
OLE DB
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Analysis Services

Tipos de autenticação compatíveis Conta do Exchange


Conta Microsoft

Documentação de referência da função Exchange.Contents

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Funcionalidades com suporte


Importação

Conectar-se ao OLE DB desde o Power Query


Desktop
O Power Query Desktop inclui o Excel, o Power BI (Conjuntos de Dados) e o Analysis
Services como experiências.

Para fazer a conexão com OLE DB, realize estas etapas:

1. Em Obter Dados, selecione a categoria Outro, selecione OLE DB e, em seguida,


selecione Conectar. Mais informações: Locais para obter dados
2. Na janela OLE DB exibida, insira a cadeia de conexão. Se desejar, você pode
fornecer outras informações de consulta SQL na guia Opções avançadas.

 Dica

Evite usar credenciais ou propriedades de segurança nessa cadeia de conexão,


pois você as inserirá no próximo menu.

3. Selecione OK.

4. Escolha o tipo de autenticação que você deseja usar: Padrão ou Personalizado,


Windows ou Banco de Dados.

Padrão ou Personalizado: insira propriedades de cadeia de conexão


personalizadas ou relacionadas à segurança, coisas como strings de
segurança ou senhas que não devem ser adicionadas a uma consulta. Por
exemplo, "UID=MyUserId; RefreshToken=MySecretRefreshToken;
Encryption=true"
Windows: entre com suas credenciais atuais do Windows ou forneça um
nome de usuário e senha diferentes do Windows. Você também pode
fornecer outras propriedades de cadeia de conexão, se necessário.
Banco de dados: forneça seu nome de usuário e senha do banco de dados.
Você também pode fornecer outras propriedades de cadeia de conexão, se
necessário.

5. No Navegador, revise e selecione os dados do seu banco de dados. Em seguida,


selecione Carregar para carregar a tabela ou Transformar Dados para abrir o
editor do Power Query, onde você pode filtrar e refinar o conjunto de dados que
deseja usar e, em seguida, carregar esse conjunto refinado de dados.
Projeto OpenSearch (Beta)
Artigo • 18/12/2023

7 Observação

O artigo a seguir é fornecido pelo OpenSearch, proprietário desse conector e


membro do Programa de Certificação do Conector do Microsoft Power Query. Se
tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações neste
artigo, visite o site do OpenSearch e use os canais de suporte.

Resumo
ノ Expandir a tabela

Item Descrição

Estado da liberação Beta

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Basic

Pré-requisitos
Microsoft Power BI Desktop
OpenSearch
Driver ODBC do SQL do OpenSearch

Funcionalidades com suporte


Importação
DirectQuery (conjuntos de dados do Power BI)

Conectar-se ao Projeto OpenSearch


1. Abra o Power BI Desktop.
2. Selecione Página Inicial>Obter Dados>Mais>Outros, selecione Projeto
OpenSearch e Conectar.

3. Você receberá um aviso por usar um serviço de terceiros. Selecione Continuar.

4. Insira valores de host e porta e selecione a opção SSL que deseja. Selecione OK.

5. Selecione uma opção de autenticação. Se necessário, insira as credenciais e


selecione Conectar.

6. Selecione a tabela necessária. A visualização de dados será carregada.

7. Selecione Carregar.

8. Selecione as colunas necessárias para criar um grafo.

Solução de problemas
Se você receber um erro indicando que o driver não foi instalado, instale o ODBC Driver
do SQL do OpenSearch .

Se você receber um erro de conexão:

1. Verifique se os valores de host e porta estão corretos.


2. Verifique se as credenciais de autenticação estão corretas.
3. Verifique se o servidor está em execução.
Oracle database
Artigo • 16/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365
Analysis Services

Tipos de autenticação compatíveis Windows (desktop/online)


Banco de dados (área de trabalho)
Básico (online)
Azure Active Directory (desktop/online)

Documentação de referência da função Oracle.Database

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Versões do Oracle com suporte:

Oracle Database Server 12c (12.1.0.2) e posteriores


Oracle Autonomous Database – todas as versões

Antes de conectar a um banco de dados Oracle usando o Power Query, é necessário


instalar o Oracle Client for Microsoft Tools (OCMT).

Para se conectar a um banco de dados Oracle com o gateway de dados local, é


necessário que o OCMT de 64 bits esteja instalado no computador onde o gateway está
em execução. Para obter mais informações, acesse Gerenciar sua fonte de dados –
Oracle.

Funcionalidades com suporte


Importação
DirectQuery (conjuntos de dados do Power BI)
Opções avançadas
Tempo limite do comando em minutos
SQL statement
Adicionar colunas de relação
Navegar usando hierarquia completa

Baixe e instale o Oracle Client for Microsoft


Tools.
O Oracle Client for Microsoft Tools instala e configura o Oracle Data Provider for .NET
(ODP.NET) para oferecer suporte a conexões de ferramentas Microsoft de 32 bits e 64
bits com bancos de dados Oracle em ambientes locais e na nuvem, incluindo o Oracle
Autonomous Database (ADB). O OCMT é um instalador gráfico que automatiza o
processo de configuração do Oracle Database Client. Ele oferece suporte para conexão
com o Power BI Desktop, Power BI service, Fabric (Dataflow Gen2), Excel, SQL Server
Analysis Services, SQL Server Data Tools, SQL Server Integration Services, SQL Server
Reporting Services e BizTalk Server.

O software OCMT é gratuito. Pode ser baixado na página do Oracle Client for Microsoft
Tools. Para o Power BI Desktop e o Power BI service de 64 bits, utilize o OCMT de 64
bits. Para o Power BI Desktop de 32 bits, utilize o OCMT de 32 bits.

Mesmo que você já tenha um Oracle Client ou ODP.NET instalado no seu cliente Power
BI, é altamente recomendado usar o instalador OCMT para concluir adequadamente
todas as etapas de configuração que o Power BI requer para funcionar com o banco de
dados Oracle.

Downloads do OCMT de 64 bits e 32 bits


Instruções de instalação e configuração do OCMT

Conecte-se a um banco de dados Oracle local a


partir do Power Query Desktop
Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção Banco de dados Oracle na seleção do conector.

2. Especifique o nome do serviço Oracle/alias TNS ou a cadeia de conexão Easy


Connect (Plus) para se conectar no Servidor. O Easy Connect é o mais simples de
usar, definindo o valor do Servidor como o Nome do Host/Serviço do seu servidor
de banco de dados Oracle, onde o ServiceName é o nome global do banco de
dados. A captura de tela a seguir utiliza um nome de serviço Oracle.

3. Se você estiver se conectando de Power BI Desktop, selecione o modo de


conectividade de dados Importar ou DirectQuery. O restante dessas etapas de
exemplo usa o modo de conectividade Importar dados. Para saber mais sobre o
DirectQuery, vá até Usar o DirectQuery no Power BI Desktop.

4. Se você estiver se conectando a esse banco de dados Oracle pela primeira vez,
selecione o tipo de autenticação que deseja usar e insira suas credenciais. Os tipos
de autenticação disponíveis são:

Autenticação do Windows (Windows)


Nome de usuário e senha (Banco de dados)
Azure Active Directory (Conta Microsoft)

Para obter mais informações sobre a autenticação, acesse Autenticação com uma
fonte de dados.
5. No Navegador, selecione os dados necessários e selecione Carregar para carregar
os dados ou Transformar dados para transformar os dados.

Conecte-se a um banco de dados Oracle local a


partir do Power Query Online.
Para fazer a conexão, execute as seguintes etapas:

1. Instale e configure um gateway de dados local.

2. No Power Query Online, selecione a opção de banco de dados Oracle na seleção


de fontes de dados

3. Na caixa de diálogo do banco de dados Oracle que aparece, especifique o nome


do serviço Oracle/alias TNS, a cadeia de conexão Easy Connect Plus ou o descritor
de conexão para se conectar no Servidor.
4. Forneça um nome de conexão, como "testoracleserver".

5. Selecione o nome do gateway de dados local.

7 Observação

Você deve selecionar um gateway de dados local para esse conector, seja o
banco de dados Oracle em sua rede local ou em um site.

6. Se for a primeira vez que você está se conectando a este banco de dados Oracle,
selecione o tipo de credenciais para a conexão em Tipo de autenticação. Escolha
Básico se você planeja entrar com um nome de usuário e senha Oracle. Escolha
Windows ao utilizar a autenticação do sistema operacional Windows e com o
cliente e o servidor Oracle executados no Windows.

7. Insira suas credenciais.

8. Selecione Avançar para continuar.

9. No Navegador, selecione os dados necessários e selecione Transformar dados


para transformar os dados em Editor do Power Query.
Conectar-se a um Oracle Autonomous
Database

7 Observação

Atualmente, é possível se conectar a um Banco de Dados Independente Oracle a


partir do Excel, Power BI Desktop, Power BI service, Fabric (Dataflow Gen2), Power
Apps, SQL Server Analysis Services e BizTalk Server usando os procedimentos nesta
seção. Essas ferramentas utilizam o ODP.NET não gerenciado para se conectar.
Outras ferramentas da Microsoft, incluindo o SQL Server Data Tools, SQL Server
Integration Services e SQL Server Reporting Services, utilizam o ODP.NET
gerenciado para se conectar ao Banco de Dados Independente Oracle usando
procedimentos muito semelhantes.

Para conectar o Power BI a um Banco de Dados Independente Oracle, você precisa das
seguintes contas e aplicativos:

Uma conta no Oracle.com (Cadastro de Conta no Oracle.com )


Uma conta na Oracle Cloud (Cadastro de Conta na Oracle Cloud )
Um Banco de Dados Independente Oracle (Obtenha um Banco de Dados
Independente sempre gratuito )
O Power BI Desktop (Obtenha o Power BI Desktop) ou uma conta no Power BI
service (Licenciamento do Power BI service para usuários na sua organização)
Gateway de dados local, se estiver usando o Power BI service (Baixe e instale um
gateway padrão)

Baixar as credenciais de cliente


A primeira etapa na configuração de uma conexão com o Oracle Autonomous Database
é baixar as credenciais de cliente.

Para baixar as credenciais de cliente:

1. Na página de detalhes do Oracle Autonomous Database, selecione Conexão do


Banco de Dados.
2. Na página Conexão do Banco de Dados, selecione Baixar Carteira.

3. Insira a senha que você deseja usar com essa carteira, confirme a senha e selecione
Baixar.
Configurar as credenciais do Oracle ADB
1. Em seu computador do Windows, acesse a pasta em que você baixou suas
credenciais do Oracle ADB de Baixar as credenciais de cliente.

2. Descompacte as credenciais no diretório que você especificou no OCMT como o


Diretório do arquivo de configuração do Oracle. Neste exemplo, as credenciais são
extraídas para c:\data\wallet\wallet_contosomart.

7 Observação

O arquivo tnsnames.ora define o endereço e informações de conexão do seu


Banco de Dados Independente Oracle.

3. Abra sqlnet.ora em um editor, como o Bloco de Notas.

4. Em WALLET_LOCATION, altere o caminho para a pasta da carteira na opção


Diretório. Neste exemplo:

WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA =

(DIRECTORY=c:\data\wallet\Wallet_ContosoMart)))

5. Salve e feche o arquivo sqlnet.ora.

Abra o arquivo tnsnames.ora na pasta carteiras. O arquivo contém uma lista de nomes
de serviço net do ADB aos quais você pode se conectar. Neste exemplo, os nomes são
contosomart_high, contosomart_low e contosomart_medium. Seus nomes de serviço de
rede do ADB são diferentes.
Conecte o Power BI Desktop ao Oracle ADB
1. Abra o Power BI Desktop.

2. Selecione Obter Dados.

3. Em Obter Dados, selecione Banco de dados>Banco de dados Oracle.

4. Digite o nome do serviço de rede do servidor do Banco de Dados Independente


Oracle ao qual você deseja se conectar. Neste exemplo, o Servidor é
contosomart_high. Depois, selecione OK.

5. Se estiver entrando neste servidor a partir do Power BI Desktop pela primeira vez,
insira suas credenciais. Selecione Banco de Dados e, em seguida, insira o nome de
usuário e a senha do banco de dados Oracle. As credenciais inseridas aqui são o
nome de usuário e a senha do Oracle Autonomous Database específico ao qual
você deseja se conectar. Neste exemplo, o nome de usuário e a senha do
administrador inicial do banco de dados são usados. Depois, selecione Conectar.
7 Observação

Você pode usar a autenticação do Azure Active Directory para fazer login no
Banco de Dados Independente Oracle através da opção conta da Microsoft.

Neste ponto, o Navegador aparece e exibe os dados de conexão.

Você também pode encontrar um dos vários erros porque a configuração não foi
configurada corretamente. Esses erros são discutidos na Solução de problemas.
Um erro que pode ocorrer neste teste inicial ocorre no Navegador, onde o banco de
dados parece estar conectado, mas não contém dados. Em vez disso, um Oracle: ORA-
28759: a falha ao abrir o erro de arquivo aparece no lugar dos dados.

Se esse erro ocorrer, certifique-se de que o caminho da pasta da carteira fornecido no


sqlnet.ora seja o caminho completo e correto para a pasta da carteira.

Configurar o gateway
1. Instale e configure um gateway de dados local.

2. Em serviço do Power BI, selecione o ícone de engrenagem no lado superior direito


e, em seguida, Gerenciar gateways.

3. Em Adicionar Fonte de Dados, selecione Adicionar fontes de dados para usar o


gateway.

4. Em Nome da Fonte de Dados, insira o nome que você deseja usar como a
configuração da fonte de dados.

5. Em Tipo de Fonte de Dados, selecione Oracle.

6. Em Servidor, insira o nome do serviço de rede do servidor do Banco de Dados


Independente Oracle ao qual deseja se conectar.

7. Em Método de Autenticação, selecione Básico.

8. Insira o nome de usuário e a senha do Oracle Autonomous Database. Neste


exemplo, é usado o nome de usuário padrão do administrador do banco de dados
(ADMIN) e a senha.

9. Selecione Adicionar.
Se tudo tiver sido instalado e configurado corretamente, uma mensagem de Conexão
bem-sucedida será exibida. Agora você pode se conectar ao Banco de Dados
Independente Oracle usando as mesmas etapas descritas em Conecte-se a um banco de
dados Oracle local a partir do Power Query Online.

Conectar usando opções avançadas


O Power Query Desktop e o Power Query Online fornecem um conjunto de opções
avançadas que você pode adicionar à sua consulta, se necessário.

A tabela a seguir lista todas as opções avançadas que você pode definir no Power Query
Desktop e no Power Query Online.

Opção avançada Descrição

Tempo limite do Se a sua conexão durar mais de 10 minutos (o tempo limite padrão), você
comando em poderá inserir outro valor em minutos para manter a conexão aberta por
minutos mais tempo. Esta opção está disponível somente no Power Query Desktop.

Instrução SQL Para obter mais informações, acesse Importar dados de um banco de dados
usando a consulta natuva de banco de dados.

Adicionar colunas Se marcada, inclui colunas que podem ter relações com outras tabelas. Se
de relação essa caixa estiver desmarcada, essas colunas não serão exibidas.

Navegar usando Se marcada, o navegador exibirá a hierarquia completa de tabelas no banco


hierarquia de dados ao qual você está se conectando. Se desmarcada, o navegador
completa exibe apenas as tabelas cujas colunas e linhas contêm dados.
Depois de selecionar as opções avançadas necessárias, selecione OK no Power Query
Desktop ou Avançar no Power Query Online para se conectar ao banco de dados
Oracle.

Limitações e problemas conhecidos


As sessões do Power BI ainda podem estar ativas no banco de dados Oracle por
aproximadamente 30 minutos após uma atualização para esse banco de dados Oracle.
Somente após aproximadamente 30 minutos essas sessões se tornam
inativas/removidas no banco de dados Oracle. Este comportamento ocorre por design.

Solução de problemas
Você pode encontrar um destes vários erros do Oracle quando a sintaxe de
nomenclatura está incorreta ou não está configurada corretamente:

ORA-12154: TNS: não foi possível resolver o identificador de conexão especificado.


ORA-12514: TNS: o ouvinte o momento não sabe sobre o serviço solicitado no
descritor de conexão.
ORA-12541: TNS: nenhum ouvinte.
ORA-12170: TNS: ocorrência de tempo limite de conexão.
ORA-12504: TNS: SERVICE_NAME em CONNECT_DATA não foi atribuído ao
ouvinte.

Esses erros podem ocorrer se o descritor de conexão do banco de dados Oracle


tnsnames.ora estiver mal configurado, se o nome do serviço de rede fornecido estiver
digitado incorretamente ou se o ouvinte do banco de dados Oracle não estiver em
execução ou não estiver acessível, como em casos onde um firewall está bloqueando o
ouvinte ou a porta do banco de dados. Certifique-se de que está atendendo aos
requisitos mínimos de instalação. Mais informações: Pré-requisitos

Visite o Portal de Ajuda de Erro do Oracle Database para analisar as causas e


resoluções comuns para o erro específico do Oracle que você encontrar. Insira seu erro
do Oracle na barra de pesquisa do portal.

Se você baixou o Power BI Desktop na Microsoft Store, talvez não consiga se conectar a
bancos de dados Oracle devido a um problema de driver Oracle. Se você encontrar esse
problema, a mensagem de erro retornada será: Referência de objeto não definida. Para
resolver o problema, siga as etapas:

Baixe o Power BI Desktop no Centro de Download em vez de na Microsoft Store.


Se a mensagem de erro Referência de objeto não definida ocorrer no Power BI quando
você se conectar a um banco de dados Oracle usando o gateway de dados local, siga as
instruções descritas em Gerenciar sua fonte de dados: Oracle.

Se você estiver usando o Servidor de Relatório do Power BI, consulte as orientações no


artigo Tipo de Conexão Oracle.

Próximas etapas
Otimizar o Power Query ao expandir as colunas da tabela
Palantir Foundry
Artigo • 05/10/2023

7 Observação

O artigo a seguir sobre o conector é fornecido pela Palantir, proprietária desse


conector e membro do Programa de certificação de conector do Microsoft Power
Query. Se tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações
neste artigo, visite o site da Palantir e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Conta organizacional (Power BI Desktop)


Token de acesso pessoal

Pré-requisitos
Este conector funciona com qualquer ambiente ativo do Palantir Foundry. Verifique se
você concluiu as seguintes etapas de configuração antes de usar o conector:

1. Baixe e instale o driver ODBC de conjuntos de dados do Foundry .


2. Se estiver usando a autenticação OAuth, verifique se os administradores do
Foundry ativaram o aplicativo de terceiros "Power BI®" no Painel de Controle.
Consulte a documentação de aplicativos de terceiros do Foundry para obter
mais detalhes.

Funcionalidades com suporte


Importação
DirectQuery (conjuntos de dados do Power BI)
Conectar-se ao Palantir Foundry do Power
Query Desktop
Para conectar ao Palantir Foundry do Power Query Desktop, execute as seguintes
etapas:

1. Na experiência Obter Dados, selecione a opção Palantir Foundry na seleção do


conector.

2. Em Configurações de Conexão, forneça o URL base do ambiente do Foundry. Por


exemplo, https://<subdomain>.palantirfoundry.com/ . Se desejar, forneça RID de
conjunto de dados e Ramificação.

3. Selecione o modo de conectividade de dados Importar ou DirectQuery.

4. Selecione OK.

5. Se você estiver se conectando ao Foundry pela primeira vez, selecione o tipo de


autenticação Foundry OAuth (recomendado) ou Foundry Token. Depois de entrar
(Foundry OAuth) ou inserir um token (Foundry Token), selecione Conectar.
Para obter mais detalhes sobre essas opções de autenticação, acesse a
documentação do Power BI: autenticar com o Foundry do Foundry.

6. No Navegador, selecione os conjuntos de dados desejados e selecione Carregar


para carregar os dados ou Transformar Dados para continuar transformando os
dados no editor do Power Query.

Conectar-se ao Palantir Foundry do Power


Query Online

7 Observação

Antes de começar, verifique se você tem acesso a um gateway local com uma
conexão existente com o Foundry.

Para conectar ao Palantir Foundry do Power Query Online, execute as seguintes etapas:

1. Selecione a opção Palantir Foundry na seleção do conector.

2. Em Configurações de Conexão, forneça o URL Base que corresponde a uma


conexão já configurada no gateway de dados local. Por exemplo,
https://<subdomain>.palantirfoundry.com/ . Se desejar, forneça RID de conjunto

de dados e Ramificação.
Verifique se a lista suspensa Conexão mostra o nome do gateway local.

3. Selecione Avançar para continuar.

4. No Navegador, selecione os dados necessários e Transformar dados.

Solução de problemas
Se você encontrar problemas para se conectar ao Foundry, consulte os seguintes
recursos na documentação do Palantir Foundry para obter as etapas de solução de
problemas:

Conector do Power BI: perguntas frequentes


Solução de problemas ao configurar drivers &JDBC ODBC
Parquet
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da versão Disponibilidade geral

Produtos com suporte Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Dynamics 365 Customer Insights

Tipos de autenticação compatíveis Anônima (online)


Chave da conta (online)
Básico (online)
Conta organizacional (online)
SAS (Assinatura de Acesso Compartilhado) (online)
API Web (online)
Windows (online)

Documentos de referência da função —

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Funcionalidades com suporte


Importe .
Basic
Avançado

Conectar-se ao arquivo Parquet a partir do


Power Query Desktop
Para se conectar a um arquivo Parquet do Power Query Desktop, execute as seguintes
etapas:

1. Selecione a opção Parquet na seleção do conector. Mais informações: Locais para


obter dados

2. No Parquet, forneça o URL para o local do arquivo Parquet. Insira um caminho e


um nome de arquivo se estiver se conectando a um arquivo local. Você também
pode selecionar Avançado e criar o URL com base em partes. No exemplo usado
neste artigo, o arquivo Parquet está localizado no Armazenamento de Blobs do
Azure.

3. Selecione OK.

4. Se você estiver se conectando a essa fonte de dados pela primeira vez, selecione o
tipo de autenticação, insira suas credenciais e selecione o nível ao qual aplicar as
configurações de autenticação. Depois, selecione Conectar.

No Power Query Desktop, selecione um dos seguintes métodos de autenticação:

Anônima
Chave de conta
Assinatura de acesso compartilhado (SAS)

Para obter mais informações sobre os métodos de autenticação, acesse


Autenticação com uma fonte de dados.
5. No Navegador, selecione as informações de banco de dados e selecione Carregar
para carregar os dados ou Transformar Dados para continuar transformando os
dados em Editor do Power Query.

Conectar-se a um arquivo Parquet a partir do


Power Query Online
Para se conectar a um arquivo Parquet do Power Query Online, execute as seguintes
etapas:

1. Selecione a opção Parquet na seleção do conector.

2. No Parquet, forneça o nome do servidor e do banco de dados. Se preferir, insira


um caminho e um nome de arquivo se estiver se conectando a um arquivo local.
3. Se você estiver se conectando a um arquivo local, selecione o nome do gateway
de dados local. Se os dados estiverem online, você não precisará fornecer um
gateway de dados local.

4. Se você estiver se conectando a essa fonte de dados pela primeira vez, selecione o
tipo de autenticação e insira suas credenciais. No Power Query Online, selecione
um dos seguintes tipos de autenticação:

Anônima (online)
Chave da conta (online)
Windows (arquivo local)

5. Selecione Avançar para continuar para o editor de Power Query, em que você
pode começar a transformar seus dados.

Limitações e problemas conhecidos


O conector Parquet do Power Query só dá suporte à leitura de arquivos do sistema de
arquivos local, do Armazenamento de Blobs do Azure e do Azure Data Lake Storage
Gen2.

Talvez seja possível ler pequenos arquivos de outras fontes usando a função
Binary.Buffer para armazenar o arquivo em buffer na memória. No entanto, se o arquivo
for muito grande, é provável que você obtenha o seguinte erro:

Error: Parquet.Document cannot be used with streamed binary values.


Usar a função Binary.Buffer dessa maneira também pode afetar o desempenho.
PDF
Artigo • 18/12/2023

Resumo
ノ Expandir a tabela

Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Dynamics 365 Customer Insights

Tipos de autenticação compatíveis Anônima (online)


Basic (online)
Conta organizacional (online)
Windows (online)

Documentação de referência da função Pdf.Tables

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

7 Observação

O PDF não tem suporte no Power BI Premium.

Pré-requisitos
Nenhum.

Funcionalidades com suporte


Importação

Conectar-se a um arquivo PDF por meio do


Power Query Desktop
Para fazer a conexão desde o Power Query Desktop:

1. Selecione a opção PDF na seleção do conector.

2. Procure e selecione o arquivo PDF que você deseja carregar. Em seguida, selecione
Abrir.

Se o arquivo PDF estiver online, use o conector da Web para se conectar ao


arquivo.

3. No Navegador, selecione as informações desejadas do arquivo e selecione


Carregar para carregar os dados ou Transformar dados para continuar
transformando os dados no Editor do Power Query.
Conectar-se a um arquivo PDF por meio do
Power Query Online
Para fazer a conexão desde o Power Query Online:

1. Selecione a opção PDF na seleção do conector.

2. Na caixa de diálogo PDF exibida, forneça o caminho do arquivo ou a URL para o


local do arquivo PDF. Se você estiver carregando um arquivo local, também poderá
selecionar Carregar arquivo (versão prévia) para navegar até o arquivo local ou
arrastar e soltar esse arquivo.

3. Se necessário, selecione um gateway de dados local para acessar o arquivo PDF.


4. Se essa for a primeira vez que você acessa esse arquivo PDF, selecione o tipo de
autenticação e entre em sua conta (se necessário).

5. No Navegador, selecione as informações desejadas do arquivo e, em seguida,


selecione Transformar dados para continuar transformando os dados no Editor do
Power Query.

Limitações e considerações

Acessar arquivos PDF grandes


Você pode usar as estratégias a seguir para aprimorar o desempenho e reduzir os
tempos limite ao acessar arquivos PDF grandes. Essas estratégias exigem que você edite
o uso da função Pdf.Tables na barra de fórmulas ou no editor avançado.

Tente selecionar uma página de cada vez ou um pequeno intervalo de cada vez
usando as opções StartPage ou EndPage , iterando em todo o documento,
conforme necessário.
Se o documento PDF for apenas uma tabela muito grande, a opção
MultiPageTables poderá coletar valores intermediários muito grandes, portanto,

desabilitá-la poderá ajudar.

Uma lista completa das opções disponíveis pode ser encontrada em Pdf.Tables.

Manipulação de linhas com várias linhas


Nos casos em que linhas com várias linhas não são identificadas corretamente, talvez
você consiga limpar os dados usando operações da interface do usuário ou do código
M personalizado. Por exemplo, você pode copiar dados desalinhados para linhas
adjacentes usando Table.FillDown ou agrupar e combinar linhas adjacentes usando
Table.Group.

Fluxos de dados do Power BI em uma capacidade


Premium
Ao trabalhar com o conector PDF em fluxos de dados em uma capacidade Premium, o
conector PDF não faz a conexão corretamente. Para permitir que o conector PDF
funcione em fluxos de dados em uma capacidade Premium, configure esse fluxo de
dados para usar um gateway e confirme se a conexão com esse fluxo de dados passa
pelo gateway.
Planview OKR (Beta)
Artigo • 23/10/2023

Resumo
Item Descrição

Estado da liberação Versão Prévia

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Conta do administrador do Planview

Pré-requisitos
Para entrar no Planview OKR você deve ter uma conta do administrador do Planview.

Funcionalidades com suporte


Importação

Conectar-se aos dados do Planview OKR


Para conectar-se aos dados do Planview OKR:

1. Selecione Obter Dados na faixa de opções Início no Power BI Desktop. Selecione


Serviços Online nas categorias à esquerda, selecione Planview OKR (Beta) e
selecione Conectar.
2. Se esta for a primeira vez que você está obtendo dados por meio do conector do
Planview OKR, um aviso de conector em versão preliminar será exibido. Selecione
Não mostrar alerta novamente para esse conector se você não quiser que essa
mensagem seja exibida novamente e, depois, selecione Continuar.

3. Insira o local da URL do Planview OKR OData que você deseja acessar e selecione
OK.
4. Para entrar na sua conta do administrador do Planview, selecione Entrar.

5. Na janela do Planview OKR exibida, forneça suas credenciais para entrar em sua
conta do Planview OKR.
6. Selecione Entrar.

7. Depois de entrar, selecione Conectar.

8. No Navegador, selecione as informações desejadas e selecione Carregar para


carregar os dados ou Transformar Dados para continuar transformando os dados
no editor do Power Query.

Carregar dados do Planview OKR no Power


Query Online
Para carregar dados do Planview OKR no Power Query Online:

1. Selecione a opção Planview OKR (Beta) na seleção do conector.

2. Na caixa de diálogo exibida, digite o local da URL do Planview OKR na caixa de


texto. Preencha o restante dos detalhes conforme mostrado na captura de tela a
seguir.

3. Se estiver se conectando usando o Planview OKR pela primeira vez, você precisará
entrar em sua conta do administrador do Planview.
4. Depois de entrar, selecione Avançar.

5. No Navegador, selecione os dados necessários e selecione Transformar dados


para transformar os dados no editor do Power Query.
PostgreSQL
Artigo • 09/08/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (Dataflow Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365
Analysis Services

Tipos de autenticação compatíveis Banco de dados (nome de usuário/senha)

Documentação de referência da função PostgreSQL.Database

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
A partir da versão de dezembro de 2019, o NpgSQL 4.0.10 é enviado com o Power BI
Desktop e nenhuma instalação adicional é necessária. A Instalação do GAC substitui a
versão fornecida com o Power BI Desktop, que será o padrão. A atualização tem suporte
tanto por meio da nuvem no serviço do Power BI quanto no local por meio do gateway
de dados local. Para atualizar dados do serviço do Power BI sem um gateway de dados
local, o PostgreSQL deve ser hospedado de uma maneira que permita a conexão direta
dos serviços do Power BI no Azure. Isso tem suporte nativo para PostgreSQL hospedado
no Microsoft Azure. Para outros ambientes de hospedagem, consulte seu provedor de
hospedagem sobre como configurar seu PostgreSQL para acesso direto da Internet. Se
o PostgreSQL estiver configurado para que ele não possa ser acessado diretamente da
Internet (recomendado para segurança), você precisará usar um gateway de dados local
para atualizações. No serviço do Power BI, o NpgSQL 4.0.10 será usado, enquanto a
atualização local usará a instalação local do NpgSQL, se disponível, e, caso contrário,
usará o NpgSQL 4.0.10.

Para versões do Power BI Desktop lançadas antes de dezembro de 2019, você deve
instalar o provedor NpgSQL em seu computador local. Para instalar o provedor NpgSQL,
vá para a página de versões , pesquise v4.0.10 e baixe e execute o arquivo .msi. A
arquitetura do provedor (32 bits ou 64 bits) precisa corresponder à arquitetura do
produto em que você pretende usar o conector. Ao instalar, verifique se você selecionou
a Instalação do GAC do NpgSQL para garantir que o próprio NpgSQL seja adicionado
ao computador.

Recomendamos o NpgSQL 4.0.10. O NpgSQL 4.1 e versões superiores não funcionarão


devido a incompatibilidades de versão do .NET.

Para o Power Apps, você deve instalar o provedor NpgSQL em seu computador local.
Para instalar o provedor NpgSQL, acesse a página de versões e baixe a versão
relevante. Baixe e execute o arquivo do instalador (o arquivo NpgSQL-[número de
versão].msi). Certifique-se de selecionar a Instalação do GAC do NpgSQL e, após a
conclusão, reinicie o computador para que essa instalação entre em vigor.

Funcionalidades com suporte


Importação
DirectQuery (conjuntos de dados do Power BI)
Opções Avançadas
Tempo limite do comando em minutos
Instrução de SQL nativa
Colunas da relação
Navegar usando hierarquia completa

Conectar-se a um banco de dados PostgreSQL


do Power Query Desktop
Depois que o provedor Npgsql correspondente for instalado, você poderá se conectar a
um banco de dados PostgreSQL. Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção banco de dados PostgreSQL na seleção do conector.

2. Na caixa de diálogo banco de dados PostgreSQL exibida, forneça o nome do


Servidor e selecione OK.

3. Selecione o modo de conectividade de dados Importar ou DirectQuery.

4. Se essa for a primeira vez que você estiver se conectando a esse banco de dados,
insira suas credenciais PostgreSQL nas caixas Nome de usuário e Senha do tipo de
autenticação de banco de dados. Selecione o nível ao qual aplicar as
configurações de autenticação. Depois, selecione Conectar.
Para obter mais informações sobre como usar métodos de autenticação, acesse
Autenticação com uma fonte de dados.

7 Observação

Se a conexão não estiver criptografada, você receberá a seguinte mensagem.

Selecione OK para se conectar ao banco de dados usando uma conexão não


criptografada ou siga as instruções em Habilitar conexões criptografadas com o
Mecanismo de Banco de Dados para configurar conexões criptografadas com o
banco de dados PostgreSQL.

5. No Navegador, selecione as informações de banco de dados e selecione Carregar


para carregar os dados ou Transformar Dados para continuar transformando os
dados em Editor do Power Query.
Conectar-se a um banco de dados PostgreSQL
do Power Query Online
Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção banco de dados PostgreSQL na seleção do conector.

2. Na caixa de diálogo banco de dados PostgreSQL exibida, forneça o nome do


Servidor e selecione OK.
3. Selecione o nome do gateway de dados local que você deseja usar.

4. Selecione o tipo de autenticação Básica e insira suas credenciais do PostgreSQL


nas caixas Nome de usuário e Senha.

5. Se sua conexão não estiver criptografada, desmarque Usar Conexão


Criptografada.

6. Selecione Avançar para se conectar ao banco de dados.

7. No Navegador, selecione os dados necessários e selecione Transformar dados


para transformar os dados em Editor do Power Query.

Conectar usando opções avançadas


O Power Query Desktop fornece um conjunto de opções avançadas que você pode
adicionar à sua consulta, se necessário.
A tabela a seguir lista todas as opções avançadas que você pode definir no Power Query
Desktop.

Opção avançada Descrição

Tempo limite do Se a sua conexão durar mais de 10 minutos (o tempo limite padrão), você
comando em poderá inserir outro valor em minutos para manter a conexão aberta por
minutos mais tempo. Esta opção está disponível somente no Power Query Desktop.

Instrução SQL Para obter mais informações, acesse Importar dados de um banco de dados
usando a consulta natuva de banco de dados.

Adicionar colunas Se marcada, inclui colunas que podem ter relações com outras tabelas. Se
de relação essa caixa estiver desmarcada, você não verá essas colunas.

Navegar usando Se marcada, o navegador exibirá a hierarquia completa de tabelas no banco


hierarquia de dados ao qual você está se conectando. Se desmarcada, o navegador
completa exibe apenas as tabelas cujas colunas e linhas contêm dados.

Depois de selecionar as opções avançadas necessárias, selecione OK no Power Query


Desktop para se conectar ao banco de dados PostgreSQL.

Dobragem de consultas nativa


Por padrão, a dobragem de consultas nativa está habilitada. As operações capazes de
dobrar serão aplicadas sobre sua consulta nativa de acordo com a lógica de Importação
ou Consulta Direta normal. A dobragem de consultas nativa não é aplicável com
parâmetros opcionais presentes em Value.NativeQuery().

No caso raro de a dobra não funcionar com a dobragem de consultas nativa habilitada,
você pode desabilitá-la. Para desabilitar a dobragem de consultas nativa, defina o
sinalizador EnableFolding como false para Value.NativeQuery() no editor avançado.
Exemplo: Value.NativeQuery(target as any, query, null, [EnableFolding=false])

Solução de problemas
Sua consulta nativa pode gerar o seguinte erro:

We cannot fold on top of this native query. Please modify the native query or

remove the 'EnableFolding' option.

Uma etapa básica de disparo de problemas é verificar se a consulta em


Value.NativeQuery() gera o mesmo erro com uma cláusula limit 1 em torno dela:

select * from (query) _ limit 1


Profisee
Artigo • 05/10/2023

7 Observação

O artigo a seguir sobre o conector é fornecido pela Profisee, proprietária desse


conector e membro do Programa de certificação de conector do Microsoft Power
Query. Se você tiver dúvidas sobre o conteúdo deste artigo ou tiver alterações que
gostaria de ver feitas neste artigo, visite o site de suporte da Profisee e use os
canais de suporte.

Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Conta organizacional

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Antes de usar o conector Profisee, você deve ter:

Uma conta Profisee (nome de usuário e senha)


Uma instância do Profisee em execução (versão 2022.R1 ou superior)

Funcionalidades com suporte


Importação

Conectar-se ao Profisee no Power BI Desktop


Para usar o conector Profisee:

1. Abra o Power BI Desktop.

2. Selecione a opção Obter Dados na faixa de opções Página Inicial para abrir a caixa
de diálogo Obter Dados.

3. Digite Profisee na caixa de pesquisa ou selecione Serviços Online e selecione


Profisee na lista e, em seguida, selecione Conectar.

4. Insira o URL da instância do Profisee e selecione OK.


.

5. Se for a primeira vez que você se conecta, entre usando um serviço de


autenticação.

6. Selecione Conectar.

7. Uma vez conectado, o Navegador é exibido. Essa exibição lista todas as entidades
em sua instância do Profisee. Você pode rolar pelo navegador para localizar
entidades específicas ou procurar entidades por nome usando a barra de pesquisa.
8. Selecione as entidades que você deseja importar para o Power BI. Você pode
visualizar os dados e optar por primeiro Transformar Dados se quiser editar as
colunas de atributo, aplicar filtros e assim por diante, ou Carregar os dados
diretamente no Power BI Desktop.

9. Depois de carregadas, as entidades aparecem no modo de exibição de modelo e


você pode exibir os atributos prontos para uso no Power BI na caixa de diálogo
Campos.
7 Observação

As relações no Profisee não são criadas no modelo no Power BI. Depois que as
entidades são carregadas, você pode exibir o modelo e criar ou modificar
relacionamentos conforme desejado.
QuickBooks Online (Beta)
Artigo • 05/10/2023

O conector QuickBooks Online para Power BI permite conectar-se à conta do


QuickBooks Online e exibir, analisar e relatar os dados do QuickBooks da sua empresa
no Power BI.

Resumo
Item Descrição

Estado da liberação Beta

Produtos Power BI (Conjuntos de dados)

Tipos de autenticação compatíveis Conta do QuickBooks Online

2 Aviso

O QuickBooks Online descontinuou o suporte para o Internet Explorer 11 que o


Power Query Desktop usa para autenticar serviços online. Para conseguir acessar o
Quickbooks Online dede o Power BI Desktop, navegue até Habilitar o Microsoft
Edge (Chromium) para autenticação OAuth no Power BI Desktop.

Pré-requisitos
Para usar o conector QuickBooks Online, você deve ter um nome de usuário e senha de
conta do QuickBooks Online.

O conector QuickBooks Online usa o driver de ODBC QuickBooks. O driver de ODBC


QuickBooks é fornecido com o Power BI Desktop e não precisa de nenhuma instalação
adicional.

Funcionalidades com suporte


Importação

Conectar-se ao QuickBooks Online


Para se conectar-se ao QuickBooks Online:

1. Na caixa de diálogo Obter dados, insira QuickBooks no campo Pesquisar,


selecione QuickBooks Online (Beta) na lista de conectores de dados específicos
do produto e clique em Conectar.

2. Selecione Continuar na mensagem Visualizar conector.

3. Selecione Entrar para entrar na conta do QuickBooks Online.


4. Na caixa de diálogo a seguir, insira suas credenciais do QuickBooks. Talvez você
precise fornecer o 2FA (código de autenticação de dois fatores).
5. Na caixa de diálogo a seguir, selecione uma empresa e clique em Avançar.

6. Depois de entrar, selecione Conectar.

7. Na caixa de diálogo do Navegador, selecione as tabelas do QuickBooks que deseja


carregar. Em seguida, você pode carregar ou transformar os dados.
Problemas conhecidos
A partir de 1º de agosto de 2020, o Intuit não suportará o Microsoft Internet Explorer 11
(IE 11) para o QuickBooks Online. Após 1º de agosto de 2020, ao usar o OAuth2 para
autorizar o QuickBooks Online, somente os seguintes navegadores terão suporte:

Microsoft Edge
Mozilla Firefox
Google Chrome
Safari 11 ou mais recente (somente para Mac)

Para obter mais informações, consulte Alerta: suporte para IE11 será descontinuado a
partir de 31 de julho de 2020 para telas de autorização .

Para obter informações sobre o suporte atual do Microsoft Edge no Power BI Desktop,
acesse Habilitar o Microsoft Edge (Chromium) para autenticação OAuth no Power BI
Desktop.
Objetos do Salesforce
Artigo • 14/07/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (Dataflow Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365
Analysis Services

Tipos de autenticação compatíveis Conta do Salesforce

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

2 Aviso

Por padrão, o Salesforce não é compatível com o Internet Explorer 11, que é usado
como parte da experiência de autenticação de serviços online no Power Query
Desktop. Aceite o suporte estendido para acessar o Lightning Experience usando
o Microsoft Internet Explorer 11 . Também examine a documentação do
Salesforce sobre como configurar o Internet Explorer . Neste momento, os
usuários serão impedidos de autenticar, mas as credenciais armazenadas
continuarão funcionando até que os tokens de autenticação existentes expirem.
Para resolver isso, acesse Habilitar o Microsoft Edge (Chromium) para
autenticação OAuth no Power BI Desktop.

Pré-requisitos
Para usar o conector dos Objetos do Salesforce, você deve ter um nome de usuário e
senha de conta do Salesforce.

Além disso, o acesso à API do Salesforce deve estar habilitado. Para verificar as
configurações de acesso, navegue até a sua página pessoal do Salesforce, abra suas
configurações de perfil e pesquise e verifique se a caixa de seleção API habilitada está
selecionada. Observe que as contas de avaliação do Salesforce não têm acesso à API.

Funcionalidades com suporte


Produção
Personalizado
Domínios personalizados
Redirecionamentos de registro CNAME
Colunas do relacionamento

Conectar-se aos Objetos do Salesforce desde o


Power Query Desktop
Para se conectar aos dados dos Objetos do Salesforce:

1. Selecione Objetos do Salesforce na lista de conectores de dados específicos do


produto e clique em Conectar.

2. Em Objetos do Salesforce, escolha a URL de produção se estiver usando a URL de


produção do Salesforce ( https://www.salesforce.com ) para entrar.

Também é possível selecionar Personalizado e inserir uma URL personalizada para


entrar. Essa URL personalizada pode ser um domínio personalizado que você criou
no Salesforce, como por exemplo, https://contoso.salesforce.com . Você também
pode utilizar a seleção de URL personalizada se estiver usando seu próprio registro
CNAME que redireciona para o Salesforce. Observe que não há suporte para URLs
relâmpago.

Além disso, é possível selecionar Incluir colunas do relacionamento. Essa seleção


altera a consulta incluindo as colunas que podem ter relacionamentos de chave
estrangeira com outras tabelas. Se essa caixa estiver desmarcada, você não verá
essas colunas.

Depois de selecionar a URL, clique em OK para continuar.

3. Clique em Entrar para entrar na conta do Salesforce.

Depois de entrar, selecione Conectar.

4. Se essa for a primeira vez que você entra usando um aplicativo específico, você
precisará inserir o código enviado ao seu email para verificar sua autenticidade.
Depois, aparecerá uma pergunta questionado se deseja que o aplicativo que você
está usando acesse os dados. Por exemplo, você será questionado se deseja
permitir que o Power BI Desktop acesse seus dados do Salesforce. selecione
Permitir.

5. Na caixa de diálogo do Navegador, selecione os Objetos do Salesforce que deseja


carregar. Você pode selecionar Carregar para carregar os dados ou Transformar
dados para transformar os dados.

Conectar-se aos Objetos do Salesforce desde o


Power Query Desktop
Para se conectar aos dados dos Objetos do Salesforce:

1. Selecione Objetos do Salesforce na lista de conectores de dados específicos do


produto e clique em Conectar.
2. Em Objetos do Salesforce, escolha a URL que deseja usar para se conectar.
Selecione a URL de produção se estiver usando a URL de produção do Salesforce
( https://www.salesforce.com ) para entrar.

7 Observação

Atualmente, talvez seja necessário selecionar a URL Personalizada, inserir


https://www.salesforce.com na caixa de texto e selecionar produção para se

conectar aos dados.

Também é possível selecionar Personalizada e inserir uma URL personalizada para


entrar. Essa URL personalizada pode ser um domínio personalizado que você criou
no Salesforce, como por exemplo, https://contoso.salesforce.com . Você também
pode utilizar a seleção de URL personalizada se estiver usando seu próprio registro
CNAME que redireciona para o Salesforce.

Além disso, é possível selecionar Incluir colunas do relacionamento. Essa seleção


altera a consulta incluindo as colunas que podem ter relacionamentos de chave
estrangeira com outras tabelas. Se essa caixa estiver desmarcada, você não verá
essas colunas.

3. Se essa for a primeira vez que você faz essa conexão, selecione um gateway de
dados local, se necessário.
4. Clique em Entrar para entrar na conta do Salesforce. Depois de entrar, selecione
Avançar.

5. Na caixa de diálogo do Navegador, selecione os Objetos do Salesforce que deseja


carregar. Selecione Transformar dados para transformar os dados.

Especificando uma versão da API do Salesforce


Exigimos que você especifique uma versão da API do Salesforce com suporte para usar
o conector do Salesforce. Você pode fazer isso modificando a consulta usando o editor
Power Query avançado. Por exemplo,
Salesforce.Data("https://login.salesforce.com/", [ApiVersion=48]) .

Se você especificar uma versão sem suporte do Salesforce, encontrará uma mensagem
de erro indicando que especificou uma ApiVersion sem suporte.

Para obter mais informações sobre versões e suporte da API do Salesforce, visite o site
do Salesforce .

Limitações e problemas conhecidos


Se houver tabelas ausentes nos resultados do conector de Objetos salesforce, uma
causa pode ser que a ApiVersion deve ser especificada ou atualizada para uma
versão compatível com o Salesforce. Para especificar ou atualizar o ApiVersion, use
o Editor Avançado e adicione explicitamente o ApiVersion parâmetro . Por
exemplo:

Source = Salesforce.Data("https://login.salesforce.com/", [ApiVersion =


54.0])

As ApiVersions são preteridas periodicamente pelo Salesforce, portanto, verifique


se você está especificando uma ApiVersion com suporte do Salesforce .

Há um limite no número de campos que uma consulta para o Salesforce pode


conter. O limite varia dependendo do tipo das colunas, do número de colunas
computadas etc. Se ocorrer um erro Query is either selecting too many fields
or the filter conditions are too complicated , significa que a consulta excede o

limite. Para evitar esse erro, use a opção avançada Selecionar consulta e
especifique os campos de que você realmente precisa.

As configurações de sessão do Salesforce podem bloquear essa integração.


Verifique se a configuração Bloquear sessões para o endereço IP do qual se
originaram está desabilitada.

O acesso à API do Salesforce deve estar habilitado. Para verificar as configurações


de acesso, acesse as configurações de perfil do usuário atual e pesquise a caixa de
seleção "API habilitada".

As contas de avaliação do Salesforce não têm acesso à API.

Os campos personalizados do tipo "Lista de seleção (seleção múltipla)" não são


suportadas para as operações "Criar registro" e "Atualizar registro".

URLs do Lightning não são suportadas.

O Salesforce limita o número de consultas simultâneas que podem ser executadas


por uma única conta. Erro 'INVALID_QUERY_LOCATOR' Esse é um limite do
Salesforce e pode ser encontrado quando há várias consultas simultâneas no
Salesforce usando a mesma conta. Isso inclui todos os aplicativos cliente (não
apenas o conector do PowerQuery) usando a API do Salesforce. Para reduzir a
probabilidade desse erro, verifique se o número de consultas do Salesforce é
mantido no mínimo, use as opções disponíveis (como fluxos de dados) para
preparar os dados do Salesforce e confirme se outros usos da API do Salesforce
com a mesma conta não estão agendados simultaneamente.

Para obter mais informações sobre os limites internos da API do Salesforce, acesse a
Referência rápida de limites e alocações do desenvolvedor do Salesforce .
Relatórios do Salesforce
Artigo • 14/07/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (Dataflow Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365
Analysis Services

Tipos de autenticação compatíveis Conta do Salesforce

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

2 Aviso

Por padrão, o Salesforce não é compatível com o Internet Explorer 11, que é usado
como parte da experiência de autenticação de serviços online no Power Query
Desktop. Aceite o suporte estendido para acessar o Lightning Experience usando
o Microsoft Internet Explorer 11 . Também examine a documentação do
Salesforce sobre como configurar o Internet Explorer . Neste momento, os
usuários serão impedidos de autenticar, mas as credenciais armazenadas
continuarão funcionando até que os tokens de autenticação existentes expirem.
Para resolver isso, acesse Habilitar o Microsoft Edge (Chromium) para
autenticação OAuth no Power BI Desktop.

Pré-requisitos
Para usar o conector dos Relatórios do Salesforce, você deve ter um nome de usuário e
senha de conta do Salesforce.

Além disso, o acesso à API do Salesforce deve estar habilitado. Para verificar as
configurações de acesso, navegue até a sua página pessoal do Salesforce, abra suas
configurações de perfil e pesquise e verifique se a caixa de seleção API habilitada está
selecionada. Observe que as contas de avaliação do Salesforce não têm acesso à API.

Funcionalidades com suporte


Produção
Personalizado
Domínios personalizados
Redirecionamentos de registro CNAME

Conectar-se aos Relatórios do Salesforce desde


o Power Query Desktop
Para se conectar aos dados do Relatórios do Salesforce:

1. Selecione Relatórios do Salesforce na lista de conectores de dados específicos do


produto e clique em Conectar.

2. Em Relatórios do Salesforce, escolha a URL de produção se estiver usando a URL


de produção do Salesforce ( https://www.salesforce.com ) para entrar.

Também é possível selecionar Personalizado e inserir uma URL personalizada para


entrar. Essa URL personalizada pode ser um domínio personalizado que você criou
no Salesforce, como por exemplo, https://contoso.salesforce.com . Você também
pode utilizar a seleção de URL personalizada se estiver usando seu próprio registro
CNAME que redireciona para o Salesforce.

Depois de selecionar a URL, clique em OK para continuar.

3. Clique em Entrar para entrar na conta do Salesforce.

Depois de entrar, selecione Conectar.

4. Se essa for a primeira vez que você entra usando um aplicativo específico, você
precisará inserir o código enviado ao seu email para verificar sua autenticidade.
Depois, aparecerá uma pergunta questionado se deseja que o aplicativo que você
está usando acesse os dados. Por exemplo, você será questionado se deseja
permitir que o Power BI Desktop acesse seus dados do Salesforce. selecione
Permitir.

5. Na caixa de diálogo do Navegador, selecione os Relatórios do Salesforce que


deseja carregar. Você pode selecionar Carregar para carregar os dados ou
Transformar dados para transformar os dados.

Conectar-se aos Relatórios do Salesforce desde


o Power Query Online
Para se conectar aos dados do Relatórios do Salesforce:

1. Selecione Relatórios do Salesforce na lista de conectores de dados específicos do


produto e clique em Conectar.

2. Em Relatórios do Salesforce, escolha a URL que deseja usar para se conectar.


Selecione a URL de produção se estiver usando a URL de produção do Salesforce
( https://www.salesforce.com ) para entrar.
7 Observação

Atualmente, talvez seja necessário selecionar a URL Personalizada, inserir


https://www.salesforce.com na caixa de texto e selecionar produção para se

conectar aos dados.

Também é possível selecionar Personalizada e inserir uma URL personalizada para


entrar. Essa URL personalizada pode ser um domínio personalizado que você criou
no Salesforce, como por exemplo, https://contoso.salesforce.com . Você também
pode utilizar a seleção de URL personalizada se estiver usando seu próprio registro
CNAME que redireciona para o Salesforce.

Além disso, é possível selecionar Incluir colunas do relacionamento. Essa seleção


altera a consulta incluindo as colunas que podem ter relacionamentos de chave
estrangeira com outras tabelas. Se essa caixa estiver desmarcada, você não verá
essas colunas.

3. Se essa for a primeira vez que você faz essa conexão, selecione um gateway de
dados local, se necessário.

4. Clique em Entrar para entrar na conta do Salesforce. Depois de entrar, selecione


Avançar.

5. Na caixa de diálogo do Navegador, selecione os Relatórios do Salesforce que


deseja carregar. Selecione Transformar dados para transformar os dados.
Especificando uma versão da API do Salesforce
Exigimos que você especifique uma versão da API do Salesforce com suporte para usar
o conector do Salesforce. Você pode fazer isso modificando a consulta usando o Power
Query Editor Avançado. Por exemplo,
Salesforce.Data("https://login.salesforce.com/", [ApiVersion=48]) .

Se você especificar uma versão sem suporte do Salesforce, encontrará uma mensagem
de erro indicando que especificou uma ApiVersion sem suporte.

Para obter mais informações sobre versões e suporte da API do Salesforce, visite o site
do Salesforce .

Limitações e problemas conhecidos


Há um limite no número de campos que uma consulta para o Salesforce pode
conter. O limite varia dependendo do tipo das colunas, do número de colunas
computadas etc. Se ocorrer um erro Query is either selecting too many fields
or the filter conditions are too complicated , significa que a consulta excede o

limite. Para evitar esse erro, use a opção avançada Selecionar consulta e
especifique os campos de que você realmente precisa.

As configurações de sessão do Salesforce podem bloquear essa integração.


Verifique se a configuração Bloquear sessões para o endereço IP do qual se
originaram está desabilitada.

O número de linhas que você pode acessar nos Relatórios do Salesforce é limitado
pelo Salesforce a 2 mil linhas. Como solução alternativa para esse problema, você
pode usar o conector Relatórios do Salesforce no Power BI Desktop para recuperar
todas as linhas de tabelas individuais e recriar os relatórios desejados. O conector
Objetos não tem o limite de 2 mil linhas.

O acesso à API do Salesforce deve estar habilitado. Para verificar as configurações


de acesso, acesse as configurações de perfil do usuário atual e pesquise a caixa de
seleção "API habilitada".

As contas de avaliação do Salesforce não têm acesso à API.

URLs do Lightning não são suportadas.

Para obter mais informações sobre os limites internos da API do Salesforce, acesse a
Referência rápida de limites e alocações do desenvolvedor do Salesforce .
Servidor de Aplicativos SAP Business
Warehouse
Artigo • 18/12/2023

7 Observação

O conector do SAP Business Warehouse (BW) Application Server agora está


certificado para SAP BW/4HANA a partir de junho de 2020.

Resumo
ノ Expandir a tabela

Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Analysis Services

Tipos de autenticação compatíveis Windows (área de trabalho)


Banco de dados (área de trabalho)
Basic (online)

Documentação de referência da função SapBusinessWarehouse.Cubes


Sapbusinesswarehouseexecutionmode.DataStream
SapBusinessWarehouseExecutionMode.BasXml
SapBusinessWarehouseExecutionMode.BasXmlGzip

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
) Importante

A versão 1.0 do conector do SAP BW Application Server foi desativada. Novas


conexões usarão a Implementação 2.0 do conector do SAP BW Application Server.
Todo o suporte para a versão 1.0 será removido do Connector em um futuro
próximo.

Você precisará de uma conta SAP para entrar no site e baixar os drivers. Se você estiver
inseguro, entre em contato com o administrador do SAP em sua organização. Os drivers
precisam ser instalados no computador do gateway.

Há suporte para BW 7.3, BW 7.5 e BW/4HANA 2.0.

Para usar o conector do SAP BW Application Server no Power BI Desktop ou no Power


Query Online, você deve instalar o SAP .NET Connector 3.0 ou 3.1. O acesso ao
download requer um usuário S válido. Entre em contato com a equipe do SAP Basis para
obter o SAP .NET Connector 3.0 ou 3.1. Você pode baixar o SAP .NET Connector 3.0 ou
3.1 da SAP. O conector tem versões de 32 bits e 64 bits. Escolha a versão que
corresponde à sua instalação do Power BI Desktop. Para o Power Query Online, escolha
a versão de 64 bits.

Durante a instalação, em Etapas de configuração opcionais, não deixe de selecionar


Instalar assemblies no GAC.
7 Observação

A partir do final de 2023, o conector do SAP BW Application Server contém suporte


para o SAP .NET Connector 3.1.

Funcionalidades com suporte


Importação
Direct Query (conjuntos de dados do Power BI)
Avançado
Código de idioma
Modo de execução
Tamanho do lote
Instrução MDX
Habilitar estruturas de características

Conectar-se a um servidor de aplicativos SAP


BW do Power Query Desktop
Para se conectar a um Servidor de Aplicativos SAP BW:

1. Na guia Página Inicial do Power BI Desktop, selecione Obter Dados> Servidor de


Mensagens SAP Business Warehouse.

2. Insira o nome do servidor, número do sistema e ID do cliente do SAP BW


Application Server ao qual você deseja se conectar. Este exemplo usa
SAPBWTestServer como o nome do servidor, um número do sistema de 00 , e uma

ID do cliente de 837 .

O restante deste exemplo descreve como importar seus dados para o Power Query
Desktop, que é a configuração padrão para o modo Conectividade de Dados. Se
você quiser usar o DirectQuery para carregar seus dados, acesse Conectar-se ao
SAP Business Warehouse usando o DirectQuery no Power BI.

Se você quiser usar qualquer uma das opções avançadas para esse conector para
ajustar sua consulta, acesse Usar opções avançadas.

Quando terminar de preencher as informações relevantes, selecione OK.


3. Ao acessar o banco de dados pela primeira vez, o Servidor de Aplicativos SAP BW
requer credenciais de usuário de banco de dados. O Power Query Desktop oferece
dois modos de autenticação para conexões SAP BW: nome de
usuário/autenticação de senha (Banco de Dados) e autenticação do Windows
(logon único). Atualmente, não há suporte para autenticação SAML. Selecione
Windows ou Banco de Dados. Se você selecionar a autenticação do Banco de
Dados, insira seu nome de usuário e a senha. Se você selecionar a autenticação do
Windows, acesse Autenticação do Windows e o logon único para saber mais sobre
os requisitos para a autenticação do Windows.

Depois, selecione Conectar.

Para obter mais informações sobre a autenticação, acesse Autenticação com uma
fonte de dados.

4. Na caixa de diálogo Navegador, selecione os itens que você deseja usar. Quando
você seleciona um ou mais itens do servidor, a caixa de diálogo Navegador cria
uma visualização da tabela de saída. Para obter mais informações sobre como
navegar pelos objetos de consulta do Servidor de Mensagens SAP BW no Power
Query, acesse Navegar pelos objetos de consulta.

5. Na caixa de diálogo Navegador, é possível transformar os dados no Editor do


Power Query ao selecionar Transformar Dados ou carregar os dados ao selecionar
Carregar.

Conectar-se a um servidor de aplicativos SAP


BW do Power Query Online
Para se conectar a um Servidor de Aplicativos SAP BW do Power Query Online:

1. Na página Fontes de dados, selecione Servidor de Aplicativos SAP BW.

2. Insira o nome do servidor, número do sistema e ID do cliente do SAP BW


Application Server ao qual você deseja se conectar. Este exemplo usa
SAPBWTestServer como o nome do servidor, um número do sistema de 00 , e uma

ID do cliente de 837 .

3. Selecione o gateway de dados local que você deseja usar para se conectar aos
dados.
4. Defina o Tipo de Autenticação como Básico. Informe seu nome de usuário e
senha.

5. Você também pode selecionar em um conjunto de opções avançadas para ajustar


sua consulta.

6. Selecione Avançar para se conectar.

7. Na caixa de diálogo Navegador, selecione os itens que você deseja usar. Quando
você seleciona um ou mais itens do servidor, a caixa de diálogo Navegador cria
uma visualização da tabela de saída. Para obter mais informações sobre como
navegar pelos objetos de consulta do Servidor de Mensagens SAP BW no Power
Query, acesse Navegar pelos objetos de consulta.

8. Na caixa de diálogo Navegador, é possível transformar os dados no Editor do


Power Query ao selecionar Transformar Dados.

Conectar-se usando strings do roteador


O roteador SAP é um programa SAP que atua como uma estação intermediária (proxy)
em uma conexão de rede entre sistemas SAP, ou entre sistemas SAP e redes externas. O
roteador SAP controla o acesso à sua rede e, como tal, é um aprimoramento útil para
um sistema de firewall existente (filtro de porta). Figurativamente, o firewall forma uma
"parede" impenetrável ao redor da rede. No entanto, como algumas conexões precisam
penetrar nessa parede, um "portão" deve ser feito no firewall. O roteador SAP assume o
controle desse portão. Em suma, o roteador SAP fornece os meios de controlar o acesso
ao sistema SAP.

Strings do roteador no Power Query


Para estabelecer uma conexão com um sistema SAP BW por meio de um roteador SAP,
você pode usar strings de roteador no lugar do nome do servidor nas configurações de
conexão do Power Query.

A sintaxe usada para a string do roteador é:

<SAP router 1><SAP router 2>.....<SAP router n><destination : application server>

Em que:

<SAP router> = /H/<sap router host name>/S/<sap router port>


<destination> = /H/<application server host name>/S/<application server port

or service name>

7 Observação
/S/<port> pode ser omitido se a porta for a porta padrão (3299).

A tabela a seguir contém exemplos de algumas strings do roteador.

ノ Expandir a tabela

Destino Exemplo String do roteador

Servidor de FQDN para o servidor /H/saprouter-


Aplicativos de aplicativos maq/S/3299/H/bwmpas.mycompany.com/S/3214

Servidor de Porta do roteador SAP /H/saprouter-maq/S/3299/H/bwmpas/S/3214


Aplicativos fornecida

Servidor de Porta do roteador SAP /H/10.11.23.33/H/bwmpas/S/3214


Aplicativos omitida

Considerações
As strings do roteador podem incluir senhas, prefixadas por /P/ ou /W/ . Não há
suporte para senhas em strings do roteador do Power Query, pois isso pode não
ser seguro. Usar uma senha resultará em um erro.

As strings do roteador também permitem o uso de nomes simbólicos do sistema


SAP, prefixados com /R/ . Esse tipo de string não tem suporte no Power Query.

No Power Query, você pode usar a sintaxe "string do roteador" para especificar
uma porta personalizada, para que as strings do roteador com uma única estação
sejam permitidas. As strings do roteador podem ser identificadas como
começando com /H/ ou /M/ . Qualquer outra entrada é assumida como um nome
de servidor/endereço IP.

Próximas etapas
Navegar pelos objetos de consulta
Princípios básicos do SAP Business Warehouse
Usar opções avançadas
Solução de problemas do conector do SAP Business Warehouse
Servidor de Mensagens SAP Business
Warehouse
Artigo • 14/11/2023

7 Observação

O conector do Servidor de Mensagens SAP BW (Business Warehouse) agora é


certificado para SAP BW/4HANA a partir de junho de 2020.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)

Tipos de autenticação compatíveis Windows (área de trabalho)


Banco de dados (área de trabalho)
Basic (online)

Documentação de referência da função SapBusinessWarehouse.Cubes


Sapbusinesswarehouseexecutionmode.DataStream
SapBusinessWarehouseExecutionMode.BasXml
SapBusinessWarehouseExecutionMode.BasXmlGzip

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos

) Importante
A versão 1.0 do conector do SAP BW Message Server foi desativada. Novas
conexões usarão a Implementação 2.0 do conector do SAP BW Message Server.
Todo o suporte para a versão 1.0 será removido do Connector em um futuro
próximo.

Você precisará de uma conta SAP para entrar no site e baixar os drivers. Se você estiver
inseguro, entre em contato com o administrador do SAP em sua organização.

Para usar o conector do SAP BW Message Server no Power BI Desktop ou no Power


Query Online, você deve instalar o SAP .NET Connector 3.0 ou 3.1. O acesso ao
download requer um usuário S válido. Entre em contato com sua equipe do SAP Basis
para obter o SAP .NET Connector 3.0 ou 3.1. Você pode baixar o SAP .NET Connector 3.0
ou 3.1 do SAP. O conector tem versões de 32 bits e 64 bits. Escolha a versão que
corresponde à sua instalação do Power BI Desktop. Para o Power Query Online, escolha
a versão de 64 bits.

Durante a instalação, em Etapas de configuração opcionais, não deixe de selecionar


Instalar assemblies no GAC.

7 Observação

No final de 2023, o conector do SAP BW Application Server contém suporte para o


SAP .NET Connector 3.1.
Funcionalidades com suporte
Importação
Direct Query (conjuntos de dados do Power BI)
Avançado
Código de idioma
Modo de execução
Tamanho do lote
Instrução MDX
Habilitar estruturas de características

Conectar-se a um Servidor de Mensagens SAP


BW no Power Query Desktop
Para se conectar a um Servidor de Mensagens SAP BW:

1. Na guia Página Inicial do Power BI Desktop, selecione Obter Dados > Servidor de
Mensagens SAP Business Warehouse.

2. Insira o servidor, o número do sistema, a ID do cliente e o grupo de logon do


Servidor de Mensagens SAP BW ao qual você deseja se conectar. Este exemplo usa
SAPBWTestServer como o nome do servidor, um número do sistema de 100 , uma

ID do cliente de 837 e um grupo de logon de PURCHASING .

7 Observação

Você também pode usar strings do roteador para se conectar aos dados. Para
obter mais informações: Conectar-se usando strings do roteador

O restante deste exemplo descreve como importar seus dados para o Power Query
Desktop, que é a configuração padrão para o modo Conectividade de Dados. Se
você quiser usar o DirectQuery para carregar seus dados, consulte Conectar-se ao
SAP Business Warehouse usando o DirectQuery no Power BI.

Se você quiser usar qualquer uma das opções avançadas para esse conector para
ajustar sua consulta, acesse Usar opções avançadas.

Quando terminar de preencher as informações relevantes, selecione OK.


3. Quando você acessa o banco de dados pela primeira vez, o Servidor de
Mensagens SAP BW requer credenciais de usuário do banco de dados. O Power
Query Desktop oferece dois modos de autenticação para conexões SAP BW: nome
de usuário/autenticação de senha (Banco de Dados) e autenticação do Windows
(logon único). Atualmente, não há suporte para autenticação SAML. Selecione
Windows ou Banco de Dados. Se você selecionar a autenticação do Banco de
Dados, insira seu nome de usuário e a senha. Se você selecionar a autenticação do
Windows, acesse Autenticação do Windows e o logon único para saber mais sobre
os requisitos para a autenticação do Windows.

Depois, selecione Conectar.

Para obter mais informações sobre a autenticação, acesse Autenticação com uma
fonte de dados.

4. Na caixa de diálogo Navegador, selecione os itens que você deseja usar. Quando
você seleciona um ou mais itens do servidor, a caixa de diálogo Navegador cria
uma visualização da tabela de saída. Para obter mais informações sobre como
navegar pelos objetos de consulta do Servidor de Mensagens SAP BW no Power
Query, acesse Navegar pelos objetos de consulta.

5. Na caixa de diálogo Navegador, é possível transformar os dados no Editor do


Power Query ao selecionar Transformar Dados ou carregar os dados ao selecionar
Carregar.

Conectar-se a um Servidor de Mensagens SAP


BW no Power Query Online
Pata se conectar a um Servidor de Mensagens SAP BW no Power Query Online:

1. Na página Fontes de dados, selecione Servidor de Mensagens SAP BW.

2. Insira o servidor, o número do sistema, a ID do cliente e o grupo de logon do


Servidor de Mensagens SAP BW ao qual você deseja se conectar. Este exemplo usa
SAPBWTestServer como o nome do servidor, um número do sistema de 100 , uma

ID do cliente de 837 e um grupo de logon de PURCHASING .

3. Selecione o gateway de dados local que você deseja usar para se conectar aos
dados.
4. Defina o Tipo de Autenticação como Básico. Informe seu nome de usuário e
senha.

5. Você também pode selecionar em um conjunto de opções avançadas para ajustar


sua consulta.

6. Selecione Avançar para se conectar.

7. Na caixa de diálogo Navegador, selecione os itens que você deseja usar. Quando
você seleciona um ou mais itens do servidor, a caixa de diálogo Navegador cria
uma visualização da tabela de saída. Para obter mais informações sobre como
navegar pelos objetos de consulta do Servidor de Mensagens SAP BW no Power
Query, acesse Navegar pelos objetos de consulta.

8. Na caixa de diálogo Navegador, é possível transformar os dados no Editor do


Power Query ao selecionar Transformar Dados.
Conectar-se usando strings do roteador
O roteador SAP é um programa SAP que atua como uma estação intermediária (proxy)
em uma conexão de rede entre sistemas SAP, ou entre sistemas SAP e redes externas. O
roteador SAP controla o acesso à sua rede e, como tal, é um aprimoramento útil para
um sistema de firewall existente (filtro de porta). Figurativamente, o firewall forma uma
"parede" impenetrável ao redor da rede. No entanto, como algumas conexões precisam
penetrar nessa parede, um "portão" deve ser feito no firewall. O roteador SAP assume o
controle desse portão. Em suma, o roteador SAP fornece os meios de controlar o acesso
ao sistema SAP.

Strings do roteador no Power Query


Para estabelecer uma conexão com um sistema SAP BW por meio de um roteador SAP,
você pode usar strings de roteador no lugar do nome do servidor nas configurações de
conexão do Power Query.

A sintaxe usada para a string do roteador é:

<SAP router 1><SAP router 2>.....<SAP router n><destination : message server>

Em que:

<SAP router> = /H/<sap router host name>/S/<sap router port>


<destination> = /M/<message server host name>/S/<message server port or

service name>/G/<logon group>

7 Observação
/S/<port> pode ser omitido se a porta for a porta padrão (3299).

A tabela a seguir contém exemplos de algumas strings do roteador.

Destino Exemplo String do roteador

Servidor de Roteador SAP com /H/saprouter-


Mensagens porta de servidor de maq/S/3299/M/bwmpms.mycompany.com/S/3214
mensagens

Servidor de Roteador SAP com /H/saprouter-


Mensagens grupo de logon maq/S/3299/M/bwmpms.mycompany.com/S/3214/G/space

Considerações
As strings do roteador podem incluir senhas, prefixadas por /P/ ou /W/ . Não há
suporte para senhas em strings do roteador do Power Query, pois isso pode não
ser seguro. Usar uma senha resultará em um erro.

As strings do roteador também permitem o uso de nomes simbólicos do sistema


SAP, prefixados com /R/ . Esse tipo de string não tem suporte no Power Query.

No Power Query, você pode usar a sintaxe "string do roteador" para especificar
uma porta personalizada, para que as strings do roteador com uma única estação
sejam permitidas. As strings do roteador podem ser identificadas como
começando com /H/ ou /M/ . Qualquer outra entrada é assumida como um nome
de servidor/endereço IP.

Para permitir que você use as mesmas strings do roteador que você usa em outras
ferramentas, a opção /G/ na string do roteador é suportada. Quando fornecido,
deve corresponder ao valor especificado no parâmetro "Grupo de logon".

Se uma porta do servidor de mensagens for especificada, ela será enviada. Nessas
circunstâncias, o SystemId é omitido da cadeia de conexão, pois não é mais
necessário. No entanto, você ainda deve fornecer um valor para SystemId mesmo
que ele não será usado para estabelecer a conexão.

Confira também
Navegar pelos objetos de consulta
Princípios básicos do SAP Business Warehouse
Usar opções avançadas
Solução de problemas do conector do SAP Business Warehouse
Conceitos básicos do SAP BW
Artigo • 23/03/2023

Este artigo descreve a terminologia básica usada ao descrever interações entre o


servidor SAP BW e Power Query. Ele também inclui informações sobre ferramentas que
você pode achar úteis ao usar o conector Power Query SAP BW.

Arquitetura de integração
Do ponto de vista técnico, a integração entre aplicativos e SAP BW baseia-se nas
chamadas BAPI (Interfaces de Programação de Aplicativos Empresariais) do OLAP
(Processamento Analítico Online).

Os BAPIs OLAP são fornecidos com SAP BW e fornecem a terceiros e desenvolvedores


interfaces padronizadas que permitem acessar os dados e metadados do SAP BW com
suas próprias ferramentas de front-end.

Aplicativos de todos os tipos podem ser conectados com um servidor SAP BW usando
esses métodos.

Os BAPIs OLAP são implementados no SAP BW como módulos de função habilitados


para RFC e são invocados por aplicativos por meio do protocolo RFC do SAP. Isso
requer que a Biblioteca RFC do NetWeaver ou o Conector SAP .NET sejam instalados no
computador do aplicativo.

Os BAPIs OLAP fornecem métodos para navegar por metadados e dados mestres e
também para passar instruções MDX para execução para o Processador MDX.

O Processador OLAP é responsável por recuperar, processar e formatar os dados dos


objetos de origem SAPBW, que são descritos ainda mais na fonte de dados SAP BW e
objetos de dados no SAP BW.
O SAP Business Explorer e outras ferramentas SAP usam uma interface mais direta para
o Processador OLAP do SAP BW chamado Business Intelligence Consumer Services,
comumente conhecido como BICS. O BICS não está disponível para ferramentas de
terceiros.

Fontes de dados SAP BW


Os BAPIs OLAP fornecem a aplicativos de terceiros acesso a InfoProviders e consultas
BEx do SAP BW.

Normalmente, quando uma ferramenta de terceiros como Power Query se conecta


usando os BAPIs OLAP, o SAP BW responde pela primeira vez com uma lista de
catálogos disponíveis no sistema SAP BW.

Há um catálogo com o nome técnico $INFOCUBE que contém todos os InfoProviders no


sistema SAP BW. Esse catálogo é mostrado como um nó no navegador de Power Query.
Ao expandir esse nó no navegador, você pode selecionar entre os InfoProviders
disponíveis no sistema SAP BW.

Os outros catálogos representam InfoProviders para os quais existe pelo menos uma
consulta. Ao expandir um desses nós no navegador, você pode selecionar entre as
consultas disponíveis associadas ao InfoProvider.

As Consultas BEx oferecem algumas vantagens e funcionalidades adicionais para criar


fontes de dados personalizadas para atender aos requisitos do usuário final. Por
exemplo, você pode parametrizar consultas com variáveis que podem limitar o conjunto
de dados ao que é importante para o usuário final. Ou você pode recalcular figuras-
chave usando fórmulas.

Embora as consultas BEx tenham vantagens como fontes de dados (vá para
considerações de desempenho), você não precisa de uma consulta para cada relatório.
Você precisará avaliar o custo de desenvolvimento e manutenção de consultas
adicionais em relação aos requisitos de relatório.

Objetos de dados no SAP BW


O SAP BW vem com ferramentas internas para criar modelos de dados com base em
objetos de dados diferentes. É útil ter uma compreensão rudimentar de como os dados
são representados no SAP BW e na terminologia. Os principais objetos de dados no SAP
BW são introduzidos brevemente aqui:

InfoProvider é o termo genérico para um objeto de BI (Business Intelligence) no


qual os dados são carregados ou que fornecem exibições de dados. Os
InfoProviders podem ser consultados com ferramentas de cliente, como o Business
Explorer (ou BEx) e também com Power Query.

Os InfoProviders podem ser vistos como provedores de dados uniformes do ponto


de vista de uma definição de consulta. Portanto, seus dados podem ser analisados
de forma uniforme.

InfoCube é um tipo de InfoProvider. Um InfoCube descreve, do ponto de vista da


análise, um conjunto de dados independente, para uma área orientada para
negócios, por exemplo, Compra. Você pode analisar um InfoCube diretamente
como um InfoProvider com ferramentas de análise e relatório, incluindo aplicativos
do Power BI ou do Power Platform.

Um InfoCube consiste em um conjunto de tabelas relacionais organizadas de


acordo com um esquema estrela aprimorado. Isso significa que há uma tabela de
fatos (grande) que contém as figuras-chave do InfoCube e também várias tabelas
de dimensões (menores) que a cercam.

A figura da chave é um atributo operacional que indica uma medida numérica,


como quantidade, peso, quantidade e assim por diante.

Dimensão é um agrupamento de características relacionadas em um único termo


genérico. Por exemplo, a dimensão Cliente pode ser composta pelo Número do
Cliente, pelo Grupo de Clientes e pelos níveis da hierarquia do cliente.
Uma dimensão Vendas pode conter as características Vendedor, Grupo de Vendas e
Escritório de Vendas.

Uma dimensão Time pode ter as características Dia (no formato AAAA.MM.DD),
Semana (no formulário AAAAA.SS), Mês (no formato AAAA.MM), Ano (no formato
AAAA) e Período Fiscal (no formato AAAA. PPP).

As características referem-se a dados mestres com seus atributos e descrições de


texto e, em alguns casos, hierarquias. As características de um InfoCube são
armazenadas em dimensões.

Por exemplo, a dimensão Cliente pode ter as características Vendido para parceiro
comercial, Enviado para parceiro comercial e Pagador.

A característica Vendido para parceiro comercial poderia ter os atributos País,


Região, Cidade, Rua e Indústria. A descrição do texto da característica seria o nome
do Vendido para parceiro comercial.

Em termos de consulta MDX, os atributos de características também são


conhecidos como propriedades.

InfoObjects é o termo genérico para todas as características e figuras-chave. Todos


os InfoObjects são mantidos independentemente do InfoCube no SAP BW.
InfoObjects são as menores unidades de BI (Business Intelligence). Usando o
InfoObjects, as informações podem ser armazenadas e mapeadas em um
formulário estruturado. Isso é necessário para construir InfoProviders. InfoObjects
com atributos ou textos podem ser InfoProviders.

O Objeto DataStore (DSO) serve como um local de armazenamento para dados de


transação consolidados e limpos ou dados mestres em um nível de documento
(atômico). Ao contrário dos dados multidimensionais no InfoCubes, os dados em
objetos DataStore são armazenados em tabelas de banco de dados simples e
transparentes. O sistema não cria tabelas de fatos ou tabelas de dimensão
separadas para DSOs. Os dados em DSOs podem ser avaliados usando uma
consulta BEx.

MultiProviders são um tipo especial de InfoProvider que combina dados de vários


InfoProviders. Em seguida, eles ficam disponíveis para relatórios. Os MultiProviders
não contêm dados, seus dados são provenientes exclusivamente dos InfoProviders
nos quais se baseiam. Os MultiProviders podem ser baseados em qualquer
combinação de InfoProviders, incluindo InfoCubes, Objetos DataStore, InfoObjects
ou InfoSets.
Os InfoSets são um tipo especial de InfoProvider que não armazena dados
fisicamente. Os InfoSets descrevem dados baseados na junção das tabelas de
outros InfoProviders, como Objetos DataStore, InfoCubes padrão ou InfoObjects
com características de dados mestres. Os InfoSets podem ser úteis quando você
precisa criar um relatório que abrange dois ou mais destinos de dados diferentes
no SAP BW.

Provedores compostos são um novo objeto de dados em sistemas SAP BW que são
executados no HANA, ou seja, SAP BW 7.5 ou BW4/HANA. Um provedor composto
baseia-se em um JOIN ou UNION de outros InfoProviders ou índices analíticos. Os
dados em provedores compostos podem ser avaliados usando uma consulta BEx.

Confira também
Navegar pelos objetos de consulta
Navegar pelos objetos de consulta
Artigo • 23/03/2023

Depois de se conectar à instância do SAP BW, a caixa de diálogo Navegador mostrará


uma lista de catálogos disponíveis no servidor selecionado.

Você verá uma pasta de catálogo com o nome $INFOCUBE, que contém todos os
InfoProviders no sistema SAP BW.

As outras pastas de catálogo representam InfoProviders no SAP BW para os quais


existem pelo menos uma consulta.

A caixa de diálogo Navegador exibe uma árvore hierárquica de objetos de dados do


sistema SAP BW conectado. A tabela a seguir descreve os tipos de objetos disponíveis.

Símbolo Descrição

Seu servidor SAP BW


Símbolo Descrição

Catálogo: $INFOCUBE ou InfoProvider

InfoCube ou uma consulta BEx

Valor-chave

Característica

Nível de característica

Propriedade (Atributo)

Hierarquia
7 Observação

O navegador mostra consultas InfoCubes e BEx. Para consultas BEx, talvez seja
necessário entrar no Business Explorer, abrir a consulta desejada e verificar Permitir
acesso externo a esta consulta: por OLE DB para OLAP para que a consulta esteja
disponível no navegador.
7 Observação

No Power BI Desktop, objetos abaixo de um nó de InfoCube ou consulta BEx, como


figuras-chave, características e propriedades, são mostrados apenas no modo de
conectividade Importação, e não no modo DirectQuery. No modo DirectQuery,
todos os objetos disponíveis são mapeados para um modelo do Power BI e estarão
disponíveis para uso em qualquer visual.

No navegador, você pode selecionar diferentes opções de exibição para os objetos de


consulta disponíveis no SAP BW:

Somente itens selecionados: essa opção limita os objetos mostrados na lista


apenas aos itens selecionados. Por padrão, todos os objetos de consulta são
exibidos. Essa opção é útil para uma revisão dos objetos que você incluiu em sua
consulta. Uma abordagem alternativa para exibir os itens selecionados é selecionar
os nomes de coluna na área de visualização.

Habilitar visualizações de dados: é o valor padrão. Essa opção permite controlar


se uma visualização dos dados deve ser exibida no lado direito na caixa de diálogo
Navegador. Desabilitar visualizações de dados reduz a quantidade de tempo de
interação e resposta do servidor. No Power BI Desktop, a visualização de dados só
está disponível no modo de conectividade Importação.

Nomes técnicos: o SAP BW é compatível com a noção de nomes técnicos para


objetos de consulta, ao contrário dos nomes descritivos mostrados por padrão.
Nomes técnicos identificam exclusivamente um objeto dentro do SAP BW. Com a
opção selecionada, os nomes técnicos aparecerão ao lado do nome descritivo do
objeto.

Hierarquias de características
Uma característica sempre terá pelo menos um nível de característica (Nível 01), mesmo
quando nenhuma hierarquia é definida na característica. O objeto Nível de
característica 01 contém todos os membros para a característica como uma lista simples
de valores.

As características no SAP BW podem ter mais de uma hierarquia definida. Para essas
características, você só pode selecionar uma hierarquia ou o objeto Nível 01.

Para características com hierarquias, as propriedades selecionadas para essa


característica serão incluídas em cada nível selecionado da hierarquia.
Propriedades de medida
Ao escolher uma medida, você tem a opção de selecionar as unidades/moeda, o valor
formatado e a cadeia de caracteres de formato. Na captura de tela abaixo, é útil obter o
valor formatado para COGS. Isso nos ajuda a seguir o mesmo padrão de formatação em
todos os relatórios.

7 Observação

As propriedades de medida não estão disponíveis no Power BI Desktop no modo


DirectQuery.

Nivelamento de dados multidimensionais


Com base nos objetos e propriedades selecionados no navegador, o Power Query cria
uma instrução MDX enviada para execução no SAP BW. A instrução MDX retorna um
conjunto de dados nivelado que pode ser manipulado ainda mais usando o Editor do
Power Query.

O Power Query usa uma interface mais recente que está disponível no SAP BW versão
7.01 ou superior. A interface reduz o consumo de memória e o conjunto de resultados
não é restrito pelo número de células.

O conjunto de dados nivelado é agregado no SAP BW no nível das características e


propriedades selecionadas.

Mesmo com essas melhorias, o conjunto de dados resultante pode se tornar muito
grande e demorado para processar.

Recomendação de desempenho
Inclua apenas as características e as propriedades de que você precisa. Tente níveis mais
altos de agregação, ou seja, você precisa de detalhes de nível material em seu relatório
ou o nível do MaterialGroup é suficiente? Quais níveis de hierarquia são necessários no
Power BI? Tente criar conjuntos de dados menores, com níveis mais altos de agregação
ou vários conjuntos de dados menores, que podem ser unidos posteriormente.

Parâmetros de consulta
As consultas no SAP BW podem ter filtros dinâmicos definidos que permitem restringir
o conjunto de dados retornado pela consulta. No Designer de Consultas BEx, esse tipo
de filtro dinâmico pode ser definido com Restrição de característica e pela atribuição de
uma Variável a essa restrição. Variáveis em uma consulta podem ser obrigatórias ou
opcionais e estão disponíveis para o usuário no navegador.

Ao selecionar uma consulta SAP BW com restrições de característica no navegador do


Power Query, você verá as variáveis exibidas como parâmetros acima da área de
visualização de dados.

Usando o seletor Mostrar, você pode exibir todos os parâmetros definidos na consulta
ou apenas os obrigatórios.
A consulta mostrada na imagem anterior tem vários parâmetros opcionais, incluindo um
do Grupo de Materiais. Você pode selecionar um ou mais grupos de materiais para
retornar apenas informações de compra para os valores selecionados, ou seja,
gabinetes, placas-mãe e processadores. Também é possível digitar os valores
diretamente no campo "Valores". Para variáveis com várias entradas, valores separados
por vírgula são esperados; neste exemplo, seria algo semelhante a [0D_MTLGROUP].[201],
[0D_MTLGROUP].[202], [0D_MTLGROUP].[208] .

O valor # significa não atribuído; no exemplo, qualquer registro de dados sem um valor
de grupo de material atribuído.

Recomendação de desempenho

Os filtros com base em valores de parâmetro são processados na fonte de dados do


SAP BW, e não no Power BI. Esse tipo de processamento pode ter vantagens de
desempenho para conjuntos de dados maiores ao carregar ou atualizar dados do SAP
BW no Power BI. O tempo necessário para carregar dados do SAP BW no Power BI
aumenta com o tamanho do conjunto de dados, ou seja, o número de colunas e linhas
no conjunto de resultados nivelado. Para reduzir o número de colunas, selecione apenas
as principais chaves, características e propriedades no navegador que você
provavelmente vai querer ver.
Da mesma forma, para reduzir o número de linhas, use os parâmetros disponíveis na
consulta para restringir o conjunto de dados ou para dividir um conjunto de dados
maior em vários menores que podem ser unidos no modelo de dados do Power BI
Desktop.

Em muitos casos, também pode ser possível trabalhar com o autor da Consulta BEx no
SAP BW para clonar e modificar uma consulta existente e otimizá-la para desempenho
adicionando restrições de características adicionais ou removendo características
desnecessárias.

Carregar dados do SAP no Power Query


Depois de selecionar o conjunto de dados do SAP desejado no navegador, importe os
dados para o Editor do Power Query. Selecione Transformar dados para iniciar o Editor
do Power Query e executar etapas adicionais de transformação e filtragem de dados.

No exemplo acima, um parâmetro foi usado para mostrar apenas registros com um
grupo de materiais de gabinetes, placas-mãe e processadores.

No Power Query Desktop, você também pode selecionar Carregar para trazer todo o
conjunto de dados do SAP BW para o Power BI Desktop. O Power BI Desktop leva você
para a visualização Relatório, que permite ver os dados ou fazer mais alterações com as
visualizações Dados ou Relacionamentos.

Confira também
Transformar e filtrar um conjunto de dados do SAP BW
Transformar e filtrar um conjunto de
dados do SAP BW
Artigo • 23/03/2023

Com o Editor do Power Query, você pode aplicar transformações de dados adicionais e
etapas de filtragem antes de trazer o conjunto de dados do SAP BW para o modelo de
dados do Power BI Desktop ou do Microsoft Power Platform.

No Editor do Power Query, as Etapas Aplicadas da consulta são mostradas no painel


Configurações da Consulta à direita. Para modificar ou revisar uma etapa, selecione o
ícone de engrenagem ao lado de uma etapa.

Por exemplo, se você selecionar o ícone de engrenagem ao lado de Itens Adicionados,


poderá examinar os objetos de dados selecionados no SAP BW ou modificar os
parâmetros de consulta especificados. Dessa forma, é possível filtrar um conjunto de
dados usando uma característica que não esteja incluída no conjunto de resultados.

Você pode aplicar filtros adicionais no conjunto de dados selecionando o menu


suspenso de uma das colunas.
Outra maneira fácil de definir um filtro é clicar com o botão direito do mouse em um
dos valores na tabela e, em seguida, selecionar Filtros de Membro ou Filtros de Texto.

Por exemplo, você poderia filtrar o conjunto de dados para incluir apenas registros para
Ano Civil/Mês FEV 2003 ou aplicar um filtro de texto para incluir apenas registros em
que Ano Civil/Mês contém 2003.

Nem todos os filtros serão dobrados na consulta no SAP BW. Você pode determinar se
um filtro é dobrado na consulta examinando o ícone no canto superior esquerdo da
tabela de dados, diretamente acima do número 1 do primeiro registro de dados.

Se o ícone for um cubo, o filtro será aplicado na consulta no sistema do SAP BW.
Se o ícone for uma tabela, o filtro não fará parte da consulta e só será aplicado à tabela.

Nos bastidores da interface do usuário do Editor do Power Query, o código é gerado


com base na linguagem de fórmula M para consultas de mashup de dados.

Você pode exibir o código M gerado com a opção Editor Avançado na guia Exibir.
Para ver uma descrição de cada função ou para testá-la, clique com o botão direito do
mouse na consulta do SAP BW existente no painel Consultas e selecione Criar Função.
Na barra de fórmulas, na parte superior, digite:

= <function name>

em que <function name> é o nome da função que você deseja ver descrita. O exemplo
a seguir mostra a descrição da função Cube.Transform .

Os seguintes exemplos mostram algumas descrições de várias funções de cubo:


Cube.Transform : aplica a lista de funções ou transformações no cubo.

Cube.ApplyParameter : aplica os valores especificados para um parâmetro.


Cube.DisplayFolders : retorna uma árvore de objetos aninhada que representa a

hierarquia da pasta de exibição do cubo.


Cube.Parameters : retorna uma tabela com o conjunto de parâmetros que pode ser

aplicado ao cubo.
Cube.Dimensions : retorna uma tabela com o conjunto de dimensões para o cubo.
Cube.Measures : retorna uma tabela com o conjunto de medidas para o cubo.

Confira também
Referência da linguagem de fórmula do Power Query M
Detalhes de implementação
Detalhes de implementação
Artigo • 05/10/2023

Este artigo descreve informações de conversão e recursos específicos disponíveis na


Implementação 2 do conector do SAP Business Warehouse do Power Query.

) Importante

A versão 1.0 do conector do SAP Business Warehouse foi desativada. Novas


conexões usarão a Implementação 2.0 do conector do SAP Business Warehouse.
Todo o suporte para a versão 1.0 será removido do Connector em um futuro
próximo. Use as informações neste artigo para atualizar os relatórios existentes da
versão 1.0 para que eles possam usar a Implementação 2.0 desse conector.

Novas opções para a Implementação 2.0


A Implementação 2.0 oferece suporte às seguintes opções:

ExecutionMode especifica a interface MDX usada para executar consultas no


servidor. As seguintes opções são válidas:

SapBusinessWarehouseExecutionMode.BasXml

SapBusinessWarehouseExecutionMode.BasXmlGzip

SapBusinessWarehouseExecutionMode.DataStream

O valor padrão é SapBusinessWarehouseExecutionMode.BasXmlGzip .

O uso de SapBusinessWarehouseExecutionMode.BasXmlGzip pode melhorar o


desempenho ao experimentar alta latência para grandes conjuntos de dados.

BatchSize especifica o número máximo de linhas a serem recuperadas por vez ao


executar uma instrução MDX. Um número pequeno se traduz em mais chamadas
para o servidor ao recuperar um grande conjunto de dados. Um grande número
de linhas pode melhorar o desempenho, mas pode causar problemas de memória
no servidor SAP BW. O valor padrão é 50000 linhas.

EnableStructures indica se as estruturas características são reconhecidas. O valor


padrão dessa opção é false. Afeta a lista de objetos disponíveis para seleção. Não
há suporte no modo de consulta nativa.
A opção ScaleMeasures foi desativada nesta implementação. O comportamento agora é
o mesmo que definir ScaleMeasures como false, sempre mostrando valores não
dimensionados.

Melhorias adicionais para a Implementação 2.0


A lista a seguir descreve alguns aprimoramentos adicionais que vêm com a nova
implementação:

Desempenho de aprimorado.
Capacidade de recuperar milhões de linhas de dados e fazer um ajuste fino por
meio do parâmetro de tamanho do lote.
Capacidade de alternar os modos de execução.
Suporte para modo compactado. Especialmente benéfico para conexões de alta
latência ou grandes conjuntos de dados.
Melhoria na detecção de variáveis Date .
Exposição das dimensões Date (tipo DATS do ABAP) e Time (tipo TIMS do ABAP),
como datas e horas, respectivamente, em vez de valores de texto. Mais
informações: Suporte para datas tipada no SAP BW
Melhoria no tratamento de exceção. Os erros que ocorrem em chamadas BAPI
agora são apresentados.
Dobramento de colunas nos modos BasXml e BasXmlGzip. Por exemplo, se a
consulta MDX gerada recuperar 40 colunas, mas a seleção atual precisar apenas de
10, essa solicitação será transmitida para o servidor para recuperar um conjunto de
dados menor.

Alterando relatórios existentes para usar a


Implementação 2.0
Alterar relatórios existentes para usar a Implementação 2.0 só é possível no modo de
importação. Siga as etapas a seguir:

1. Abra um relatório existente, selecione Editar Consultas na faixa de opções e


selecione a consulta do SAP Business Warehouse a ser atualizada.

2. Clique com o botão direito do mouse na consulta e selecione Editor Avançado.

3. No Editor Avançado, altere a chamada SapBusinessWarehouse.Cubes da seguinte


maneira:
Determine se a consulta já contém um registro de opção, como o exemplo a
seguir.

Se for o caso, adicione a opção Implementation 2.0 e remova a opção


ScaleMeasures , se presente, conforme mostrado abaixo.

Se a consulta ainda não incluir um registro de opções, basta adicioná-lo. Para a


seguinte opção:

Basta alterar para:

Todos os esforços necessários foram feitos para tornar a Implementação 2.0 do conector
do SAP BW compatível com a versão 1. No entanto, pode haver algumas diferenças
devido aos diferentes modos de execução do SAP BW MDX que estão sendo usados.
Para resolver conflitos, tente alternar entre os modos de execução.

Suporte para datas tipadas no SAP BW


A implementação 2.0 do conector do SAP BW inclui suporte para datas e horários
tipados. Se você consultar um relatório que tenha dimensões com tipos DATS ou TIMS
do ABAP, eles agora poderão ser gerados como datas em vez de texto.

As limitações para usar essa funcionalidade são:

Disponível somente na Implementação 2.0 do conector do SAP BW.


Disponível apenas no Modo de importação.
A conta usada para se conectar ao servidor do SAP BW deve ter permissões
suficientes para chamar BAPI_IOBJ_GETDETAIL.

let
Source = SapBusinessWarehouse.Cubes("sapbwtestserver", "00", "837",
[ExecutionMode=SapBusinessWarehouseExecutionMode.BasXmlGzip,
Implementation="2.0"]),
#"$INFOCUBE" = Source{[Name="$INFOCUBE"]}[Data],
#"$0D_DECU" = #"$INFOCUBE"{[Id="$0D_DECU"]}[Data],
#"Added Items" = Cube.Transform(#"$0D_DECU",
{
{Cube.AddAndExpandDimensionColumn, "[0CALDAY]", {"[0CALDAY].
[LEVEL01]"}, {"Calendar day.Calendar day Level 01"}},
{Table.AddColumn, "Calendar day.Calendar day Level 01.Key", each
Cube.AttributeMemberProperty([Calendar day.Calendar day Level 01], "
[20CALDAY]")},
{Cube.AddMeasureColumn, "Billed Quantity", "[Measures].[0D_INV_QTY]"}
})
in
#"Added Items"

Você precisará adicionar a chave para acessar a data tipada. Por exemplo, se houver um
atributo de dimensão chamado [0CALDAY], você precisará adicionar a chave [20CALDAY]
para obter o valor tipado.

No exemplo acima, isso significa que:

Calendar day.Calendar day Level 01 [0CALDAY] será texto (uma legenda).


(Adicionado por padrão quando a dimensão for adicionada).
Calendar day.Calendar day Level 01.Key [20CALDAY] será uma data (deverá ser
selecionada manualmente).

Para adicionar manualmente a chave no Modo de importação, basta expandir


Propriedades e selecionar a chave.
A coluna de chave será do tipo data e poderá ser usada para filtragem. A filtragem nesta
coluna será dobrada para o servidor.

Suporte para recursos do SAP BW


A tabela a seguir lista todos os recursos do SAP BW que não têm suporte total ou que
têm comportamento diferente ao usar o conector do SAP BW para o Power Query.

Recurso Descrição

Cálculos locais Os cálculos locais definidos em uma consulta BEX alterarão os


números exibidos por meio de ferramentas como o Bex
Analyzer. No entanto, eles não são refletidos nos números
retornados pelo SAP por meio da interface pública do MDX.

Dessa forma, os números vistos no Power Query não


corresponderão necessariamente aos números de um visual
correspondente em uma ferramenta do SAP.

Por exemplo, ao se conectar a um cubo de consulta de uma


consulta do BEx que define a agregação como Acumulada (por
exemplo, a soma parcial), o Power Query receberia os números
base, ignorando essa configuração. Um analista poderia, então,
aplicar um cálculo de soma parcial localmente no Power BI, por
Recurso Descrição

exemplo, mas precisaria ter cuidado com a forma como os


números seriam interpretados se isso não fosse feito.

Agregações Em alguns casos (especialmente ao lidar com várias moedas),


os números agregados retornados pela interface pública do
SAP não correspondem àqueles mostrados por ferramentas do
SAP.

Dessa forma, os números vistos no Power Query não


corresponderão necessariamente aos números de um visual
correspondente em uma ferramenta do SAP.

Por exemplo, valores totais relativos a moedas diferentes


seriam mostrados como "*" no Bex Analyzer, mas o total seria
retornado pela interface pública do SAP, sem nenhuma
informação de que esse número agregado não tem
significado. Assim, o número (agregando, digamos, US$, EUR e
AUD) seria exibido pelo Power Query.

Formatação de moeda As formatações de moeda (por exemplo, US$ 2.300 ou AUD


4.000) não serão refletida no Power Query.

Unidades de medida Unidades de medida (por exemplo, 230 KG) não são refletidas
no Power Query.

Chave versus texto (curto, Para uma característica do SAP BW como o CostCenter, o
médio, longo) navegador mostrará um único item Centro de Custo Nível 01.
A seleção deste item incluirá o texto padrão do Centro de
Custos na lista de campos. Além disso, os valores Chave, Nome
Curto, Nome Médio e Nome Longo estão disponíveis para
seleção no nó Propriedades para a característica (se mantido
no SAP BW).

Observe que isso só se aplica ao modo de conectividade de


Importação. Para o modo DirectQuery, somente o texto padrão
será incluído no conjunto de dados.

Atributos Os atributos de uma característica estarão disponíveis para


seleção nas Propriedades da característica. Isso só se aplica ao
modo de conectividade de Importação. No modo DirectQuery,
os atributos não estarão disponíveis.

Várias hierarquias de uma No SAP, uma característica pode ter várias hierarquias. Em
característica ferramentas como o BEx Analyzer, quando uma característica é
incluída em uma consulta, o usuário pode selecionar a
hierarquia a ser usada.

No Power BI, as diversas hierarquias podem ser vistas na lista


de campos como hierarquias diferentes na mesma dimensão.
Recurso Descrição

No entanto, a seleção de vários níveis de duas hierarquias


diferentes na mesma dimensão resultará em dados vazios
sendo retornados pelo SAP.

Tratamento de hierarquias O SAP BW dá suporte a hierarquias irregulares, em que níveis


desbalanceadas podem estar ausentes, por exemplo:

Continente
Américas
Canadá
EUA
Not Assigned
Austrália

No Power BI, isso aparece com (em branco) no nível ausente:

Continente
Américas
Canadá
EUA
Not Assigned
(Em branco)
Austrália

Fator de escala/inverter sinal No SAP, um valor-chave pode ter um fator de escala (por
exemplo, 1.000) definido como uma opção de formatação, o
que significa que toda a exibição será dimensionada segundo
esse fator.

Da mesma forma, ele pode ter uma propriedade definida que


inverte o sinal. O uso de tal valor-chave no Power BI (em um
visual ou como parte de um cálculo) fará com que o número
sem a escala seja usado (e com que o sinal não seja invertido).
O fator de escala subjacente não está disponível. Em visuais do
Power BI, as unidades de escala mostradas no eixo (K, M, B)
podem ser controladas como parte da formatação do visual.

Hierarquias em que os níveis Inicialmente, ao conectar-se ao SAP BW, as informações sobre


apareceram/desaparecerem os níveis de uma hierarquia serão recuperadas, resultando em
dinamicamente um conjunto de campos na lista de campos. Isso é armazenado
em cache e, se o conjunto de níveis for alterado, o conjunto de
campos não será alterado até que Atualizar seja invocado.

Isso só é possível no Power BI Desktop. Essa Atualização para


refletir as alterações nos níveis, não pode ser invocada no
serviço do Power BI após a publicação.
Recurso Descrição

Filtro padrão Uma consulta BEX pode incluir filtros padrão, que serão
aplicados automaticamente pelo SAP Bex Analyzer. Eles não
são expostos e, portanto, o uso equivalente no Power Query
não aplicará os mesmo filtros por padrão.

Valores-chave ocultos Uma consulta do BEX pode controlar a visibilidade dos


Valores-chave e aqueles que estiverem ocultos não aparecerão
no SAP BEx Analyzer. Isso não é refletido pela API pública e,
portanto, esses valores-chave ocultos ainda aparecerão na lista
de campos. No entanto, depois eles podem ser ocultados no
Power Query.

Formatação numérica Qualquer formatação numérica (número de casas decimais,


ponto decimal e assim por diante) não será refletida
automaticamente no Power Query. No entanto, é possível
controlar essa formatação posteriormente no Power Query.

Controle de versão de O SAP BW permite que diferentes versões de uma hierarquia


hierarquia sejam mantidas, por exemplo, a hierarquia de centro de custo
de 2007 versus a de 2008. Somente a versão mais recente
estará disponível no Power Query, uma vez que as informações
sobre versões não são expostas pela API pública.

Hierarquias dependentes de Ao usar o Power Query, as hierarquias dependentes de tempo


tempo são avaliadas na data atual.

Conversão de moeda O SAP BW dá suporte à conversão de moeda com base em


taxas mantidas no cubo. Tais funcionalidades não são expostas
pela API pública e, portanto, não estão disponíveis no Power
Query.

Ordem de classificação A ordem de classificação (por Texto ou por Chave) para uma
característica pode ser definida no SAP. Essa ordem de
classificação não se reflete no Power Query. Por exemplo, os
meses podem aparecer como "Abril", "Agosto" e assim por
diante.

Não é possível alterar essa ordem de classificação no Power


Query.

Nomes técnicos No navegador, os nomes (descrições) de característica/medida


e os nomes técnicos podem ser exibidos usando o seletor de
Opções de Exibição. A lista de campos contém os nomes
(descrições) das características/medidas.

Configuração de idioma do A localidade usada para se conectar ao SAP BW é definida


usuário final como parte dos detalhes da conexão e não reflete a localidade
do consumidor do relatório final.
Recurso Descrição

Variáveis de texto O SAP BW permite que nomes de campos contenham


placeholders para variáveis (por exemplo, "Dados reais de
$YEAR$") que seriam substituídas pelo valor selecionado. Por
exemplo, o campo aparecerá como "Dados reais de 2016" em
ferramentas BEx se o ano 2016 tiver sido selecionado para a
variável.

O nome da coluna no Power Query não será alterado


dependendo do valor de variável e, portanto, será exibido
como "Dados reais de $YEAR$". No entanto, o nome da coluna
pode ser alterado no Power Query posteriormente.

Variáveis de saída do cliente Variáveis de Saída do Cliente não são expostas pela API pública
e, portanto, não têm suporte no Power Query.

Considerações sobre desempenho


A tabela a seguir fornece uma lista resumida de sugestões para melhorar o desempenho
do carregamento de dados e atualização do SAP BW.

Sugestão Descrição

Limitar seleção de O tempo necessário para carregar dados do SAP BW no Power Query
características e aumenta com o tamanho do conjunto de dados, ou seja, o número de
propriedades (atributo) colunas e linhas no conjunto de resultados nivelado. Para reduzir o
número de colunas, selecione apenas as características e as
propriedades no navegador que você provavelmente vai querer ver
em seu relatório ou painel.

Fazer uso de parâmetros O uso de filtros/parâmetros contribui para reduzir o tamanho do


conjunto de resultados, o que melhora significativamente os runtimes
de consulta.

Os parâmetros são especialmente valiosos quando usados com


dimensões grandes, em que há muitos membros, como clientes,
materiais ou números de documentos.

Limitar número de A seleção de muitos valores-chave de um modelo de consulta BEx/BW


valores-chave pode ter um impacto significativo no desempenho durante a execução
da consulta devido ao tempo gasto no carregamento de metadados
para unidades. Inclua apenas os valores-chave necessários no Power
Query.

Dividir consultas muito Pode ser benéfico dividir consultas muito grandes em InfoCubes ou
grandes em várias BEx. Por exemplo, uma consulta pode estar obtendo os valores-chave,
Sugestão Descrição

consultas menores enquanto outra consulta (ou várias outras consultas), obtendo os
dados de características. Você pode juntar os resultados da consulta
individual no Power Query.

Evitar provedores VirtualProviders são semelhantes a estruturas sem armazenamento


virtuais (MultiProviders persistente. Eles são úteis em muitos cenários, mas podem gerar
ou InfoSets) desempenho de consulta mais lento porque representam uma camada
adicional aos dados reais.

Evitar o uso de atributos Uma consulta com um atributo de navegação precisa executar uma
de navegação na junção adicional, em comparação com uma consulta com o mesmo
consulta do BEx objeto como característica para chegar aos valores.

Usar o RSRT para Seu Administrador do SAP pode usar o Monitor de Consultas no SAP
monitorar e solucionar BW (transação RSRT) para analisar problemas de desempenho com
problemas de consultas consultas do SAP BW. Examine a Nota do SAP 1591837 para obter
com execução lenta mais informações.

Evitar valores-chave Ambos são calculados durante a execução da consulta e podem


restritos e valores-chave diminuir o desempenho da consulta.
calculados

Considere usar a O Power BI atualiza o todo o conjunto de dados a cada atualização. Se


atualização incremental você estiver trabalhando com um grande volume de dados, a
para melhorar o atualização de todo o conjunto de dados em cada atualização poderá
desempenho não ser o ideal. Nesse cenário, você pode usar a atualização
incremental, atualizando assim apenas um subconjunto dos dados.
Para obter mais detalhes, acesse Atualização incremental no Power BI.

Comparação com Analysis for Office (AFO)


Há diferenças fundamentais entre a ferramenta Analysis for Office (AFO) e o conector
SAP Business Warehouse do Power Query, portanto, as saídas dos dados podem ser
diferentes. O AFO não usa MDX, mas usa um protocolo proprietário desenvolvido pela
SAP que não está disponível para terceiros, como o conector SAP Business Warehouse
do Power Query. A SAP certifica apenas conectores que usam a interface MDX. O AFO
usa uma estratégia de consulta multidimensional, que navega pelos dados de forma
diferente, enquanto o conector SAP Business Warehouse do Power Query precisa nivelar
os dados para que possam ser representados como uma tabela. Portanto, mesmo que
sejam os mesmos dados, eles são consultados, representados e, em última análise,
gerados de forma diferente.

Confira também
Servidor de Aplicativos SAP Business Warehouse
Servidor de Mensagens SAP Business Warehouse
Importar vs. DirectQuery para SAP BW
Importar vs. DirectQuery para SAP BW
Artigo • 23/03/2023

7 Observação

Este artigo discute as diferenças entre os modos Import e DirectQuery no Power BI


Desktop. Para obter uma descrição do uso do modo De importação no Power
Query Desktop ou Power Query Online, acesse as seguintes seções:

Conector do Sap BW Application Server:

Conectar-se a um servidor de aplicativos SAP BW do Power Query Desktop


Conectar-se a um servidor de aplicativos SAP BW do Power Query Online

Conector SAP BW Message Server:

Conectar-se a um Servidor de Mensagens SAP BW no Power Query Desktop


Conectar-se a um Servidor de Mensagens SAP BW no Power Query Online

Com o Power Query, você pode se conectar a uma ampla variedade de fontes de dados,
incluindo serviços online, bancos de dados, formatos de arquivo diferentes e outros. Se
você estiver usando o Power BI Desktop, poderá se conectar a essas fontes de dados de
duas maneiras diferentes: importar os dados para o Power BI ou se conectar
diretamente aos dados no repositório de origem, que é conhecido como DirectQuery.
Ao se conectar a um sistema SAP BW, você também pode escolher entre esses dois
modos de conectividade. Para obter uma lista completa de fontes de dados que dão
suporte ao DirectQuery, consulte as fontes de dados do Power BI.

As principais diferenças entre os dois modos de conectividade são descritas aqui, bem
como diretrizes e limitações, pois se relacionam com conexões SAP BW. Para obter
informações adicionais sobre o modo DirectQuery, acesse Usar o DirectQuery no Power
BI.

Importar Conexões
Quando você se conecta a uma fonte de dados com Power BI Desktop, o navegador
permitirá que você selecione um conjunto de tabelas (para fontes relacionais) ou um
conjunto de objetos de origem (para fontes multidimensionais).
Para conexões SAP BW, você pode selecionar os objetos que deseja incluir em sua
consulta na árvore exibida. Você pode selecionar uma consulta InfoProvider ou BEx para
um InfoProvider, expandir suas figuras-chave e dimensões e selecionar figuras-chave
específicas, características, atributos (propriedades) ou hierarquias a serem incluídas em
sua consulta.

A seleção define uma consulta que retornará um conjunto de dados nivelado que
consiste em colunas e linhas. Os níveis de características selecionados, as propriedades e
as figuras-chave serão representados no conjunto de dados como colunas. As figuras-
chave são agregadas de acordo com as características selecionadas e seus níveis. Uma
visualização dos dados é exibida no navegador. Você pode editar essas consultas no
Power Query antes de carregar os dados, por exemplo, para aplicar filtros ou agregar os
dados ou unir tabelas diferentes.

Quando os dados definidos pelas consultas forem carregados, eles serão importados
para o cache na memória do Power BI.

Quando você começar a criar seus visuais no Power BI Desktop, os dados importados no
cache serão consultados. A consulta de dados armazenados em cache é muito rápida e
as alterações nos visuais serão refletidas imediatamente.

No entanto, o usuário deve tomar cuidado ao criar visuais que agregam ainda mais os
dados ao lidar com medidas não aditivas. Por exemplo, se a consulta importou cada
Escritório de Vendas e a % de crescimento para cada um, se o usuário tiver criado um
visual que Somará os valores de % de crescimento em todos os Escritórios de Vendas,
essa agregação será executada localmente, nos dados armazenados em cache. O
resultado não seria o mesmo que solicitar a % de crescimento geral do SAP BW e
provavelmente não é o que se pretende. Para evitar essas agregações acidentais, é útil
definir o Resumo Padrão para essas colunas como Não resumir.

Se os dados na fonte subjacente forem alterados, eles não serão refletidos em seus
visuais. Será necessário fazer uma Atualização, que reimportará os dados da fonte
subjacente para o cache do Power BI.

Quando você publica um relatório (arquivo .pbix) no serviço do Power BI, um conjunto
de dados é criado e carregado no servidor do Power BI. Os dados importados no cache
são incluídos nesse conjunto de dados. Enquanto você trabalha com um relatório no
serviço do Power BI, os dados carregados são consultados, fornecendo um tempo de
resposta rápido e interatividade. Você pode configurar uma atualização agendada do
conjunto de dados ou importar novamente os dados manualmente. Para fontes de
dados locais do SAP BW, é necessário configurar um gateway de dados local.
Informações sobre como instalar e configurar o gateway de dados local podem ser
encontradas na seguinte documentação:
Documentação do gateway de dados local
Gerenciar a fonte de dados do gateway no Power BI
Gerenciamento de fonte de dados no Power Platform

Conexões do DirectQuery
A experiência de navegação é um pouco diferente ao se conectar a uma fonte do SAP
BW no modo DirectQuery. O navegador ainda exibirá uma lista de consultas
InfoProviders e BEx disponíveis no SAP BW, no entanto, nenhuma consulta do Power BI
está definida no processo. Você selecionará o objeto de origem em si, ou seja, a
consulta InfoProvider ou BEx e verá a lista de campos com as características e as figuras-
chave depois de se conectar.

Para consultas SAP BW com variáveis, você pode inserir ou selecionar valores como
parâmetros da consulta. Selecione o botão Aplicar para incluir os parâmetros
especificados na consulta.

Em vez de uma visualização de dados, os metadados da Consulta InfoCube ou BEx


selecionada são exibidos. Depois de selecionar o botão Carregar no Navegador,
nenhum dado será importado.
Você pode fazer alterações nos valores das variáveis de consulta SAP BW com a opção
Editar Consultas na faixa de opções Power BI Desktop.

À medida que você começa a criar seus visuais em Power BI Desktop, a fonte de dados
subjacente no SAP BW é consultada para recuperar os dados necessários. O tempo
necessário para atualizar um visual depende do desempenho do sistema SAP BW
subjacente.

Quaisquer alterações nos dados subjacentes não serão refletidas imediatamente em


seus visuais. Ainda será necessário fazer uma Atualização, que executará novamente as
consultas para cada visual na fonte de dados subjacente.

Quando você publica um relatório no serviço do Power BI, ele resultará novamente na
criação de um conjunto de dados no serviço do Power BI, assim como para uma
conexão de importação. No entanto, nenhum dado está incluído nesse conjunto de
dados.

Enquanto você trabalha com um relatório no serviço do Power BI, a fonte de dados
subjacente é consultada novamente para recuperar os dados necessários. Para conexões
do DirectQuery com seus sistemas SAP BW e SAP HANA, você deve ter um gateway de
dados local instalado e a fonte de dados registrada com o gateway.

Para consultas SAP BW com variáveis, os usuários finais podem editar parâmetros da
consulta.

7 Observação
Para que o usuário final edite parâmetros, o conjunto de dados precisa ser
publicado em um espaço de trabalho premium, no modo DirectQuery, e o SSO
(logon único) precisa ser habilitado.

Recomendações gerais
Você deve importar dados para o Power BI sempre que possível. A importação aproveita
o mecanismo de consulta de alto desempenho do Power BI e proporciona uma
experiência completa e altamente interativa com os dados.

No entanto, o DirectQuery fornece as seguintes vantagens ao se conectar ao SAP BW:

Fornece a capacidade de acessar dados SAP BW usando SSO, para garantir que a
segurança definida na fonte do SAP BW subjacente seja sempre aplicada. Ao
acessar o SAP BW usando o SSO, as permissões de acesso a dados do usuário no
SAP serão aplicadas, o que pode produzir resultados diferentes para usuários
diferentes. Os dados que um usuário não está autorizado a exibir serão cortados
pelo SAP BW.

Garante que os dados mais recentes possam ser vistos facilmente, mesmo que
estejam sendo alterados com frequência na fonte do SAP BW subjacente.

Garante que medidas complexas possam ser facilmente tratadas, em que o SAP
BW de origem sempre é consultado para os dados agregados, sem risco de
agregações não intencionais e enganosas sobre caches importados dos dados.

Evita caches de dados que estão sendo extraídos e publicados, o que pode violar
políticas de segurança ou soberania de dados que se aplicam.

O uso do DirectQuery geralmente só é viável quando a fonte de dados subjacente pode


fornecer consultas interativas para a consulta agregada típica em segundos e é capaz de
lidar com a carga de consulta que será gerada. Além disso, a lista de limitações que
acompanham o uso do DirectQuery deverá ser considerada para garantir que suas
metas ainda possam ser atendidas.

Se você estiver trabalhando com conjuntos de dados muito grandes ou encontrar


tempo de resposta de consulta SAP BW lento no modo DirectQuery, o Power BI
fornecerá opções no relatório para enviar menos consultas, o que facilita a interação
com o relatório. Para acessar essas opções no Power BI Desktop, acesse
Arquivo>Opções e configurações>Opções e selecione Redução de consulta.
Você pode desabilitar o realce cruzado em todo o relatório, o que reduz o número de
consultas enviadas ao SAP BW. Adicione também um botão Aplicar para seleções de
filtro ou segmentações. Você pode fazer quantas seleções de segmentação e filtro
desejar, mas nenhuma consulta será enviada ao SAP BW até selecionar o botão Aplicar.
Suas seleções serão usadas para filtrar todos os seus dados.

Essas mudanças serão aplicadas ao relatório enquanto você interage com ele no Power
BI Desktop, além de quando os usuários consomem o relatório no serviço do Power BI.

No serviço do Power BI, o cache de consultas para conexões DirectQuery é atualizado


periodicamente consultando a fonte de dados. Por padrão, essa atualização ocorre a
cada hora, mas pode ser configurada para um intervalo diferente nas configurações do
conjunto de dados. Para obter mais informações, acesse Atualização de dados no Power
BI.

Além disso, muitas das práticas recomendadas gerais descritas em Usar o DirectQuery
no Power BI se aplicam igualmente ao usar o DirectQuery no SAP BW. Detalhes
adicionais específicos do SAP BW são descritos no Conectar-se ao SAP Business
Warehouse usando o DirectQuery no Power BI.

Confira também
Autenticação do Windows e logon único
Autenticação do Windows e logon único
Artigo • 23/03/2023

7 Observação

As informações a seguir sobre autenticação do Windows e logon único se aplicam


somente ao Power Query Desktop. Para obter mais informações sobre como usar
autenticação do Windows e o logon único no Power Query Desktop, acesse Visão
geral do SSO (logon único) para gateways no Power BI.

Para a autenticação baseada no Windows e a funcionalidade de logon único, o servidor


do SAP BW deve ser configurado para entrar usando o SNC (Secure Network
Communications). O SNC é um mecanismo fornecido pelo sistema SAP que permite a
segurança no nível do aplicativo em dados trocados entre um cliente, como o Power BI
Desktop, e o servidor do SAP BW. O SNC funciona com diferentes produtos de
segurança externa e oferece recursos que o sistema SAP não fornece diretamente,
incluindo logon único.

Além do servidor do SAP BW ser configurado para entrar com o SNC, sua conta de
usuário SAP precisa ser configurada com um nome SNC (transação SU01 no sistema
SAP).

Para obter informações mais detalhadas, acesse Secure Network Communication eo


capítulo Configuração de Logon único neste documento.

O Secure Login é uma solução de software da SAP que permite que os clientes se
beneficiem das vantagens do SNC sem precisar configurar uma PKI (infraestrutura de
chave pública). O Secure Login permite que os usuários se autentiquem com credenciais
do Windows Active Directory.

O Secure Login requer a instalação do Cliente do Secure Login em seu computador do


Power BI Desktop. O pacote de instalação é chamado SAPSetupSCL.EXE e pode ser
obtido no SAP Service Marketplace (requer credenciais de cliente do SAP).

Para obter mais informações, acesse Secure Login .

1. Na caixa de diálogo do Servidor do SAP Business Warehouse, selecione a guia


Windows.

2. Selecione para usar suas credenciais atuais do Windows ou especificar credenciais


alternativas do Windows.
3. Insira o Nome do Parceiro do SNC. Esse nome é o nome SNC configurado no
token de segurança do servidor do SAP BW. Você pode recuperar o nome SNC
com a transação RZ11 (Manutenção de Parâmetro de Perfil) no SAPGUI e nome do
parâmetro snc/identity/as.

Para tokens de segurança de certificado X.509, o formato é:

p:<Nome diferenciado do X.509>

Exemplo (os valores diferenciam maiúsculas de minúsculas): p:CN=BW0,


OU=BI, O=MyOrg, C=US

Para tokens de segurança Kerberos, o formato é:

p:CN=<service_User_Principal_Name>

Exemplo (os valores diferenciam maiúsculas de minúsculas):


p:CN=SAPServiceBW0@BWSERVER.MYORG.COM

4. Selecione a Biblioteca do SNC para a qual seu ambiente do SAP BW foi


configurado.

A opção SNC_LIB ou SNC_LIB_64 verificará a variável de ambiente


correspondente em seu computador e usará a DLL especificada nela.

As opções NTLM e KERBEROS esperam que a DLL correspondente esteja em


uma pasta especificada na variável PATH em seu computador local. As
bibliotecas para sistemas de 32 bits são GSSNTLM.DLL (para NTLM) e
GSSKRB5.DLL (para Kerberos). As bibliotecas para sistemas de 64 bits são
GX64NTLM.DLL (para NTLM) e GX64KRB5.DLL (para Kerberos).

A opção Personalizada permite o uso de uma biblioteca desenvolvida de


maneira personalizada.

Valide as configurações com o administrador do SAP.


5. Selecione Conectar.

Confira também
Usar opções avançadas
Usar opções avançadas
Artigo • 23/03/2023

Ao criar uma conexão com um servidor do SAP Business Warehouse, você pode,
opcionalmente, especificar um código de idioma, modo de execução, tamanho do lote e
uma instrução MDX. Além disso, você pode selecionar se deseja habilitar estruturas
características.

7 Observação

Embora as imagens neste artigo ilustram as opções avançadas no conector do SAP


Business Warehouse Application Server, elas funcionam da mesma maneira no
conector do SAP Business Warehouse Message Server.

Código de idioma
Opcionalmente, você pode especificar um código de idioma ao estabelecer uma
conexão com o servidor SAP BW.
O valor esperado é um código de linguagem de duas letras, conforme definido no
sistema SAP. No Power Query Desktop selecione o ícone de Ajuda (ponto de
interrogação) ao lado do campo Código de Idioma para obter uma lista de valores
válidos.

Depois de definir o código de idioma, o Power Query exibirá os nomes descritivos dos
objetos de dados no SAP BW no idioma especificado, incluindo os nomes de campo
para os objetos selecionados.

7 Observação

Nem todos os idiomas listados podem estar configurados em seu sistema SAP BW
e as descrições de objeto podem não ser traduzidas em todos os idiomas.

Se nenhum código de idioma for especificado, a localidade padrão da caixa de diálogo


Opções será usada e mapeada para um código de idioma SAP válido. Para exibir ou
substituir a localidade atual no Power BI Desktop, abra a caixa de diálogo Opções de
Arquivo>e Opções de Configurações> e selecioneAs configurações regionais> do
arquivo atual. Para exibir ou substituir a localidade atual no Power Query Online, abra a
caixa de diálogoOpções do >Home>Options Project. Se você substituir a localidade, sua
configuração será mantida em sua consulta M e ficará honrada se você copiar sua
consulta de Power Query Desktop para Power Query Online.
Modo de execução
A opção de modo de execução especifica que a interface MDX é usada para executar
consultas no servidor. As seguintes opções são válidas:

BasXml: especifica a opção de modo de nivelamento bXML para execução de MDX


no SAP Business Warehouse.

BasXmlGzip: Especifica a opção de modo de nivelamento bXML compactado com


Gzip para execução de MDX no SAP Business Warehouse. Essa opção é
recomendada para consultas de baixa latência ou de alto volume. O valor padrão
para a opção de modo de execução.

DataStream: Especifica a opção do modo de nivelamento do DataStream para


execução de MDX no SAP Business Warehouse.

Tamanho do lote
Especifica o número máximo de linhas que serão recuperadas de cada vez durante a
execução de uma instrução MDX. Um número pequeno gerará mais chamadas para o
servidor ao recuperar um conjunto de dados grande. Um número grande de linhas pode
melhorar o desempenho, mas pode causar problemas de memória no servidor do SAP
BW. O valor padrão é 50000 linhas.

Instrução MDX

7 Observação

A opção de instrução MDX não está disponível no Power Query Online.

Em vez de usar o navegador para navegar e selecionar entre objetos de dados


disponíveis no SAP BW, um usuário que esteja familiarizado com a linguagem de
consulta MDX pode especificar uma instrução MDX para execução direta no SAP BW.
No entanto, lembre-se de que nenhum novo dobramento de consulta será aplicado ao
usar uma instrução MDX personalizada.

A instrução para o exemplo usado aqui seria semelhante à mostrada no exemplo a


seguir, com base nos nomes técnicos dos objetos e propriedades no SAP BW.

SELECT {[0EFUZM0P10X72MBPOYVBYIMLB].[0EFUZM0P10X72MBPOYVBYISWV]} ON COLUMNS


,
NON EMPTY CROSSJOIN(CROSSJOIN([0D_MATERIAL].[LEVEL01].MEMBERS,[0D_PUR_ORG].
[LEVEL01].MEMBERS) ,
[0D_VENDOR].[LEVEL01].MEMBERS)
DIMENSION PROPERTIES
[0D_MATERIAL].[20D_MATERIAL],
[0D_MATERIAL].[50D_MATERIAL],
[0D_PUR_ORG].[20D_PUR_ORG],
[0D_PUR_ORG].[50D_PUR_ORG],
[0D_VENDOR].[20D_VENDOR],
[0D_VENTOR].[50D_VENDOR] ON ROWS FROM [0D_PU_C01/0D_PU_C01_Q0013]
O conector SAP BW exibirá uma visualização dos dados retornados pela instrução MDX.
Em seguida, você pode selecionar Carregar para carregar os dados (somente Power
Query Área de Trabalho) ou selecionar Transformar Dados para manipular ainda mais o
conjunto de dados no Editor do Power Query.

Para validar e solucionar problemas de uma instrução MDX, o SAP BW fornece a


transação MDXTEST para GUI do SAP para usuários do Windows. Além disso, a
transação MDXTEST pode ser uma ferramenta útil para analisar erros de servidor ou
preocupações de desempenho como resultado do processamento que ocorre dentro do
sistema SAP BW.

Para obter informações mais detalhadas sobre essa transação, acesse o Ambiente de
Teste do MDX .

O MDXTEST também pode ser usado para construir uma instrução MDX. A tela da
transação inclui painéis à esquerda que ajudam o usuário a navegar até um objeto de
consulta no SAP BW e gerar uma instrução MDX.

A transação oferece diferentes modos/interfaces de execução para a instrução MDX.


Selecione Nivelamento (basXML) para imitar como Power Query executaria a consulta no
SAP BW. Essa interface no SAP BW cria o conjunto de linhas dinamicamente usando as
seleções da instrução MDX. A tabela dinâmica resultante retornada ao Power Query
Desktop tem uma forma muito compacta que reduz o consumo de memória.
A transação exibirá o conjunto de resultados da instrução MDX e as métricas úteis de
runtime.

Habilitar estruturas de características


A seleção Habilitar estruturas características altera a forma como as estruturas
características são exibidas no navegador. Uma estrutura é um objeto SAP BW que pode
ser usado ao criar consultas BEX. No BEX UX, eles se parecem com a imagem a seguir.
Se a seleção Habilitar estruturas características estiver clara (padrão), o conector
produzirá um produto cartesiano de cada dimensão na estrutura com cada medida
disponível. Por exemplo:
Se selecionado, o conector produzirá apenas as medidas disponíveis. Por exemplo:

Confira também
Navegar pelos objetos de consulta
Transforme e filtre o conjunto de dados SAP BW
Solução de problemas do conector do SAP Business Warehouse
Solução de problemas do conector do
SAP Business Warehouse
Artigo • 05/10/2023

Este artigo fornece situações de problemas (e possíveis soluções) para trabalhar com o
conector do SAP BW (Business Warehouse).

Coletar rastreamentos avançados do SAP BW

7 Observação

A coleta de rastreamento de uma consulta enviada para o servidor do SAP BW


requer algumas opções e configurações que só podem ser fornecidas usando o
Power BI Desktop. Se você ainda não tiver uma cópia do Power BI Desktop,
obtenha uma no Centro de Download da Microsoft . Você pode definir todas as
opções e configurações necessárias para rastreamentos avançados usando esta
versão gratuita.

Muitas vezes, quando ocorre um erro, pode ser vantajoso coletar um rastreamento da
consulta que foi enviada para o servidor do SAP BW e sua resposta. O procedimento a
seguir mostra como configurar rastreamentos avançados para problemas que ocorrem
usando o conector do SAP BW.

1. Feche o Power BI Desktop se estiver em execução.

2. Crie uma variável de ambiente:

a. Na Painel de Controle do Windows, selecione Sistema>Configurações


Avançadas do Sistema.

Você também pode abrir um Prompt de Comando e inserir sysdm.cpl.

b. Nas Propriedades do Sistema, selecione a guia Avançado e selecione Variáveis


de Ambiente.

c. Nas Variáveis de Ambiente, em Variáveis do Sistema, selecione Nova.

d. Em Nova Variável do Sistema, no Nome da variável, insira


PBI_EnableSapBwTracing e, em Valor da variável, insira true.

e. Selecione OK.
Quando esse rastreamento avançado for ativado, uma pasta adicional chamada
SapBw será criada na pasta Rastreamentos. Confira o restante deste procedimento
para saber o local da pasta Rastreamentos.

3. Abra o Power BI Desktop.

4. Limpe o cache antes de capturar.


a. No Power BI Desktop, selecione a guia Arquivo.
b. Selecione Opções e configurações>Opções.
c. Em configurações Globais, escolha Carregamento de Dados.
d. Selecione Limpar Cache.

5. Ainda em Opções e configurações, habilite o rastreamento.


a. Em configurações Globais, escolha Diagnóstico.
b. Selecione Habilitar rastreamento.

6. Enquanto você ainda estiver em Opções e configurações>Global>Diagnóstico,


selecione Abrir pasta de rastreamentos/despejo de memória. Verifique se a pasta
está limpa antes de capturar novos rastreamentos.

7. Reproduza o problema.

8. Depois de concluído, feche Power BI Desktop para que os logs sejam liberados
para o disco.

9. Você poderá ver os rastreamentos recém capturados na pasta SapBw (a pasta


Rastreamentos que contém a pasta SapBw é mostrada ao selecionar Abrir pasta
de rastreamentos/despejo de memória na página Diagnóstico no Power BI
Desktop).

10. Não se esqueça de desativar esse rastreamento avançado quando terminar,


removendo a variável de ambiente ou definindo PBI_EnableSapBwTracing como
false.

Coletar rastreamentos avançados do SAP BW


com rastreamentos CPIC
Se você estiver investigando problemas de autenticação ou SSO (logon único), use o
mesmo procedimento descrito em Coletar rastreamentos avançados do SAP BW, exceto
na etapa 2d, e insira as seguintes variáveis e valores adicionais do sistema:

CPIC_TRACE – 3
CPIC_TRACE_DIR – uma pasta válida, por exemplo: E:\traces\CPIC
O restante do procedimento permanece o mesmo. Você pode ver os rastreamentos
CPIC na pasta especificada na variável de ambiente CPIC_TRACE_DIR. Você também
pode ver os rastreamentos regulares na pasta SapBw.

Você também precisa desativar esse rastreamento avançado quando terminar,


removendo a variável de ambiente ou definindo BI_EnableSapBwTracing como false
CPIC_TRACE como 0.

Executar uma instalação limpa do conector SAP


.NET
Se for necessário reinstalar o conector SAP .NET:

1. Remova (desinstale) o Conector SAP .NET.

2. Depois de remover, verifique se o Conector SAP .NET não está instalado no GAC
(Cache de Assembly Global), confirmando se os seguintes caminhos NÃO existem
ou NÃO contêm DLLs:

GAC de 32 bits:

C:\Windows\Microsoft.NET\assembly\GAC_32\sapnco\v4.0_3.0.0.42__50436dc
a5c7f7d23

C:\Windows\Microsoft.NET\assembly\GAC_32\sapnco_utils\v4.0_3.0.0.42__504
36dca5c7f7d23

64 bit GAC:

C:\Windows\Microsoft.NET\assembly\GAC_64\sapnco\v4.0_3.0.0.42__50436dc
a5c7f7d23

C:\Windows\Microsoft.NET\assembly\GAC_64\sapnco_utils\v4.0_3.0.0.42__504
36dca5c7f7d23

3. Verifique se os binários não estão em Arquivos de Programas. Verifique se os


seguintes locais NÃO existem ou estão vazios:

C:\Program Files\SAP\SAP_DotNetConnector3_Net40_x64

C:\Program Files (x86)\sap\SAP_DotNetConnector3_Net40_x86

4. Reinstale o conector e lembre-se de selecionar a opção Instalar assemblies no


GAC. Recomendamos que você use o mais recente, 3.0.23.
Solucionar problemas de mensagens de erro

Método ErrorCode do SAP BW não encontrado


Method not found: 'Int32

SAP.Middleware.Connector.RfcBaseException.get_ErrorCode()'

Esse erro é gerado quando ocorre um erro no servidor do SAP BW e o conector SAP
.NET tenta recuperar informações sobre esse erro. No entanto, esse erro pode estar
ocultando o erro real. Esse erro pode acontecer quando:

Estiver usando uma versão antiga do conector SAP .NET.

Várias versões do conector SAP .NET estiverem instaladas.

O conector SAP .NET tiver sido instalado duas vezes, uma no GAC (Cache de
Assembly Global) e outra fora do GAC.

Siga as instruções em Executar instalação limpa do conector SAP .NET para reinstalar o
conector.

Isso não resolverá o problema, mas fornecerá a mensagem de erro real.

Exceção: o inicializador de tipo para


"Microsoft.Mashup.Engine1.Library.SapBusinessWarehouse.
SapBwMicrosoftProviderFactoryService" gerou uma
exceção.
Siga as instruções em Executar instalação limpa do conector SAP .NET para reinstalar o
conector.

Esse conector requer um ou mais componentes adicionais


Se você receber essa mensagem de erro, use as seguintes etapas de solução de
problemas:

1. Verifique se a versão do conector SAP .NET está instalada no tamanho correto de


bits. Se você tiver o Power BI Desktop de 64 bits instalado, verifique se instalou o
conector SAP .NET de 64 bits.

2. Verifique se, durante a instalação do Conector SAP .NET, a opção Instalar


assemblies no GAC foi marcada. Para verificar se o GAC está instalado, abra o
Windows Explorer e acesse:

C:\Windows\Microsoft.NET\assembly\GAC_64\sapnco

Por exemplo, o caminho completo pode ser:

C:\Windows\Microsoft.NET\assembly\GAC_64\sapnco\v4.0_3.0.0.42__50436dca
5c7f7d23\sapnco.dll

Se você instalou a versão de 32 bits do conector SAP .NET, ela seria


C:\Windows\Microsoft.NET\assembly\GAC_32\sapnco\v4.0_3.0.0.42__50436dca5c7f7d23
\sapnco.dll (e você precisaria de uma versão de 32 bits do Power BI Desktop).

Outra maneira de verificar o GAC é usar a gacutil (uma das opções para desabilitar a
assinatura de nome forte). Você precisaria executá-la em um prompt de comando de 64
bits. Você pode verificar o conteúdo do GAC abrindo um prompt de comando,
navegando até o caminho gacutil.exe e executando:

gacutil -l

Por exemplo, na saída, você deverá ver:

sapnco, Version=3.0.0.42, Culture=neutral, PublicKeyToken=50436dca5c7f7d23,


processorArchitecture=AMD64 sapnco_utils, Version=3.0.0.42, Culture=neutral,
PublicKeyToken=50436dca5c7f7d23, processorArchitecture=AMD64

"Nenhuma autorização RFC para função ...*


A implementação 2.0 requer acesso às BAPIs a seguir. Para resolver, entre em contato
com a equipe do SAP Basis e solicite permissões para essas BAPIs e RFCs para o usuário.

Conectividade:
RFC_PING
RFC_METADATA_GET

Execução de MDX:
RSR_MDX_CREATE_OBJECT
BAPI_MDDATASET_CREATE_OBJECT
BAPI_MDDATASET_SELECT_DATA
BAPI_MDDATASET_DELETE_OBJECT
RSR_MDX_GET_AXIS_INFO
RSR_MDX_GET_AXIS_DATA
RSR_MDX_GET_CELL_DATA
BAPI_MDDATASET_GET_AXIS_INFO
BAPI_MDDATASET_GET_AXIS_DATA
BAPI_MDDATASET_GET_CELL_DATA

Nivelamento de ExecutionMode:
RSR_MDX_GET_FLAT_DATA
RSR_MDX_GET_FS_DATA
BAPI_MDDATASET_GET_FLAT_DATA
BAPI_MDDATASET_GET_FS_DATA

Fluxo de ExecutionMode:
BAPI_MDDATASET_GET_STREAMDATA
BAPI_MDDATASET_GET_STREAMINFO

BasXml de ExecutionMode:
RSR_MDX_BXML_GET_DATA
RSR_MDX_BXML_GET_GZIP_DATA
RSR_MDX_BXML_GET_INFO
RSR_MDX_BXML_SET_BINDING

Metadados:
BAPI_MDPROVIDER_GET_DIMENSIONS
BAPI_MDPROVIDER_GET_CATALOGS
BAPI_MDPROVIDER_GET_CUBES
BAPI_MDPROVIDER_GET_MEASURES
BAPI_MDPROVIDER_GET_HIERARCHYS
BAPI_MDPROVIDER_GET_LEVELS
BAPI_MDPROVIDER_GET_PROPERTIES
BAPI_MDPROVIDER_GET_MEMBERS
BAPI_MDPROVIDER_GET_VARIABLES

Informações:
BAPI_IOBJ_GETDETAIL (necessária para dimensões tipadas (DATS, TIMS))
BAPI_USER_GET_DETAIL (usada apenas para a interface de nivelamento)
RFC_READ_TABLE (necessária para nomes de catálogo e determinadas
chamadas de valores variáveis)

Pode ser chamada pelo conector do SAP .NET subjacente:


RFC_GET_FUNCTION_INTERFACE
FUNCTION_IMPORT_INTERFACE
DDIF_FIELDINFO_GET
SYSTEM_FINISH_ATTACH_GUI
BGRFC_DEST_CONFIRM
BGRFC_CHECK_UNIT_STATE_SERVER
BGRFC_DEST_SHIP
ARFC_DEST_SHIP
RFC_FUNCTION_SEARCH
RFC_SYSTEM_INFO
RFC_SET_REG_SERVER_PROPERTY
RFC_DOCU
SEO_GET_CLIF_REMOTE
SYSTEM_PREPARE_ATTACH_GUI
API_CLEAR_TID
ARFC_DEST_CONFIRM

Método não encontrado "Int32


SAP.Middleware.Connector.RfcBaseException.get_ErrorCode()
Verifique se o conector SAP .NET está instalado corretamente. Consulte Executar uma
instalação limpa do conector SAP .NET.

Esse erro aparece quando a versão instalada no GAC é inferior à versão 3.0.18.0
esperada. A Nota SAP 2417315 discute esse cenário.

Propriedades da cadeia de conexão definidas pelo


conector
Quando ambos, Nome do Parceiro SNC e a Biblioteca SNC, são fornecidos, o conector
do Servidor de Aplicativos do SAP BW (implementação 2.0) definirá essas propriedades
na cadeia de conexão:

SNC_MODE – SncModeApply
SNC_LIB – com o caminho da biblioteca especificado; se for uma variável de
ambiente, ela será expandida neste momento
SNC_PARTNERNAME – com o valor fornecido
SNC_QOP = RfcConfigParameters.RfcSncQOP.Default

Essas são usadas para conexões do Servidor de Aplicativos do SAP BW e Servidor de


Mensagens do SAP BW.

Para ambos os tipos de conexão, o conector define:

LANG (Idioma)
CLIENT

Para a conexão do Servidor de Aplicativos do SAP BW, o conector define:


ASHOST (AppServerHost)
SYSNR (SystemNumber)

Para conexões do Servidor de Mensagens do SAP BW, o conector define:

MSHOST (MessageServerHost)
SYSID (SystemID)
GROUP (LogonGroup)

Comando MDX inválido com <internal>


Esse erro vem diretamente do servidor do SAP BW. A implementação 1 do conector,
com base no Netweaver RFC, não expôs esses erros ao usuário, retornando, portanto,
um conjunto de resultados vazio.

Esse problema é discutido nas seguintes Notas do SAP. O acesso a essas notas requer
um S-user. Entre em contato com a equipe do SAP Basis para aplicar as correções
pertinentes a esse problema.

1084454 – MDX: erro do sistema "Comando MDX inválido com <internal>"


1282785 – MDX: erro do sistema "Comando MDX inválido com <internal>"
401607 – Erros no comando MDX com CROSSJOIN na segmentação
1786009 – MDX inválido ao usar uma fórmula de membro com caractere especial

Além disso, para outros erros semelhantes, você pode examinar o conteúdo das
seguintes notas do SAP e aplicá-las conforme apropriado para seu ambiente:

1142664 – MDX: nota composta do SAP sobre aprimoramentos de desempenho


1156101 – MDX: nota composta do SAP sobre dados incorretos

Limitações e problemas

Alterar nomes de variáveis em um cubo SAP coloca o


relatório DirectQuery em um estado corrompido e
irrecuperável
Os seguintes sintomas ocorrem:

Mensagem de erro – [Expression.Error] The import [XXXX] matches no exports.

Nos logs – Message: [Expression.Error] The key didn't match any rows in the
table.
Rastreamento de Pilha:

at Microsoft.Mashup.Engine1.Runtime.TableValue.get_Item(Value key)
at
Microsoft.Mashup.Engine1.Library.Cube.CubeParametersModule.Cube.ApplyPa
rameterFunctionValue.GetParameterValue(CubeValue cubeValue, Value
parameter)
at
Microsoft.Mashup.Engine1.Library.Cube.CubeParametersModule.Cube.ApplyPa
rameterFunctionValue.TypedInvoke(TableValue cube, Value parameter,
Value arguments)
Detail: [Key = [Id = \"[!V000004]\"], Table = #table({...}, {...})]

Uma solução alternativa possível é:

1. Fazer uma cópia do arquivo PBIX (pois as coisas podem falhar).

2. Adicionar uma variável de ambiente chamada PBI_AlwaysEnableQueryEditor com


um valor verdadeiro. Essa configuração permitirá o acesso ao editor de consultas
mesmo no modo DirectQuery.

7 Observação

Essa variável de ambiente não tem suporte, portanto, só deve ser usada
conforme descrito aqui.

3. Clique com o botão direito do mouse na consulta "Cubo" e selecione Editor


Avançado.

4. A consulta deve ter uma linha que começa com "{Cube.ApplyParameter, "
[!V000004]" (o parâmetro ausente). Remova essa linha.

5. Selecione Concluído.

6. Feche o Editor do Power Query.

7. Atualize o visual afetado.

Se a solução alternativa acima não funcionar, a única correção alternativa será recriar o
relatório.

Dados numéricos do SAP BW


7 Observação

As informações a seguir só se aplicam ao usar a Implementação 1.0 do conector do


SAP BW ou a Implementação 2.0 do conector do SAP BW com o modo de
Nivelamento (quando ExecutionMode=67).

As contas de usuário no SAP BW têm configurações padrão para a formatação dos


valores decimais ou de data/hora, quando exibidos para o usuário na GUI do SAP.

As configurações padrão são mantidas no sistema SAP no Perfil do Usuário de uma


conta e o usuário pode exibir ou alterar essas configurações na GUI do SAP com o
caminho de menu Sistema>Perfil do Usuário>Dados Próprios.

O Power BI Desktop consulta o sistema SAP para saber a notação decimal do usuário
conectado e usa essa notação para formatar valores decimais nos dados provenientes
do SAP BW.

O SAP BW retorna dados decimais com uma , (vírgula) ou um . (ponto) como


separador decimal. Para especificar qual desses SAP BW deve ser usado para o
separador decimal, o driver usado pelo Power BI Desktop faz uma chamada para
BAPI_USER_GET_DETAIL . Essa chamada retorna uma estrutura chamada DEFAULTS , que

tem um campo chamado DCPFM que armazena Notação de Formato Decimal. O campo
usa um dos seguintes valores:

' ' (espaço) = Ponto decimal é vírgula: N.NNN,NN


'X' = Ponto decimal é ponto: N,NNN.NN
'Y' = Ponto decimal é N NNN NNN,NN

Os clientes que relataram esse problema descobriram que a chamada para


BAPI_USER_GET_DETAIL falhava para um usuário específico, mostrando dados incorretos,

com uma mensagem de erro semelhante à seguinte:

XML
You are not authorized to display users in group TI:
<item>
<TYPE>E</TYPE>
<ID>01</ID>
<NUMBER>512</NUMBER>
<MESSAGE>You are not authorized to display users in group
TI</MESSAGE>
<LOG_NO/>
<LOG_MSG_NO>000000</LOG_MSG_NO>
<MESSAGE_V1>TI</MESSAGE_V1>
<MESSAGE_V2/>
<MESSAGE_V3/>
<MESSAGE_V4/>
<PARAMETER/>
<ROW>0</ROW>
<FIELD>BNAME</FIELD>
<SYSTEM>CLNTPW1400</SYSTEM>
</item>

Para resolver esse erro, os usuários deverão solicitar ao administrador do SAP para
conceder ao usuário do SAP BW que está sendo usado no Power BI, o direito de
executar BAPI_USER_GET_DETAIL . Também vale a pena verificar se o usuário tem o valor
necessário de DCPFM , conforme descrito anteriormente nesta solução de solução de
problemas.

Conectividade para consultas SAP BEx


Você pode executar consultas BEx no Power BI Desktop ativando uma propriedade
específica, conforme mostrado na imagem a seguir:
Limitação da interface MDX
Uma limitação da interface MDX é que variáveis longas perdem o nome técnico e são
substituídas por V00000#.

Nenhuma visualização de dados na janela Navegador


Em alguns casos, a caixa de diálogo Navegador não exibe uma visualização dos dados.
Em vez disso, ela fornece a mensagem de erro Referência de objeto não definida para
uma instância de um objeto.

Os usuários SAP precisam acessar módulos de função BAPI específicos para obter
metadados e recuperar dados dos InfoProviders do SAP BW. Esses módulos incluem:

BAPI_MDPROVIDER_GET_CATALOGS
BAPI_MDPROVIDER_GET_CUBES
BAPI_MDPROVIDER_GET_DIMENSIONS
BAPI_MDPROVIDER_GET_HIERARCHYS
BAPI_MDPROVIDER_GET_LEVELS
BAPI_MDPROVIDER_GET_MEASURES
BAPI_MDPROVIDER_GET_MEMBERS
BAPI_MDPROVIDER_GET_VARIABLES
BAPI_IOBJ_GETDETAIL

Para resolver esse problema, verifique se o usuário tem acesso aos vários módulos
MDPROVIDER e BAPI_IOBJ_GETDETAIL . Para solucionar ainda mais esse ou problemas
semelhantes, você pode ativar o rastreamento. Selecione Arquivo>Opções e
configurações>Opções. Em Opções, selecione Diagnóstico e, em seguida, selecione
Ativar rastreamento. Tente recuperar dados do SAP BW enquanto o rastreamento
estiver ativo e examine o arquivo de rastreamento para obter mais detalhes.

Exceções de memória
Em alguns casos, você pode se deparar com um dos seguintes erros de memória:

Message: No more memory available to add rows to an internal table.

Message: [DataSource.Error] SAP Business Warehouse: The memory request for

[number] bytes could not be complied with.


Message: The memory request for [number] bytes could not be complied with.

Essas exceções de memória são do servidor do SAP BW e ocorrem devido ao servidor


ficar sem memória disponível para processar a consulta. Isso pode acontecer quando a
consulta retorna um grande conjunto de resultados ou quando a consulta é muito
complexa para o servidor manipular, por exemplo, quando uma consulta tem muitas
crossjoins.

Para resolver esse erro, a recomendação é simplificar a consulta ou dividi-la em


consultas menores. Se possível, envie mais agregação por push para o servidor. Como
alternativa, entre em contato com a equipe do SAP Basis para aumentar os recursos
disponíveis no servidor.

Falha ao carregar cadeias de caracteres de texto com


mais de 60 caracteres no Power BI Desktop
Em alguns casos, você poderá descobrir que as cadeias de caracteres de texto estão
sendo truncadas em 60 caracteres no Power BI Desktop.
Primeiro, siga as instruções no 2777473 – MDX: perguntas frequentes sobre o Power BI
acessando BW ou BW/4HANA e veja se isso resolve o problema.

Como o conector SAP Business Warehouse do Power Query usa a interface MDX
fornecida pelo SAP para acesso de terceiros, você precisará entrar em contato com o
SAP para obter as soluções possíveis, pois eles são proprietários da camada entre a
interface MDX e o servidor do SAP BW. Pergunte como a configuração "long text is XL"
pode ser especificada em seu cenário específico.

Limite de 60 caracteres apesar de "texto longo" no SAP


BW
Há uma limitação conhecida em que as características de "texto longo" no SAP BW
aparecem com um limite de 60 caracteres no Power BI. Esse limite de caracteres é
devido a uma limitação na interface MDX e não há nenhuma solução alternativa
conhecida disponível. A SAP documentou essa limitação MDX nesta Nota da SAP .

Migrando para a implementação 2.0 ao usar o Direct


Query
Devido à substituição da implementação 1.0 do conector SAP Business Warehouse,
talvez seja necessário atualizar as consultas para aproveitar a implementação 2.0.
Quando você usa o Direct Query, o acesso ao editor de consultas é restrito. Portanto,
você não pode fazer facilmente a transição para a implementação 2.0 sem recriar toda a
consulta. A solução alternativa é adicionar uma variável de ambiente do sistema para
permitir o acesso ao editor de consultas. As etapas a seguir não são oficialmente
suportadas e só devem ser usadas conforme descrito aqui.

1. Crie uma nova variável de ambiente navegando até Explorador de Arquivos>Este


PC>Propriedades>Configurações avançadas do sistema>Variáveis de
ambiente>Variáveis de sistema>Novo ou abrindo um prompt de comando e
inserindo sysdm.cpl e selecionando Novo em Variáveis de sistema.
2. Escolha o nome da variável de ambiente PBI_AlwaysEnableQueryEditor e defina o
valor true . Essa configuração de variável permite acesso ao editor de consultas
mesmo no modo Direct Query.
3. Para abrir o editor do Power Query, no Power BI Desktop, na guia Página Inicial,
selecione Transformar Dados.
4. Atualize a consulta para usar a implementação 2.0 seguindo estas instruções,
começando com a Etapa 2 nesse artigo.

A consulta final deve ser parecida com SapBusinessWarehouse.Cubes("server", "system",


"clientId", [Implementation = "2.0"]) .
Banco de dados do SAP HANA
Artigo • 05/10/2023

Resumo
ノ Expandir a tabela

Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Analysis Services

Tipos de autenticação compatíveis Basic


Banco de dados
Windows

Documentação de referência da função SapHana.Database

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Você precisará de uma conta SAP para entrar no site e baixar os drivers. Se você estiver
inseguro, entre em contato com o administrador do SAP em sua organização.

Para usar o SAP HANA no Power BI Desktop ou no Excel, o driver ODBC do SAP HANA
deve estar instalado no computador cliente local para que a conexão de dados do SAP
HANA funcione corretamente. Você pode baixar as ferramentas de cliente SAP HANA de
Ferramentas de Desenvolvimento SAP , que contém o driver ODBC necessário. Outra
opção é obtê-lo do Centro de Download de Software SAP . No portal de software,
pesquise os computadores com Windows em SAP HANA CLIENT. Como o Centro de
Download de Software SAP altera sua estrutura com frequência, não há diretrizes mais
específicas disponíveis para navegar nesse site. Para obter instruções sobre como
instalar o driver SAP HANA ODBC, acesse Instalando o driver SAP HANA ODBC no
Windows 64 Bits .

Para usar o SAP HANA no Excel, você deve ter o driver ODBC do SAP HANA de 32 ou 64
bits (de acordo com a versão do Excel, de 32 bits ou 64 bits, que você estiver usando)
instalado no computador cliente local.

Esse recurso só estará disponível no Excel para Windows se você tiver o Office 2019 ou
uma assinatura do Microsoft 365 . Se você for assinante do Microsoft 365, é necessário
ter a versão mais recente do Office .

Há suporte para HANA 1.0 SPS 12rev122.09, 2.0 SPS 3rev30 e BW/4HANA 2.0.

Funcionalidades com suporte


Importação
Direct Query (conjuntos de dados do Power BI)
Avançado
Instrução SQL

Conectar-se a um banco de dados SAP HANA


por meio do Power Query Desktop
Para se conectar a um banco de dados SAP HANA usando o Power Query Desktop:

1. Selecione Obter dados > banco de dados SAP HANA no Power BI Desktop ou Do
Banco de Dados > Do Banco de Dados SAP HANA na faixa de opções Dados no
Excel.

2. Insira o nome e a porta do servidor SAP HANA ao qual você deseja se conectar. O
exemplo na figura a seguir usa SAPHANATestServer na porta 30015 .
Por padrão, o número da porta é definido para dar suporte a apenas um banco de
dados de contêiner. Se o banco de dados SAP HANA puder conter mais de um
contêiner de banco de dados multilocatário, selecione Banco de dados de sistema
multilocatário (30013). Se você quiser se conectar a um banco de dados de
locatário ou a um banco de dados com um número de instância fora do padrão,
selecione Personalizado no menu suspenso Porta.

Se você estiver se conectando a um banco de dados SAP HANA por meio do


Power BI Desktop, também será dada a opção de selecionar Importação ou
DirectQuery. O exemplo neste artigo usa Importação, que é o padrão (e o único
modo para o Excel). Para obter mais informações sobre como se conectar ao
banco de dados usando o DirectQuery no Power BI Desktop, acesse Conectar a
fontes de dados do SAP HANA usando o DirectQuery no Power BI.

Você também pode inserir uma instrução SQL ou ativar a vinculação de coluna nas
Opções avançadas. Mais informações, Conectar usando opções avançadas

Depois de inserir todas as opções, selecione OK.

3. Se você estiver acessando um banco de dados pela primeira vez, insira suas
credenciais para autenticação. Neste exemplo, o servidor SAP HANA requer
credenciais de usuário do banco de dados, portanto, selecione Banco de Dados e
insira seu nome de usuário e senha. Se necessário, insira as informações do
certificado do servidor.
Além disso, talvez seja necessário validar o certificado do servidor. Para obter mais
informações sobre como usar a validação de seleções de certificado de servidor,
confira Usando a criptografia do SAP HANA. No Power BI Desktop e no Excel, a
validação da seleção de certificado do servidor é habilitada por padrão. Se você já
tiver configurado essas seleções no Administrador da Fonte de Dados ODBC,
desmarque a caixa de seleção Validar certificado do servidor. Para saber mais
sobre como usar o Administrador de Fonte de Dados ODBC para configurar essas
seleções, acesse Configurar SSL para acesso de cliente ODBC ao SAP HANA.

Para obter mais informações sobre a autenticação, acesse Autenticação com uma
fonte de dados.

Depois de preencher todas as informações necessárias, selecione Conectar.

4. Na caixa de diálogo Navegador, é possível transformar os dados no Editor do


Power Query ao selecionar Transformar Dados, ou carregar os dados ao selecionar
Carregar.

Conectar-se a um banco de dados SAP HANA a


partir do Power Query Online
Para se conectar aos dados do SAP HANA usando o Power Query Online:
1. Na página Fontes de dados, selecione Banco de dados SAP HANA.

2. Insira o nome e a porta do servidor SAP HANA ao qual você deseja se conectar. O
exemplo na figura a seguir usa SAPHANATestServer na porta 30015 .

3. Se desejar, insira uma instrução SQL em Opções avançadas. Mais informações,


Conectar usando opções avançadas

4. Selecione o nome do gateway de dados local a ser usado para acessar o banco de
dados.

7 Observação

Você deve usar um gateway de dados local com esse conector,


independentemente de seus dados serem locais ou online.

5. Escolha o tipo de autenticação que você deseja usar para acessar seus dados. Você
também precisará inserir um nome de usuário e uma senha.

7 Observação

Atualmente, o Power Query Online dá suporte apenas à autenticação Básica.

6. Selecione Usar Conexão Criptografada se estiver usando qualquer conexão


criptografada e escolha o provedor de criptografia SSL. Se não estiver usando uma
conexão criptografada, desmarque Usar Conexão Criptografada. Para obter mais
informações: Ativar criptografia para SAP HANA
7. Selecione Avançar para continuar.

8. Na caixa de diálogo Navegador, é possível transformar os dados no Editor do


Power Query ao selecionar Transformar Dados, ou carregar os dados ao selecionar
Carregar.

Conectar usando opções avançadas


O Power Query tem um conjunto de opções avançadas que você pode adicionar à sua
consulta, se necessário.

A tabela a seguir descreve todas as opções avançadas que você pode definir no Power
Query.

ノ Expandir a tabela
Opção avançada Descrição

Instrução SQL Mais informações, Importar dados de um banco de dados usando a


consulta de banco de dados nativo

Ativar vinculação de Associa variáveis às colunas de um conjunto de resultados do SAP HANA


colunas ao buscar dados. Tem o potencial de melhorar o desempenho no caso de
uma utilização de memória ligeiramente maior. Esta opção está disponível
somente no Power Query Desktop. Para obter mais informações: Ativar
vinculação de colunas

ConnectionTimeout Uma duração que controla por quanto tempo é necessário esperar antes
de abandonar a tentativa de obter uma conexão com o servidor. O valor
padrão é 15 segundos.

CommandTimeOut Uma duração que controla por quanto tempo a consulta do servidor tem
permissão para ser executada antes do cancelamento. O valor padrão é
dez minutos.

Recursos com suporte para o SAP HANA


A lista a seguir mostra os recursos com suporte no SAP HANA. Nem todos os recursos
listados aqui têm suporte em todas as implementações do conector de banco de dados
do SAP HANA.

O conector do Power BI Desktop e do Excel para um banco de dados SAP HANA


usam o driver ODBC do SAP para fornecer a melhor experiência do usuário.

No Power BI Desktop, o SAP HANA dá suporte às opções DirectQuery e


Importação.

O Power BI Desktop é compatível com modelos de informação do HANA, como


Exibições de Cálculo e Análise, e tem uma navegação otimizada.

Com o SAP HANA, você também pode usar comandos SQL na instrução SQL de
consulta de banco de dados nativo para se conectar a tabelas de linhas e colunas
em tabelas do Catálogo do HANA, que não estão incluídas nas exibições
analíticas/de cálculo fornecidas pela experiência do Navigator. Você também pode
usar o conector ODBC para consultar essas tabelas.

O Power BI Desktop inclui Navegação Otimizada para modelos do HANA.

O Power BI Desktop é compatível com parâmetros de Variáveis e Entrada do SAP


HANA.
O Power BI Desktop é compatível com Exibições de Cálculo baseadas em contêiner
do HDI.

A função SapHana.Database agora oferece suporte a tempos limite de conexão e


comando. Mais informações: Conectar usando opções avançadas

Para acessar suas exibições de cálculo baseadas em contêiner do HDI no Power


BI, verifique se os usuários do banco de dados do HANA que você usa com o
Power BI têm permissão para acessar o contêiner de runtime do HDI que
armazena as exibições que você deseja acessar. Para conceder esse acesso, crie
uma função que permita o acesso ao seu contêiner do HDI. Em seguida, atribua
a função ao usuário do banco de dados HANA que você usará com o Power BI.
(Esse usuário também precisa ter permissão para ler as tabelas do sistema no
esquema _SYS_BI, como de costume.) Leia a documentação oficial do SAP para
obter instruções detalhadas de como criar e atribuir funções de banco de
dados. Esta postagem no blog do SAP pode ser um bom ponto de partida.

Atualmente, há algumas limitações às variáveis do HANA anexadas a Exibições


de Cálculo baseadas em HDI. Essas limitações são devido a erros no lado do
HANA. Primeiro, não é possível aplicar uma variável do HANA a uma coluna
compartilhada de uma Exibição de Cálculo baseada em contêiner do HDI. Para
corrigir essa limitação, atualize para o HANA 2 versão 37.02 e posteriores ou
para o HANA 2 versão 42 e posteriores. Segundo, valores padrão de várias
entradas para variáveis e parâmetros atualmente não aparecem na interface do
usuário do Power BI. Um erro no SAP HANA causa essa limitação, mas a SAP
ainda não anunciou uma correção.

Ativar vinculação de colunas


Os dados obtidos de uma fonte de dados retornam ao aplicativo em variáveis que o
aplicativo alocou para essa finalidade. Antes que isso possa ser feito, o aplicativo deve
associar, ou vincular, essas variáveis às colunas do conjunto de resultados.
Conceitualmente, esse processo é o mesmo que vincular variáveis de aplicativo a
parâmetros de instrução. Quando o aplicativo vincula uma variável a uma coluna de
conjunto de resultados, ele descreve essa variável (endereço, tipo de dados e assim em
diante) ao driver. O driver armazena essas informações na estrutura que ele mantém
para essa instrução e usa as informações para retornar o valor da coluna quando a linha
é buscada.

Atualmente, ao usar o Power Query Desktop para se conectar a um banco de dados SAP
HANA, você pode selecionar a opção avançada Ativar vinculação de colunas para ativar
a vinculação de colunas.
Você também pode ativar a vinculação de colunas em consultas existentes ou em
consultas usadas no Power Query Online adicionando manualmente a opção
EnableColumnBinding à conexão na barra de fórmulas do Power Query ou no editor

avançado. Por exemplo:

Power Query M

SapHana.Database("myserver:30015", [Implementation = "2.0",


EnableColumnBinding = true]),

Há limitações associadas à adição manual da opção EnableColumnBinding :

A ativação da a vinculação de colunas funciona no modo Importar e DirectQuery.


No entanto, não é possível ajustar uma consulta DirectQuery existente para usar
essa opção avançada. Em vez disso, uma nova consulta deve ser criada para que
esse recurso funcione corretamente.
No SAP HANA Server versão 2.0 ou posterior, a vinculação de colunas é tudo ou
nada. Se algumas colunas não puderem ser vinculadas, nenhuma será vinculada e
o usuário receberá uma exceção, por exemplo, DataSource.Error: Column
MEASURE_UNIQUE_NAME of type VARCHAR cannot be bound (20002 > 16384) .

Os servidores SAP HANA versão 1.0 nem sempre relatam comprimentos de coluna
corretos. Nesse contexto, EnableColumnBinding permite a vinculação parcial de
colunas. Para algumas consultas, isso pode significar que nenhuma coluna está
vinculada. Quando nenhuma coluna está vinculada, nenhum benefício de
desempenho é obtido.

Suporte a consultas nativas no conector de


banco de dados SAP HANA
O conector de banco de dados SAP HANA do Power Query oferece suporte a consultas
nativas. Para obter informações sobre como usar consultas nativas no Power Query,
acesse Importar dados de um banco de dados usando consulta nativa de banco de
dados.

Dobragem de consultas em consultas nativas


O conector de banco de dados SAP HANA do Power Query agora oferece suporte à
dobragem de consultas nativas. Mais informações: Dobramento de consultas em
consultas nativas
7 Observação

No conector de banco de dados SAP HANA do Power Query, as consultas nativas


não oferecem suporte a nomes de coluna duplicados quando EnableFolding está
definido como true.

Parâmetros em consultas nativas


O conector de banco de dados SAP HANA do Power Query agora oferece suporte a
parâmetros em consultas nativas. Você pode especificar parâmetros em consultas
nativas usando a sintaxe Value.NativeQuery.

Ao contrário de outros conectores, o conector de banco de dados SAP HANA suporta


EnableFolding = True e especifica parâmetros ao mesmo tempo.

Para usar parâmetros em uma consulta, coloque pontos de interrogação (?) em seu
código como placeholders. Para especificar o parâmetro, use o valor de texto SqlType e
um valor para isso SqlType em Value . Value pode ser qualquer valor M, mas deve ser
atribuído ao valor do SqlType especificado.

Há várias maneiras de especificar parâmetros:

Fornecendo apenas os valores como uma lista:

Power Query M

{ “Seattle”, 1, #datetime(2022, 5, 27, 17, 43, 7) }

Fornecendo os valores e o tipo como uma lista:

Power Query M

{ [ SqlType = "CHAR", Value = "M" ],


[ SqlType = "BINARY", Value = Binary.FromText("AKvN",
BinaryEncoding.Base64) ],
[ SqlType = "DATE", Value = #date(2022, 5, 27) ] }

Misture e combine os dois:

Power Query M

{ “Seattle”, 1, [ SqlType = "SECONDDATE", Value = #datetime(2022, 5,


27, 17, 43, 7) ] }

SqlType segue os nomes de tipo padrão definidos pelo SAP HANA. Por exemplo, a lista

a seguir contém os tipos mais comuns usados:

bigint
BINARY
BOOLEAN
CHAR
DATE
DECIMAL
DOUBLE
INTEGER
NVARCHAR
SECONDDATE
SHORTTEXT
SMALLDECIMAL
SMALLINT
TIME
TIMESTAMP
VARBINARY
VARCHAR

O exemplo a seguir demonstra como fornecer uma lista de valores de parâmetro.

Power Query M

let
Source = Value.NativeQuery(
SapHana.Database(
"myhanaserver:30015",
[Implementation = "2.0"]
),
"select ""VARCHAR_VAL"" as ""VARCHAR_VAL""
from ""_SYS_BIC"".""DEMO/CV_ALL_TYPES""
where ""VARCHAR_VAL"" = ? and ""DATE_VAL"" = ?
group by ""VARCHAR_VAL""
",
{"Seattle", #date(1957, 6, 13)},
[EnableFolding = true]
)
in
Source
O exemplo a seguir demonstra como fornecer uma lista de registros (ou misturar
valores e registros):

Power Query M

let
Source = Value.NativeQuery(
SapHana.Database(Server, [Implementation="2.0"]),
"select
""COL_VARCHAR"" as ""COL_VARCHAR"",
""ID"" as ""ID"",
sum(""DECIMAL_MEASURE"") as ""DECIMAL_MEASURE""
from ""_SYS_BIC"".""DEMO/CV_ALLTYPES""
where
""COL_ALPHANUM"" = ? or
""COL_BIGINT"" = ? or
""COL_BINARY"" = ? or
""COL_BOOLEAN"" = ? or
""COL_DATE"" = ?
group by
""COL_ALPHANUM"",
""COL_BIGINT"",
""COL_BINARY"",
""COL_BOOLEAN"",
""COL_DATE"",
{
[ SqlType = "CHAR", Value = "M" ],
// COL_ALPHANUM - CHAR
[ SqlType = "BIGINT", Value = 4 ],
// COL_BIGINT - BIGINT
[ SqlType = "BINARY", Value = Binary.FromText("AKvN",
BinaryEncoding.Base64) ], // COL_BINARY - BINARY
[ SqlType = "BOOLEAN", Value = true ],
// COL_BOOLEAN - BOOLEAN
[ SqlType = "DATE", Value = #date(2022, 5, 27) ],
// COL_DATE - TYPE_DATE
} ,
[EnableFolding=false]
)
in
Source

Suporte a atributos dinâmicos


A maneira como o conector de banco de dados SAP HANA trata as colunas calculadas
foi aprimorada. O conector de banco de dados SAP HANA é um conector de "cubo", e
há alguns conjuntos de operações (adicionar itens, recolher colunas e assim por diante)
que acontecem no espaço de "cubo". Esse espaço de cubo é exibido na interface do
usuário do Power Query Desktop e do Power Query Online pelo ícone de "cubo" que
substitui o ícone de "tabela" mais comum.

Antes, quando você adicionava uma coluna de tabela (ou outra transformação que
adiciona internamente uma coluna), a consulta "descartava o espaço do cubo" e todas
as operações eram feitas no nível da tabela. Em algum momento, essa desistência pode
fazer com que a consulta pare de dobrar. Não era mais possível executar operações de
cubo depois de adicionar uma coluna.

Com essa alteração, as colunas adicionadas são tratadas como atributos dinâmicos
dentro do cubo. Fazer com que a consulta permaneça no espaço do cubo para essa
operação tem a vantagem de permitir que você continue usando operações de cubo
mesmo depois de adicionar colunas.

7 Observação

Essa nova funcionalidade só está disponível quando você se conecta às Exibições


de Cálculo no SAP HANA Server versão 2.0 ou superior.

A consulta de exemplo a seguir aproveita esse novo recurso. No passado, você obteria
uma exceção "o valor não é um cubo" ao aplicar Cube.CollapseAndRemoveColumns.

Power Query M

let
Source = SapHana.Database(“someserver:someport”,
[Implementation="2.0"]),
Contents = Source{[Name="Contents"]}[Data],
SHINE_CORE_SCHEMA.sap.hana.democontent.epm.models =
Contents{[Name="SHINE_CORE_SCHEMA.sap.hana.democontent.epm.models"]}[Data],
PURCHASE_ORDERS1 =
SHINE_CORE_SCHEMA.sap.hana.democontent.epm.models{[Name="PURCHASE_ORDERS"]}
[Data],
#"Added Items" = Cube.Transform(PURCHASE_ORDERS1,
{
{Cube.AddAndExpandDimensionColumn, "[PURCHASE_ORDERS]", {"
[HISTORY_CREATEDAT].[HISTORY_CREATEDAT].Attribute", "[Product_TypeCode].
[Product_TypeCode].Attribute", "[Supplier_Country].
[Supplier_Country].Attribute"}, {"HISTORY_CREATEDAT", "Product_TypeCode",
"Supplier_Country"}},
{Cube.AddMeasureColumn, "Product_Price", "[Measures].
[Product_Price]"}
}),
#"Inserted Year" = Table.AddColumn(#"Added Items", "Year", each
Date.Year([HISTORY_CREATEDAT]), Int64.Type),
#"Filtered Rows" = Table.SelectRows(#"Inserted Year", each
([Product_TypeCode] = "PR")),
#"Added Conditional Column" = Table.AddColumn(#"Filtered Rows",
"Region", each if [Supplier_Country] = "US" then "North America" else if
[Supplier_Country] = "CA" then "North America" else if [Supplier_Country] =
"MX" then "North America" else "Rest of world"),
#"Filtered Rows1" = Table.SelectRows(#"Added Conditional Column", each
([Region] = "North America")),
#"Collapsed and Removed Columns" =
Cube.CollapseAndRemoveColumns(#"Filtered Rows1", {"HISTORY_CREATEDAT",
"Product_TypeCode"})
in
#"Collapsed and Removed Columns"

Próximas etapas
Habilitar a criptografia para SAP HANA

Os artigos a seguir contêm mais informações que lhe podem ser úteis ao se conectar a
um banco de dados SAP HANA.

Gerenciar sua fonte de dados – SAP HANA


Usar Kerberos para logon único (SSO) no SAP HANA
Habilitar a criptografia para SAP HANA
Artigo • 23/03/2023

Recomendamos que você criptografe as conexões com um servidor SAP HANA do


Power Query Desktop e do Power Query Online. Habilite a criptografia do HANA usando
a biblioteca CommonCryptoLib (conhecida anteriormente como sapcrypto) proprietária
da SAP. A SAP recomenda o uso da CommonCryptoLib.

7 Observação

A SAP deixou de dar suporte ao OpenSSL e, por esse motivo, a Microsoft também
descontinuou o suporte a ele. Em vez disso, use CommonCryptoLib.

Este artigo fornece uma visão geral de como habilitar a criptografia usando o
CommonCryptoLib, e faz referência a algumas áreas específicas da documentação do
SAP. Atualizamos o conteúdo e os links periodicamente, mas para obter instruções e
suporte abrangentes, consulte sempre a documentação oficial do SAP. Use
CommonCryptoLib para configurar a criptografia em vez do OpenSSL; para obter etapas
para fazer isso, acesse Como configurar o TLS/SSL no SAP HANA 2.0 . Para ver etapas
sobre como migrar do OpenSSL para o CommonCryptoLib, vá para a nota SAP
2093286 (s-user necessário).

7 Observação

As etapas de configuração de criptografia detalhadas neste artigo se sobrepõem às


etapas de instalação e configuração do SSO do SAML. Se for usar o
CommonCryptoLib como o provedor de criptografia do servidor HANA, certifique-
se de que sua escolha pelo CommonCryptoLib seja consistente entre as
configurações de criptografia e SAML.

Há quatro fases para habilitar a criptografia para o SAP HANA. Abordaremos essas fases
em seguida. Para saber mais, confira Proteger a comunicação entre o SAP HANA Studio
e o servidor do SAP HANA com SSL

Use CommonCryptoLib
Verifique se o servidor HANA está configurado para usar o CommonCryptoLib como
provedor criptográfico.
Criar uma solicitação de assinatura de
certificado
Crie uma solicitação de assinatura de certificado X509 para o servidor HANA.

1. Com o SSH, conecte-se ao computador Linux em que o servidor HANA é


executado como <sid>adm.

2. Vá para o diretório base /usr/sap/<sid>/home/.ssl. O arquivo .ssl oculto já existirá


se a AC raiz já tiver sido criada.

Se você ainda não tiver um AC que possa ser usado, crie um AC raiz seguindo as
etapas descritas em Proteger a comunicação entre o SAP HANA Studio e o
servidor SAP HANA com SSL .

3. Execute o comando a seguir:

sapgenpse gen_pse -p cert.pse -r csr.txt -k GN-dNSName:<HOSTNAME com


FQDN> "CN=<HOSTNAME com FQDN>"

Este comando cria uma solicitação de assinatura de certificado e uma chave privada.
Preencha <HOSTNAME com FQDN> com o nome do host e o FQDN (nome de domínio
totalmente qualificado).

Obter uma assinatura para o certificado


Obtenha o certificado assinado por uma AC (autoridade de certificação) que seja
confiável para os clientes que você usará para se conectar ao servidor HANA.

1. Se você já tiver uma AC de empresa confiável (representada por CA_Cert.pem e


CA_Key.pem no exemplo a seguir), assine a solicitação de certificado executando o
seguinte comando:

openssl x509 -req -days 365 -in csr.txt -CA CA_Cert.pem -CAkey CA_Key.pem -
CAcreateserial -out cert.pem

2. Copie o novo arquivo, cert.pem, para o servidor.

3. Crie a cadeia de certificados do servidor HANA:

sapgenpse import_own_cert -p cert.pse -c cert.pem

4. Reinicie o servidor HANA.

5. Verifique a relação de confiança entre um cliente e a AC usada para assinar o


certificado do servidor SAP HANA.

O cliente deve confiar na AC usada para assinar o certificado X509 do servidor


HANA antes que uma conexão criptografada possa ser feita com servidor HANA
do computador do cliente.

Há várias maneiras de garantir que essa relação de confiança exista usando o


MMC (Console de Gerenciamento Microsoft) ou a linha de comando. É possível
importar o certificado X509 da AC (cert.pem) para a pasta Autoridades de
Certificação Confiáveis do usuário que estabelecerá a conexão ou para a mesma
pasta do computador cliente, se isso for desejável.

Primeiro, converta cert.pem em um arquivo .crt antes de importar o certificado


para a pasta Autoridades de Certificação Raiz Confiáveis.

Testar a conexão

7 Observação
Antes de usar os procedimentos nesta seção, você deve se conectar ao Power BI
usando suas credenciais da conta de administrador.

Antes de validar um certificado de servidor no serviço do Power BI online, você deve ter
uma fonte de dados já configurada para o gateway de dados local. Se você ainda não
tiver uma fonte de dados configurada para testar a conexão, precisará criar uma. Para
configurar a fonte de dados no gateway:

1. No serviço do Power BI, selecione o ícone de configuração.

2. Na lista suspensa, selecione Gerenciar gateways.

3. Selecione as reticências (...) ao lado do nome do gateway que você deseja usar
com esse conector.

4. Na lista suspensa, selecione Adicionar fonte de dados.

5. Nas Configurações da Fonte de Dados, insira o nome da fonte de dados que você
deseja chamar de nova fonte na caixa de texto Nome da Fonte de Dados.

6. Em Tipo de Fonte de Dados, selecione SAP HANA.

7. Insira o nome do servidor no Servidor e selecione o método de autenticação.

8. Continue seguindo as instruções no próximo procedimento.

Teste a conexão no Power BI Desktop ou no serviço do Power BI.

1. No Power BI Desktop ou na página Configurações de Fontes de Dados do serviço


do Power BI, verifique se a opção Validar certificado do servidor está habilitada
antes de tentar estabelecer uma conexão com o servidor SAP HANA. Para o
provedor de criptografia SSL, selecione commoncrypto. Deixe os campos
"Repositório de chaves SSL" e "Repositório confiável SSL" em branco.

Power BI Desktop
Serviço do Power BI

2. Verifique se é possível estabelecer com êxito uma conexão criptografada com o


servidor com a opção Validar certificado do servidor habilitada, carregando dados
no Power BI Desktop ou atualizando um relatório publicado no serviço do Power
BI.

Você observará que somente as informações do provedor de criptografia SSL são


necessárias. No entanto, sua implementação pode exigir que você também use o
repositório de chaves e o repositório de confiança. Para obter mais informações sobre
esses repositórios e como criá-los, acesse as propriedades de conexão TLS/SSL do lado
do cliente (ODBC) .

Informações adicionais
Propriedades de configuração do TLS/SSL do lado do servidor para comunicação
externa (JDBC/ODBC)
Próximas etapas
Configurar o SSL para acesso do cliente ODBC ao SAP HANA
Configurar o SSL para acesso do cliente
ODBC ao SAP HANA
Artigo • 23/03/2023

Se você estiver se conectando a um banco de dados SAP HANA do Power Query Online,
talvez seja necessário configurar vários valores de propriedade para se conectar. Essas
propriedades podem ser o provedor de criptografia SSL, um repositório de chaves SSL e
um repositório de confiança SSL. Você também pode exigir que a conexão seja
criptografada. Nesse caso, você pode usar o aplicativo Administrador da Fonte de
Dados ODBC fornecido com o Windows para configurar essas propriedades.

No Power BI Desktop e no Excel, você pode configurar essas propriedades ao entrar


pela primeira vez usando o conector de banco de dados Power Query SAP HANA. A
seleção de certificado do servidor validar na caixa de diálogo de autenticação está
habilitada por padrão. Em seguida, você pode inserir valores no provedor de
criptografia SSL, no repositório de chaves SSL e nas propriedades do repositório de
confiança SSL nesta caixa de diálogo. No entanto, todas as seleções de certificado de
servidor validadas na caixa de diálogo de autenticação no Power BI Desktop e no Excel
são opcionais. Eles são opcionais no caso de você querer usar o Administrador da Fonte
de Dados ODBC para configurá-los no nível do driver.

7 Observação

Você deve ter o driver ODBC do SAP HANA adequado (32 bits ou 64 bits) instalado
antes de poder definir essas propriedades no Administrador da Fonte de Dados
ODBC.

Se você usar o Administrador da Fonte de Dados ODBC para configurar o provedor de


criptografia SSL, o repositório de chaves SSL e o repositório de confiança SSL no Power
BI ou no Excel, desmarque a caixa de seleção Validar certificado do servidor quando
apresentada com a caixa de diálogo de autenticação.
Para usar o Administrador de fonte de dados ODBC para configurar as seleções de
certificado do servidor de validação:

1. No menu Iniciar do Windows, selecioneFontes de Dados ODBC das


Ferramentas>Administrativas do Windows. Se você estiver usando uma versão de
32 bits do Power BI Desktop ou do Excel, abra fontes de dados ODBC (32 bits),
caso contrário, abra fontes de dados ODBC (64 bits).

2. Na guia DSN do Usuário, selecione Adicionar.

3. Na caixa de diálogo Criar Nova Fonte de Dados, selecione Driver ODBC do Simba
Spark e clique em Concluir.
4. Na caixa de diálogo Configuração ODBC para SAP HANA , insira um nome de
fonte de dados. Em seguida, insira as informações do servidor e do banco de
dados e selecione Validar o certificado TLS/SSL.
5. Selecione o botão Avançado.

6. Na caixa de diálogo Configuração avançada da Propriedade de Conexão ODBC ,


selecione o botão Adicionar.

7. Na caixa de diálogo Adicionar/Modificar Propriedade de Conexão, insira


sslCryptoProvider na caixa de texto Propriedade.

8. Na caixa de texto Valor , insira o nome do provedor de criptografia que você usará:
sapcrypto, commoncrypto, openssl ou mscrypto.

9. Selecione OK.

10. Você também pode adicionar as propriedades e valores opcionais sslKeyStore e


sslTrustStore, se necessário. Se a conexão precisar ser criptografada, adicione
ENCRYPT como a propriedade e TRUE como o valor.

11. Na caixa de diálogo Configuração avançada da Propriedade de Conexão ODBC ,


selecione o botão OK.

12. Para testar a conexão que você configurou, selecione Testar conexão na caixa de
diálogo Configuração ODBC para SAP HANA.

13. Quando a conexão de teste for concluída com êxito, selecione OK.

Para obter mais informações sobre as propriedades de conexão do SAP HANA, consulte
As Propriedades de Configuração do TLS/SSL do Lado do Servidor para Comunicação
Externa (JDBC/ODBC) .
7 Observação

Se você selecionar Validar certificado de servidor na caixa de diálogo de


autenticação do SAP HANA no Power BI Desktop ou no Excel, todos os valores que
você inserir no provedor de criptografia SSL, no repositório de chaves SSL e no
repositório de confiança SSL na caixa de diálogo de autenticação substituirão
todas as seleções que você configurou usando o Administrador da Fonte de Dados
ODBC.

Próximas etapas
Solução de problemas do conector de banco de dados SAP HANA
Solução de problemas
Artigo • 23/03/2023

A seção a seguir descreve alguns problemas que podem ocorrer ao usar o conector do
SAP HANA para Power Query, junto com algumas soluções possíveis.

Limitações e problemas conhecidos


Há algumas limitações no uso do SAP HANA, conforme mostrado abaixo:

Cadeias de caracteres NVARCHAR são truncadas para um comprimento máximo de


4 mil caracteres Unicode.
Não há suporte para SMALLDECIMAL.
Não há suporte para VARBINARY.
As Datas Válidas estão entre 30/12/1899 e 31/12/9999.

Erro: Este conector requer que um ou mais


componentes adicionais sejam instalados
O conector procura o driver no registro, portanto, se o driver não foi instalado
corretamente, ele não aparecerá.

A chave do Registro é:

HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\ODBC Drivers

Se você estiver usando um computador 64 bits, mas o Excel ou o Power BI Desktop for
32 bits (como mostrado nas capturas de tela abaixo), verifique o driver no nó
WOW6432:

HKEY_LOCAL_MACHINE\Software\WOW6432Node\ODBC\ODBCINST.INI\ODBC Drivers

Observe que o driver precisa corresponder à versão de bit do Excel ou do Power BI


Desktop. Se você estiver usando:

Excel/Power BI Desktop de 32 bits, precisará do driver ODBC de 32 bits


(HDBODBC32).
Excel/Power BI Desktop de 64 bits, precisará do driver ODBC de 64 bits
(HDBODBC).

Geralmente, o driver é instalado ao executar o hdbsetup.exe.


Por fim, o driver também deve aparecer como "ODBC DataSources 32 bits" ou "ODBC
DataSources 64 bits".

Coletar rastreamentos do driver ODBC do SAP


HANA
Para capturar um rastreamento do SAP HANA:

1. Abra uma janela de linha de comando.

2. Dependendo da instalação, talvez seja necessário ir até C:\Arquivos de Programas


em vez de C:\Arquivos de Programas (x86). O comando também pode ser
hdbodbc_cons.exe em vez do hdbodb_cons32.exe.

3. Digite os seguintes comandos:

cd C:\Program Files (x86)\sap\hdbclient


hdbodbc_cons32.exe config trace api on
hdbodbc_cons32.exe config trace sql on
hdbodbc_cons32.exe config trace debug on
hdbodbc_cons32.exe config trace short on
hdbodbc_cons32.exe config trace packet 99999999999999
hdbodbc_cons32.exe config trace filename D:\tmp\odbctraces\hana-%p.html
hdbodbc_cons32.exe trace refresh
hdbodbc_cons32.exe show all

4. Abra o Power BI, limpe o cache e execute novamente o cenário.

5. Depois de concluído, feche os rastreamentos:

Do Caminho do arquivo de log, na guia Rastreamento do Administrador da


Fonte de dados do ODBC.
Do rastreamento do HANA com base no caminho configurado com o
comando hdbodbc_cons32.exe config trace filename.

6. Desabilite o rastreamento usando o seguinte comando:

hdbodbc_cons.exe trace off

Ao capturar um rastreamento do SAP HANA, observe as seguintes considerações:

Os comandos de rastreamento devem ser executados com o usuário que


executará o processo de mashup que acessa o servidor do SAP HANA.
O caminho do arquivo de rastreamento especificado deve ser editável pelo usuário
que executa o processo de mashup.

Por exemplo:

Para capturar as conexões não SSO do gateway, lembre-se de usar o usuário do


serviço de gateway. Ou seja, execute a janela de linha de comando com o usuário
do gateway quando quiser executar as chamadas hdodbc_cons.exe. Verifique se o
usuário do servidor de gateway pode gravar no local do arquivo de log
especificado.
Para capturar as conexões SSO do gateway, use o usuário do SSO.

SAP HANA: privilégio insuficiente


A causa desta mensagem pode ser:

O usuário não tem privilégios suficientes para a exibição que está tentando
acessar.

O seguinte problema conhecido:

Problema: não é possível se conectar ao SAP Hana do PBI Desktop usando o


cliente SAP 2.0 37.02, mas se você fizer downgrade da versão do cliente para
1.00.120.128, funcionará.

ERROR MESSAGE: External error: ERROR [S1000] [SAP AG][LIBODBCHDB DLL][HDBODBC]

General error;258 insufficient privilege: [2950] user is not authorized

Resposta da SAP:

Infelizmente, esse é um problema do SAP, portanto, você precisará aguardar uma


correção da SAP.
Pasta do SharePoint
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Dynamics 365 Customer Insights

Tipos de autenticação compatíveis Anônima


Conta da Microsoft
Windows

Documentação de referência da função SharePoint.Contents


SharePoint.Files

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

7 Observação

O AAD/OAuth para SharePoint local não é suportado ao usar o gateway de dados


local.

Funcionalidades com suporte


Caminho da pasta
Combinar
Combinar e carregar
Combinar e transformar
Determinar a URL do site
Quando você estiver se conectando a um site do SharePoint, será solicitado a inserir a
URL do site. Para localizar a URL do site que contém a sua pasta do SharePoint, primeiro
abra uma página no SharePoint. Em uma página do SharePoint, é possível obter o
endereço do site ao selecionar a Página Inicial no painel de navegação ou o ícone do
site na parte superior. Copie o endereço da barra de endereços do navegador da Web e
salve para usar mais tarde.

Conectar-se à pasta do SharePoint desde o


Power Query Desktop
Para conectar-se à pasta do SharePoint:

1. Em Obter dados, selecione Pasta do SharePoint.

2. Cole a URL do site do SharePoint copiada em Determinar URL do site no campo


URL do Site, na caixa de diálogo Pasta do SharePoint. Neste exemplo, a URL do
site é https://contoso.sharepoint.com/marketing/data . Se o URL do site inserido
for inválido, um ícone de aviso aparecerá ao lado da caixa de texto URL.
Selecione OK para continuar.

3. Se esta for a primeira vez que você visita esse endereço de site, selecione o
método de autenticação apropriado. Insira suas credenciais e escolha o nível no
qual você deseja aplicar essas configurações. Depois, selecione Conectar.

Para obter mais informações sobre métodos de autenticação e as configurações de


nível, acesse Autenticação com uma fonte de dados.

4. Depois de selecionar a pasta do SharePoint que deseja usar, as informações de


arquivo sobre todos os arquivos nessa pasta do SharePoint serão exibidas. Além
disso, as informações de arquivo sobre todos os arquivos em quaisquer subpasta
também serão exibidas.

5. Selecione Combinar &Transformar dados para combinar os dados nos arquivos da


pasta selecionada do SharePoint e carregar os dados no Editor do Power Query
para edição. Ou selecione Combinar & Carregar para carregar os dados de todos
os arquivos na pasta do SharePoint diretamente em seu aplicativo.

7 Observação

As opções Combinar & Transformar dados e Combinar & Carregar são as


maneiras mais fáceis de combinar os dados nos arquivos da pasta do SharePoint
que você especificou. Também é possível usar as opções Carregar ou Transformar
dados para combinar os arquivos, mas isso requer mais etapas manuais.

Conectar-se à pasta do SharePoint desde o


Power Query Online
Para conectar-se à pasta do SharePoint:

1. Na página Fontes de dados, selecione Pasta do SharePoint.

2. Cole a URL do site do SharePoint copiada em Determinar URL do site no campo


URL do Site, na caixa de diálogo Pasta do SharePoint. Neste exemplo, a URL do
site é https://contoso.sharepoint.com/marketing/data .
3. Se a pasta do SharePoint for local, insira o nome do gateway de dados local.

4. Selecione o tipo de autenticação e insira todas as credenciais necessárias.

5. Selecione Avançar.

6. Depois de selecionar a pasta do SharePoint que deseja usar, as informações de


arquivo sobre todos os arquivos nessa pasta do SharePoint serão exibidas. Além
disso, as informações de arquivo sobre todos os arquivos em quaisquer subpasta
também serão exibidas.

7. Selecione Combinar para combinar os dados nos arquivos da pasta selecionada do


SharePoint e carregar os dados no Editor do Power Query para edição.

7 Observação

A opção Combinar é a maneira mais fácil de combinar os dados encontrados


nos arquivos da pasta do SharePoint que você especificou. Também é possível
usar a opção Transformar dados para combinar os arquivos, mas isso requer
mais etapas manuais.

Solução de problemas

Combinar arquivos
Todos os arquivos na pasta do SharePoint que você selecionar serão incluídos nos
dados a serem combinados. Se você tiver arquivos de dados localizados em uma
subpasta da pasta do SharePoint, todos esses arquivos também serão incluídos. Para
assegurar que a combinação dos dados do arquivo funcione corretamente, verifique se
todos os arquivos na pasta e nas subpastas têm o mesmo esquema.

Em alguns casos, pode haver várias pastas no site do SharePoint que contêm diferentes
tipos de dados. Nesse caso, exclua os arquivos desnecessários. Para excluir esses
arquivos:

1. Na lista de arquivos da pasta do SharePoint escolhida, selecione Transformar


dados.

2. No editor do Power Query, role para baixo até encontrar os arquivos que você
deseja manter.
3. No exemplo mostrado na captura de tela acima, os arquivos necessários estão nas
últimas linhas da tabela. Selecione Remover linhas, insira o valor da última linha
antes dos arquivos a serem mantidos (neste caso, 903) e selecione OK.

4. Depois de remover todos os arquivos desnecessários, selecione Combinar


arquivos na faixa de opções da Página Inicial para combinar os dados de todos os
arquivos restantes.

Para obter mais informações sobre como combinar arquivos, acesse Combinar arquivos
no Power Query.

Caracteres especiais do nome de arquivo


Se um nome de arquivo contiver determinados caracteres especiais, poderão ocorrer
erros de autenticação porque o nome do arquivo fica truncado na URL. Se ocorrerem
erros de autenticação incomuns, verifique se todos os nomes de arquivo que você está
usando contêm algum dos seguintes caracteres especiais.

# % $
Se esses caracteres estiverem presentes no nome do arquivo, o proprietário do arquivo
deverá renomeá-lo, excluindo os caracteres.

Permissões
Ao solicitar o conteúdo da biblioteca de documentos, você deve ter acesso de leitura ao
site do SharePoint, bem como à biblioteca de documentos e a todas as pastas que
levam ao arquivo solicitado.

Autenticação do Azure Active Directory


A autenticação do Azure Active Directory (AAD) não tem suporte para fontes locais do
SharePoint.
Lista do SharePoint
Artigo • 14/07/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (Dataflow Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365
Analysis Services

Tipos de autenticação compatíveis Anônima


Windows
Conta da Microsoft

Documentação de referência da função SharePoint.Contents


SharePoint.Files
SharePoint.Tables

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

7 Observação

Não há suporte para AAD/OAuth para SharePoint local usando o gateway de dados
local.

Funcionalidades com suporte


URL do site

Determinar URL do site


Quando você estiver se conectando a um site do SharePoint, será solicitado a inserir a
URL do site. Para localizar a URL do site que contém sua lista do SharePoint, primeiro
abra uma página no SharePoint. Na página do SharePoint, é possível obter o endereço
do site ao selecionar a Página Inicial no painel de navegação ou o ícone do site na parte
superior. Copie o endereço da barra de endereços do navegador da Web e salve para
usar mais tarde.

Conectar-se à lista do SharePoint desde o


Power Query Desktop
Conectar-se à Lista do SharePoint:

1. Em Obter Dados, selecione Lista do SharePoint.

2. Cole a URL do site do SharePoint copiada em Determinar URL do site no campo


URL do Site, na caixa de diálogo aberta.
Se o endereço da URL inserido for inválido, um ícone de aviso aparecerá ao
lado da caixa de texto URL do site.

Selecione OK para continuar.

3. Se esta for a primeira vez que você visitou esse endereço do site, selecione o
método de autenticação apropriado. Insira suas credenciais e escolha o nível no
qual você deseja aplicar essas configurações. Depois, selecione Conectar.

Para obter mais informações sobre métodos de autenticação e configurações de


nível, acesse Autenticação com uma fonte de dados.

4. No Navegador, é possível selecionar um local e transformar os dados no editor do


Power Query ao selecionar Transformar dados ou carregar os dados ao selecionar
Carregar.
Conectar-se à lista do SharePoint desde o
Power Query Online
Conectar-se à Lista do SharePoint:

1. Na página Fontes de dados, selecione a lista do SharePoint.

2. Cole a URL do site do SharePoint copiada em Determinar URL do site no campo


URL do Site, na caixa de diálogo aberta.

3. Insira o nome de um gateway de dados local, se necessário.


4. Selecione o tipo de autenticação e insira todas as credenciais necessárias.

5. Selecione Avançar.

6. No Navegador, é possível selecionar um local e transformar os dados no editor de


Power Query ao selecionar Avançar.

Solução de problemas

Usar o endereço raiz do SharePoint


Verifique se você forneceu o endereço raiz do site do SharePoint sem subpastas ou
documentos. Por exemplo, use um link semelhante ao seguinte:
https://contoso.sharepoint.com/teams/ObjectModel/

Comportamento inconsistente nos dados boolianos


Ao usar o conector de lista do SharePoint, os valores boolianos são representados
inconsistentemente como TRUE/FALSE ou 1/0 nos ambientes do Power BI Desktop e no
serviço do Power BI. Isso pode resultar em dados incorretos, filtros incorretos e visuais
vazios.

Esse problema acontece apenas quando o Tipo de dados não está explicitamente
definido para uma coluna no Modo de Exibição de consulta do Power BI Desktop. Você
pode constatar que o tipo de dados não está definido ao ver a imagem "ABC 123" na
coluna e o tipo de dados "Qualquer" na faixa de opções, conforme mostrado abaixo.
O usuário pode forçar a interpretação a ser consistente ao definir explicitamente o tipo
de dados para a coluna por meio do Editor do Power Query. Por exemplo, a imagem a
seguir mostra a coluna com um tipo booliano explícito.

Utilização do OData para acessar uma lista do SharePoint


Se você usar um feed OData para acessar uma lista do SharePoint, haverá uma limitação
de aproximadamente 2.100 caracteres para a URL que você usa para se conectar. Para
mais informações, consulte: Comprimento máximo da URL

Autenticação do Azure Active Directory


Não há suporte para a autenticação do Azure Active Directory (AAD) para fontes locais
do SharePoint.

Próximas etapas
Otimizar o Power Query ao expandir as colunas da tabela
Lista do SharePoint Online
Artigo • 14/07/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (Dataflow Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365

Tipos de autenticação compatíveis Anônima


Windows
Conta da Microsoft

Documentação de referência da função SharePoint.Contents


SharePoint.Files
SharePoint.Tables

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Funcionalidades com suporte


URL do site

Determinar URL do site


Quando você estiver se conectando a um site do SharePoint, será solicitado a inserir a
URL do site. Para localizar a URL do site que contém sua lista do SharePoint, primeiro
abra uma página no SharePoint. Em uma página do SharePoint, é possível obter o
endereço do site ao selecionar a Página Inicial no painel de navegação ou o ícone do
site na parte superior. Copie o endereço da barra de endereços do navegador da Web e
salve para usar mais tarde.
Conectar-se à lista do SharePoint Online no
Power Query Desktop
Para se conectar a uma lista do SharePoint Online:

1. Em Obter Dados, selecione Lista do SharePoint Online.

2. Cole a URL do site do SharePoint copiada em Determinar URL do site no campo


URL do Site, na caixa de diálogo aberta.

Se o endereço da URL inserido for inválido, um ícone de aviso aparecerá ao


lado da caixa de texto URL do site.

Você também pode selecionar a implementação 1.0 desse conector ou a


implementação 2.0. Mais informações: Conectar-se à lista do SharePoint Online
v2.0
Selecione OK para continuar.

3. Se esta for a primeira vez que você visitou esse endereço do site, selecione o
método de autenticação apropriado. Insira suas credenciais e escolha o nível no
qual você deseja aplicar essas configurações. Depois, selecione Conectar.

Para obter mais informações sobre métodos de autenticação e configurações de


nível, acesse Autenticação com uma fonte de dados.

4. No Navegador, é possível selecionar um local e transformar os dados no editor do


Power Query ao selecionar Transformar dados ou carregar os dados ao selecionar
Carregar.

Conectar-se à lista do SharePoint Online no


Power Query Online
Para se conectar a uma lista do SharePoint Online:

1. Na página Fontes de dados, selecione a Lista do SharePoint Online.


2. Cole a URL do site do SharePoint copiada em Determinar URL do site no campo
URL do Site, na caixa de diálogo aberta.

3. Insira o nome de um gateway de dados local, se necessário.

4. Selecione o tipo de autenticação e insira todas as credenciais necessárias.

5. Selecione Avançar.

6. No Navegador, é possível selecionar um local e transformar os dados no editor do


Power Query ao selecionar Transformar dados.

Conectar-se à lista do SharePoint Online v2.0


Na versão de outubro de 2020 do Power BI Desktop, apresentamos uma versão
atualizada do conector de lista do SharePoint Online. Esse conector melhorou as APIs e
a usabilidade, mas não é compatível com versões anteriores, como a versão do conector
1.0. A versão do conector 2.0 está em disponibilidade geral a partir de setembro de
2022.

Para acessá-lo, você inserirá a mesma tela do conector por meio da etapa 2 em
Conectar-se a uma lista do SharePoint Online no Power Query Desktop. No entanto,
selecione 2.0 em Implementação se ela ainda não estiver selecionada.

Com essa atualização do conector, estamos disponibilizando duas exibições diferentes


para os mesmos dados:

Todos
Default

A exibição Todos inclui todas as colunas criadas pelo usuário e definidas pelo sistema. É
possível ver quais colunas estão incluídas na tela a seguir.
A exibição padrão é o que você verá ao examinar a lista online em qualquer exibição
definida como Padrão nas configurações. Se você editar essa exibição para adicionar ou
remover colunas criadas pelo usuário ou definidas pelo sistema, ou ao criar uma nova
exibição e definindo-o como padrão, essas alterações serão propagadas por meio do
conector.

7 Observação

Se você definir o modo de exibição padrão em seu site do SharePoint como modo
de exibição Calendário ou Quadro , o SharePoint retornará apenas as colunas
mostradas no modo de exibição selecionado. Nesse cenário, o Power BI não
recuperará todas as colunas na lista, mesmo que você escolha a opção Todos . Isso
ocorre por design.

Solução de problemas

Usar o endereço raiz do SharePoint


Verifique se você forneceu o endereço raiz do site do SharePoint sem subpastas ou
documentos. Por exemplo, use um link semelhante a
https://contoso.sharepoint.com/teams/ObjectModel/ .

Problemas de fuso horário


Ao usar o conector da lista do SharePoint Online (v1.0), você pode observar que os
dados de fuso horário não correspondem ao esperado no navegador. O cliente baseado
na Web do SharePoint faz uma conversão de fuso horário local de acordo com o
conhecimento do navegador sobre o fuso horário do usuário.

A API de back-end do SharePoint usa a hora UTC e envia esse horário UTC diretamente
para o Power BI. O Power BI não converte esse horário UTC, mas o relata ao usuário.
Para obter a hora local, o usuário deve fazer a mesma conversão que o cliente do
SharePoint faz. A seguir, há um exemplo das operações de coluna que fariam isso:

#"Changed Type" = Table.TransformColumnTypes(#"Renamed Columns",


{{"Datewithtime", type datetimezone}}),
#"Timezone Shifted" = Table.TransformColumns(#"Changed Type",
{"Datewithtime", DateTimeZone.ToLocal})

A primeira operação altera o tipo para datetimezone , e a segunda operação converte-o


na hora local do computador.

Limite de junção do SharePoint


Esse problema é limitado ao conector da lista do SharePoint Online v2.0

O conector da lista do SharePoint Online v2.0 usa uma API diferente do conector v1.0 e
está sujeito a um máximo de 12 operações de junção por consulta, conforme a
Documentação do SharePoint Online em Limite de pesquisa de exibição da lista. Esse
problema se manifestará nos erros das consultas do SharePoint quando mais de 12
colunas forem acessadas simultaneamente em uma lista do SharePoint. No entanto,
você pode contornar essa situação criando uma exibição padrão com menos de 12
colunas de pesquisa.

Usar o OData para acessar uma lista do SharePoint Online


Se você usar um feed do OData para acessar uma lista do SharePoint Online, haverá
uma limitação de aproximadamente 2100 caracteres para a URL que você usa para se
conectar. Mais informações: Comprimento máximo da URL
SingleStore (Beta)
Artigo • 14/07/2023

7 Observação

O artigo sobre o conector a seguir é fornecido pela SingleStore, proprietária desse


conector e membro do Programa de certificação de conector do Microsoft Power
Query. Se tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações
neste artigo, visite o site da SingleStore e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Beta

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (Dataflow Gen2)

Tipos de autenticação compatíveis Basic


Windows

Funcionalidades com suporte


Importação
DirectQuery (Conjuntos de dados do Power BI)

Conectar ao SingleStore
Para conectar o Microsoft Power BI Desktop ao banco de dados ou ao Serviço
gerenciado do SingleStore:

1. Na faixa de opções da Página Inicial, na lista Obter dados, selecione Mais.

2. Na caixa de diálogo Obter dados, selecione o Conector de consulta direta do


SingleStore 1.0.
3. Na caixa de diálogo Banco de dados do SingleStore, insira o endereço IP ou o
nome do host do cluster do SingleStore em Servidor. Em Banco de dados, digite o
nome do banco de dados.

No modo Conectividade de dados, selecione o modo Importar ou DirectQuery e


OK.
4. Na caixa de diálogo Conector de consulta direta do SingleStore 1.0, no painel
esquerdo, selecione o tipo de autenticação (Windows ou Básica).

7 Observação

Os usuários do SingleStoreDB Cloud podem usar apenas a autenticação


Básica.

Na autenticação do Windows, configure um servidor SingleStore para


autenticação Kerberos . Em seguida, selecione Conectar.

7 Observação

Você precisa executar o Power BI com a conta de usuário que mapeia


para o usuário do banco de dados do SingleStore.

Na autenticação Básica, insira o nome de usuário e a senha usados para


conectar ao SingleStore e selecione Conectar.
5. Depois de autenticado (para o modo Importar ou DirectQuery), na caixa de
diálogo do Navegador, escolha as tabelas desejadas e selecione Carregar.

Agora, você pode usar o Power BI para explorar os dados do SingleStore.

Criar um relatório SQL personalizado

7 Observação

Qualquer usuário que crie um relatório SQL personalizado deve ter acesso de
somente leitura aos bancos de dados do SingleStore.
Para criar um novo relatório SQL personalizado:

1. Abra o Power BI Desktop.

2. Na faixa de opções da Página Inicial, na lista Obter dados, selecione Consulta em


branco.

3. Na caixa de diálogo Editor do Power Query, especifique a consulta no seguinte


formato:

SingleStoreODBC.Query("<ip_address_or_hostname>", "<database>", "<query>")

Envie a consulta.

7 Observação

Se você estiver usando o servidor pela primeira vez, selecione Editar


credenciais e insira as credenciais. Acesse a Etapa 4 em Conectar ao
SingleStore para obter mais informações.

4. Verifique os dados a serem carregados e selecione Fechar &Aplicar.

5. Se você já trabalhou com o conjunto de dados antes e ele está armazenado em


cache na memória, atualize o relatório para redefinir o cache local. Na faixa de
opções da Página Inicial, selecione Atualizar.

Para atualizar os relatórios SQL personalizados existentes, selecione Atualizar na faixa


de opções da Página Inicial.

Modificar as credenciais
Para modificar as credenciais usadas para se conectar ao SingleStore:

1. Na faixa de opções de Arquivo, selecione Opções e configurações>Configurações


da fonte de dados.

2. Na caixa de diálogo Configurações da fonte de dados, selecione Conector


DirectQuery do SingleStore 1.0 e clique em Editar permissões.
SIS-CC SDMX (Beta)
Artigo • 05/10/2023

7 Observação

O artigo do conector a seguir é fornecido pela SIS-CC (Statistical Information


System Collaboration Community), a proprietária deste conector e membro do
Programa de Certificação do Conector do Microsoft Power Query. Se tiver dúvidas
sobre o conteúdo deste artigo ou desejar fazer alterações neste artigo, acesse o
site da SIS-CC e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Beta

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Anônima

Documentação de referência da função —

Pré-requisitos
Para começar, confirme se você configurou corretamente a URL da API do provedor de
serviços. O processo exato dependerá do provedor de serviços.

Funcionalidades com suporte


Importação do formato SDMX-CSV 2.1. Não há suporte para outros formatos.

Instruções de conexão
Para se conectar aos dados do Serviço Web do SDMX:
1. Selecione Obter Dados na faixa de opções Início no Power BI Desktop. Selecione
Todas nas categorias à esquerda e selecione SIS-CC SDMX. Depois, selecione
Conectar.

2. Preencha os parâmetros:
a. Na URL da consulta de dados, insira uma URL de consulta de dados REST do
SDMX (o serviço Web deve dar suporte ao formato SDMX-CSV).
b. No Formato de exibição, selecione uma das opções:

Mostrar códigos e rótulos; exemplo: FREQ: Frequência


Mostrar códigos; exemplo: FREQ
Mostrar rótulos; exemplo: Frequência
Opcionalmente, insira uma preferência de linguagem em Preferência da
linguagem do rótulo usando uma marca IETF BCP 47
3. Se essa for a primeira vez que você está se conectando ao serviço Web REST na
URL de consulta de dados da etapa anterior, essa etapa de autenticação será
exibida. Como a conexão é Anônima, selecione Conectar

4. Selecione Carregar para importar os dados para o Power BI ou Transformar Dados


para editar a consulta no Editor do Power Query em que você poderá refinar a
consulta antes de carregar no Power BI.

Limitações e problemas
Esta versão do conector não dá suporte à importação de formatos de dados SDMX-ML
ou SDMX-JSON.

Próximas etapas
Se você quiser enviar uma solicitação de recurso ou contribuir com o projeto de código
aberto, acesse o site de projeto do Gitlab .
Smartsheet
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Conta organizacional

Documentação de referência da função —

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Funcionalidades com suporte


Importação

Limitações e problemas

Conectando-se a diferentes regiões do Smartsheet


O conector Smartsheet só oferece suporte à conexão com https://app.smartsheet.com .
No momento, não há planos para oferecer suporte a outros domínios ou regiões.
Snowflake
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)

Tipos de autenticação compatíveis Banco de dados (nome de usuário/senha), Azure AD

Documentação de referência da função —

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Funcionalidades com suporte


Importação
DirectQuery (conjuntos de dados do Power BI)
Opções avançadas
Especifique um valor de texto a ser usado como Nome da função
Colunas do relacionamento
Tempo limite da conexão em segundos
Tempo limite do comando em segundos
Banco de dados
Instrução de SQL nativa

Conectar-se ao data warehouse Snowflake no


desktop Power Query
Para fazer a conexão com um depósito de computação Snowflake , siga as seguintes
etapas:

1. Selecione Obter dados na faixa de opções Página Inicial em Power BI Desktop,


selecione Banco de dados nas categorias à esquerda, selecione Snowflake e
selecione Conectar.

2. Na janela Snowflake exibida, insira o nome do servidor Snowflake em Servidor e o


nome do seu depósito de computação Snowflake em Depósito.
3. Opcionalmente, insira valores em todas as opções avançadas que quiser usar para
modificar a consulta de conexão, como um valor de texto a ser usado como um
Nome de função ou um tempo limite de comando. Mais informações: Conectar
usando opções avançadas

4. Selecione OK.

5. Para entrar no seu depósito de computação Snowflake, insira seu nome de usuário
e senha e selecione Conectar.

7 Observação

Quando você insere seu nome de usuário e senha para um servidor


Snowflake específico, o Power BI Desktop usa as mesmas credenciais em
tentativas de conexão subsequentes. Você pode modificar essas credenciais
indo até Arquivo > Opções e configurações > Configurações de fonte de
dados. Mais informações: Alterar o método de autenticação

Se você quiser usar a opção da conta Microsoft, a integração do Azure Active


Directory (Azure AD) do Snowflake deverá ser configurada no Snowflake. Mais
informações: SSO do Power BI para o Snowflake – Introdução
6. Em Navegador, selecione um ou vários elementos para importação e uso no
Power BI Desktop. Em seguida, selecione Carregar para carregar a tabela no Power
BI Desktop ou Transformar dados para abrir o Editor do Power Query em que você
pode filtrar e refinar o conjunto de dados que deseja usar e, em seguida, carregar
esse conjunto refinado de dados em Power BI Desktop.

7. Selecione Importar para importar dados diretamente no Power BI ou selecione


DirectQuery e selecione OK. Mais informações: Usar o DirectQuery no Power BI
Desktop

7 Observação

O SSO (logon único) do Azure Active Directory (Azure AD) dá suporte apenas
ao DirectQuery.
Conectar-se a um banco de dados Snowflake
do Power Query Online
Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção Snowflake na seleção do conector.

2. Na caixa de diálogo do Snowflake exibida, insira o nome do servidor e do


depósito.

3. Insira os valores que você deseja usar nas opções avançadas. Se houver opções
avançadas não representadas na interface do usuário, você poderá editá-las no
Editor avançado no Power Query posteriormente.

4. Insira suas credenciais de conexão, selecione ou crie uma nova conexão, qual
gateway você gostaria de usar e um nome de usuário e senha.

5. Selecione Avançar para se conectar ao banco de dados.

6. No Navegador, selecione os dados necessários e selecione Transformar dados


para transformar os dados em Editor do Power Query.
Conectar usando opções avançadas
O Power Query tem um conjunto de opções avançadas que você pode adicionar à sua
consulta, se necessário.

A tabela a seguir lista todas as opções avançadas que você pode definir no Power
Query.

Opção avançada Descrição

Nome da função Especifica a função que o relatório usa pelo driver. Essa função deve estar
disponível para o usuário, caso contrário, nenhuma função será definida.

Adicionar colunas de Se marcada, inclui colunas que podem ter relações com outras tabelas. Se
relação essa caixa estiver desmarcada, você não verá essas colunas.

Tempo limite da Especifica quanto tempo aguardar uma resposta ao interagir com o
conexão em serviço Snowflake antes de retornar um erro. O padrão é 0 (sem tempo
segundos limite).

Tempo limite do Especifica quanto tempo aguardar a conclusão de uma consulta antes de
comando em retornar um erro. O padrão é 0 (sem tempo limite).
segundos

Banco de dados Especifica um banco de dados específico no depósito. Esta opção está
disponível somente no Power Query Desktop.

Instrução SQL Para obter mais informações, acesse Importar dados de um banco de
dados usando a consulta natuva de banco de dados. Esta opção está
disponível somente no Power Query Desktop.
Depois de selecionar as opções avançadas necessárias, selecione OK no Power Query
Desktop ou Avançar no Power Query Online para se conectar ao banco de dados
Snowflake.

Limitações e problemas conhecidos

Hífens em nomes de banco de dados


Se um nome de banco de dados tiver um hífen, você poderá encontrar um ODBC:
ERROR[42000] SQL compilation error . Esse é um problema conhecido e não há nenhuma

solução alternativa conhecida disponível. Uma correção está sendo investigada e a


documentação aqui será atualizada quando a correção estiver pronta.

Informações adicionais
Conectar-se ao Snowflake no serviço do Power BI
Socialbakers (Beta)
Artigo • 05/10/2023

7 Observação

O artigo sobre o conector a seguir é fornecido pela Socialbakers (agora Emplifi),


proprietária desse conector e membro do Programa de certificação de conector do
Microsoft Power Query. Se tiver dúvidas sobre o conteúdo deste artigo ou desejar
fazer alterações neste artigo, visite o site da Emplifi e use os canais de suporte.

Resumo
Item Descrição

Estado da versão Beta

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Basic

Documentação de referência da função —

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Para usar o conector Socialbakers (Emplifi), você deve ter credenciais do Socialbakers
(Emplifi) (Token e Segredo). Entre em contato com a equipe de suporte da Emplifi para
obter o seu, caso não tenha. As credenciais permitem que o usuário obtenha os dados e
as métricas dos perfis que o usuário adicionou à plataforma Emplifi.

Funcionalidades com suporte


Importação
Conectar-se à API do Socialbakers desde o
Power BI Desktop

Autenticação
Quando o conector é iniciado pela primeira vez, a autenticação é necessária. Insira seu
Token e Segredo na nova janela modal. As credenciais podem ser fornecidas a você pela
equipe de Suporte da Emplifi.

Depois de entrar, as informações de autenticação são armazenadas automaticamente


pelo Power BI para uso futuro. Ele pode ser encontrado em Arquivo>Opções e
configurações>Configurações da fonte de dados>Permissões globais.

A qualquer momento, as permissões podem ser apagadas (ou editadas) e novas


credenciais podem ser inseridas.
Navegador
Uma vez autenticado, uma janela do Navigator aparece. Todas as fontes de dados
possíveis podem ser selecionadas aqui.
Nem todas as fontes de dados são iguais. As diferenças são descritas posteriormente.

Exemplo de uso
1. Escolha a fonte de dados com a qual você quer trabalhar marcando a caixa de
seleção.

Os parâmetros podem ser selecionados na seção direita do Navigator.


2. Insira os dados e selecione as métricas na seção Parâmetros. Para obter mais
detalhes sobre as métricas, visite a documentação da API do Socialbakers .

Segue abaixo um exemplo de seleção:


Data de início: 07/01/2021
Data de Término: 07/30/2021
Termine hoje: No
Métricas: engagement_rate (FB, IG, TW, YT, VK), likes(FB, IG, TW, YT)
Dimensão de tempo: day
Dimensões profile :
Perfis Facebook: Emplifi (<profile_id>)
Perfis Instagram: Emplifi (<profile_id>)
Perfis YouTube: Emplifi (<profile_id>)

3. Depois que todos os parâmetros necessários estiverem selecionados, selecione


Aplicar.

7 Observação
Nem todos os parâmetros são explicitamente obrigatórios, mas podem ser
necessários para seleções específicas. Por exemplo, a seleção de perfil é
opcional, mas você ainda precisa selecionar alguns perfis para obter dados.

4. Depois que todos os dados e métricas estiverem selecionados, use o botão


Carregar para carregar os dados no relatório. Também é possível Transformar
Dados antes de carregá-los no relatório.

7 Observação

É possível selecionar mais de uma fonte de dados marcando mais caixas,


definindo os parâmetros e selecionando Carregar.

Fonte de dados do Facebook Ads

O Facebook Ads é uma fonte de dados um pouco mais específica que difere das outras.
Todas as outras fontes (por exemplo, Métricas de Postagem Agregadas, Métricas de
Postagem, Métricas de Perfil) seguem o mesmo processo descrito acima. O Facebook
Ads tem uma etapa extra a ser executada antes que os parâmetros sejam definidos.

Quando selecionado, o Facebook Ads exibe primeiro uma lista dos últimos 12 meses.
Ao selecionar os meses específicos, você está restringindo todas as suas Contas do
Facebook Ads àquelas que estavam ativas no período selecionado.
Você pode selecionar as Contas de anúncios específicas na seção Parâmetros no
parâmetro "Contas", juntamente com a seleção de Campanhas.

Solução de problemas
Se ocorrer algum erro, verifique a documentação e verifique se você está seguindo as
diretrizes da API.

Instruções adicionais
É possível limpar a seleção de parâmetros escolhendo Limpar.
Se Transformar Dados for escolhido, você poderá ver toda a documentação da
função a partir da qual é possível obter mais compreensão do que está
acontecendo por trás da tela.
SoftOne BI (beta)
Artigo • 14/07/2023

7 Observação

O artigo do conector a seguir é fornecido pela SoftOne, proprietária desse conector


e membro do Programa de Certificação de Conector do Microsoft Power Query. Se
tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações neste
artigo, acesse o site da SoftOne e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Beta

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (Dataflow Gen2)

Tipos de autenticação compatíveis Básica (Soft1/Atlantis Web Services)

Pré-requisitos
Você precisará do produto Soft1 ERP/CRM ou Atlantis ERP instalado com um módulo de
conector SoftOne BI licenciado. Uma conta da Web deve ser configurada no aplicativo
com acesso ao serviço do Conector SoftOne BI. As informações dessa conta e o número
de série da instalação serão validados durante a autenticação pelo conector SoftOne BI.

O conector SoftOne BI tem suporte do Soft1 Series 5 versão 500.521.11424 ou posterior


e do Atlantis ERP versão 3.3.2697.1 ou posterior.

Funcionalidades com suporte


Importar

Instruções de conexão
A SoftOne fornece muitos modelos como arquivos de modelo do Power BI (.pbit) que
você pode usar ou personalizar, o que fornecerá um início para o seu projeto de BI. Por
exemplo, Vendas & Coleções e Finanças.

Para se conectar ao Power BI Desktop usando um novo relatório, siga as etapas abaixo.
Se você estiver se conectando por meio de um relatório criado usando um dos modelos
do SoftOne BI, confira Usar um modelo fornecido mais adiante neste artigo.

Conectar-se ao armazenamento de dados do Soft1 ou


Atlantis do zero
Para carregar dados de sua instalação com o Power Query Desktop:

1. Selecione Obter Dados > Mais... > Serviços Online no Power BI Desktop e
pesquise SoftOne BI. Selecione Conectar.
2. Selecione Entrar. Um formulário de autenticação será exibido.

7 Observação

Se você inserir credenciais incorretas, receberá uma mensagem


informando que sua entrada falhou devido a credenciais inválidas.
Se o Conector SoftOne BI não estiver ativado ou a Conta da Web que
você está usando não estiver configurada com o serviço, você receberá
uma mensagem informando que o acesso foi negado porque o módulo
selecionado não está ativado.

3. Depois de entrar nos Serviços Web da SoftOne, você poderá se conectar ao


armazenamento de dados.
A seleção de Conectar levará você para a tabela de navegação e exibirá as tabelas
disponíveis no armazenamento de dados no qual você poderá selecionar os dados
necessários.

4. Agora, no navegador, você verá as tabelas em seu armazenamento de dados. A


busca nas tabelas pode levar algum tempo.

É necessário ter carregado os dados da sua instalação do Soft1 ou do Atlantis (de


acordo com a documentação do produto) para ver alguma tabela. Se você ainda
não carregou os dados, não verá nenhuma tabela exibida na Tabela de Navegação.
Nesse caso, você precisará voltar ao aplicativo e carregar seus dados.

Usando um modelo fornecido


1. Abra o modelo selecionado, o Power BI Desktop tentará carregar os dados do
armazenamento de dados e solicitará credenciais.

2. Selecione Entrar e insira suas credenciais (número de série, nome de usuário e


senha).
3. Depois de autenticado, selecione Conectar.

O Power BI Desktop buscará os dados no armazenamento de dados.

4. Depois que a atualização for concluída, você estará pronto para começar a
personalizar o relatório ou publicá-lo como está no Serviço do Power BI.
) Importante

Se você estiver trabalhando com mais de uma instalação do Soft1/Atlantis, ao


alternar entre armazenamentos de dados, você deverá limpar as credenciais do
SoftOne BI salvas pelo Power BI Desktop.
Central de Serviços SolarWinds (Beta)
Artigo • 05/10/2023

Esse conector permite importar registros de incidentes do SolarWinds Service Desk para
o Microsoft Power BI. Você pode importar registros dos últimos dois anos. Você terá
dados brutos sobre os tópicos mais relevantes para sua organização, que poderão ser
analisados e revisados exibindo-os em vários formatos, como tabelas, gráficos e tabelas.

7 Observação

O artigo sobre o conector a seguir é fornecido pela SolarWinds, proprietária desse


conector e membro do Programa de certificação de conector do Microsoft Power
Query. Se você tiver dúvidas sobre o conteúdo deste artigo ou quiser solicitar
alterações nele, visite o site de documentação do SolarWinds Service Desk e
forneça comentários na parte inferior da página.

Resumo
Item Descrição

Estado da versão Beta

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis SolarWinds Service Desk JSON Web Token (JWT)

Pré-requisitos
Antes de usar esse conector para obter dados do SolarWinds Service Desk, você deve
ter um usuário do SolarWinds Service Desk que tenha configurado a autenticação de
token para integração de API .

Funcionalidades com suporte


Importação

Conectar-se ao SolarWinds Service Desk


Para conectar-se ao SolarWinds Service Desk:

1. No Power BI Desktop, selecione Obter Dados em Início. Selecione Outras


categorias à esquerda, selecione SolarWinds Service Desk e Conectar.

2. Entre com o token da Web JSON gerado conforme descrito nos pré-requisitos e
selecione Conectar para verificar seu acesso ao SolarWinds Service Desk.
3. Na caixa de diálogo Navegador, selecione a tabela que deseja importar. Em
seguida, você pode carregar ou transformar os dados.

Limitações e problemas
Os usuários devem estar cientes das seguintes limitações e problemas associados ao
acesso ao SolarWinds Service Desk:

Você pode importar apenas uma vez por dia; ou seja, uma vez a cada 24 horas. Se
você tentar atualizar antes do ciclo de 24 horas permitido, receberá uma
mensagem de erro.
Não há limite para o número de usuários que podem extrair dados, mas cada
usuário pode atualizar apenas uma vez a cada 24 horas.

Apenas dados de incidentes são importados, fornecendo detalhes históricos de 1º


de janeiro de 2020 até hoje. Os campos de incidente importados são limitados. Se
você precisar importar um campo que não está disponível, poderá solicitar que ele
seja adicionado. Se você tiver dúvidas sobre o que pode ser importado ou
problemas com a integração do Power BI, envie um email para
Rinat.Gil@solarwinds.com.

Erro de credencial no Navegador


Se ocorrer um erro de credencial no Navegador, desmarque as configurações recentes
da fonte de dados.

1. No Power BI Desktop, selecione Arquivo>Configurações da fonte de dados.


2. Selecione a fonte de dados do SolarWinds Service Desk e selecione Limpar
permissões.

3. Estabeleça a conexão com o Navigator novamente.


Banco de dados do SQL Server Analysis
Services
Artigo • 06/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power Apps (Fluxos de dados)
Analysis Services

Tipos de autenticação compatíveis Básico


Conta Microsoft
Conta organizacional
Windows

Referência da função M Sql.Database


Sql.Databases

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
O Analysis Services deve ser instalado junto com o SQL Server. Confira informações
sobre como instalar o Analysis Services no SQL Server em Instalar o SQL Server Analysis
Services. Este artigo do conector pressupõe que você já tenha instalado o Analysis
Services no SQL Server e tenha um banco de dados existente na instância do servidor.

Funcionalidades com suporte


Importação
Conectar em tempo real (Power BI Desktop)
Opções avançadas
Consulta MDX ou DAX

Conecte-se ao banco de dados do SQL Server


Analysis Services no Power Query Desktop
Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção Banco de Dados do SQL Server Analysis Services na seleção do


conector. Mais informações: Locais para obter dados

2. Na caixa de diálogo Banco de dados do SQL Server Analysis Services exibida,


forneça o nome do servidor e do banco de dados (opcional).

7 Observação

Somente o Power BI Desktop exibirá as opções Importar e Conectar em


tempo real. Se você estiver se conectando usando o Power BI Desktop, a
seleção de Conectar em tempo real usará uma conexão em tempo real para
carregar os dados conectados diretamente no Power BI Desktop. Nesse caso,
você não poderá usar o Power Query para transformar seus dados antes de
carregá-los no Power BI Desktop. Para os fins deste artigo, a opção Importar
está selecionada. Para obter mais informações sobre como usar uma conexão
em tempo real no Power BI Desktop, acesse Conectar dados tabulares do
Analysis Services no Power BI Desktop.

3. Selecione OK.

4. Se você estiver se conectando a esse banco de dados pela primeira vez, selecione
o tipo de autenticação e insira suas credenciais. Depois, selecione Conectar.
5. No Navegador, selecione as informações desejadas do banco de dados e
selecione Carregar para carregar os dados ou Transformar dados para continuar
transformando os dados no editor do Power Query.

Conecte-se ao banco de dados do SQL Server


Analysis Services no Power Query Online
Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção Banco de Dados do SQL Server Analysis Services na seleção do


conector. Mais informações: Locais para obter dados
2. Na página Conectar à fonte dados, forneça o nome do servidor e do banco de
dados (opcional).

3. Se necessário, selecione um gateway de dados local.

4. Se você estiver se conectando a esse banco de dados pela primeira vez, selecione
o tipo de autenticação e insira suas credenciais.

5. Selecione Avançar para continuar.

6. No Navegador, selecione os dados necessários e Transformar dados.


Conectar usando opções avançadas
O Power Query tem uma opção avançada que você pode adicionar à sua consulta, se
necessário.

Opção Descrição
avançada

Instrução MDX Opcionalmente, fornece uma instrução MDX ou DAX específica para o servidor
ou DAX de banco de dados do SQL Server Analysis Services executar.

Depois de inserir um valor na opção avançada, selecione OK no Power Query Desktop


ou Avançar no Power Query Online para se conectar ao banco de dados do SQL Server
Analysis Services.

Confira também
Conectar dados tabulares do Analysis Services no Power BI Desktop
Conectar-se a modelos multidimensionais do SSAS no Power BI Desktop
Conectar-se a conjuntos de dados no serviço do Power BI no Power BI Desktop
SQL Server
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365
Analysis Services

Tipos de autenticação Banco de dados (nome de usuário/senha)


compatíveis Windows
Azure Active Directory (se o servidor especificado for
compatível)

Referência da função M Sql.Database


Sql.Databases

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Por padrão, o Power BI instala um driver OLE DB para SQL Server. No entanto, para um
desempenho ideal, recomendamos que o cliente instale o SQL Server Native Client
antes de usar o conector Azure Synapse Analytics (SQL DW). O SQL Server Native Client
11.0 e o SQL Server Native Client 10.0 têm suporte para a versão mais recente.

Funcionalidades com suporte


Importação
DirectQuery (conjuntos de dados do Power BI)
Opções avançadas
Tempo limite do comando em minutos
Instrução de SQL nativa
Colunas do relacionamento
Navegar usando hierarquia completa
Suporte de failover do SQL Server

Conectar-se a um banco de dados SQL Server


do Power Query Desktop
Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção Banco de dados do SQL Server na seleção de conector.

2. Na caixa de diálogo Banco de dados SQL Server exibida, forneça o nome do


servidor e do banco de dados (opcional).

3. Selecione o modo de conectividade de dados Importar ou DirectQuery (somente


Power BI Desktop).

4. Selecione OK.

5. Se essa for a primeira vez que você está se conectando a esse banco de dados,
selecione o tipo de autenticação, insira suas credenciais e selecione o nível ao qual
deseja aplicar as configurações de autenticação. Depois, selecione Conectar.
7 Observação

Se a conexão não estiver criptografada, o seguinte prompt será exibido.

Selecione OK para se conectar ao banco de dados usando uma conexão não


criptografada ou siga estas instruções para configurar conexões criptografadas
para SQL Server.

6. No Navegador, selecione as informações de banco de dados e selecione Carregar


para carregar os dados ou Transformar Dados para continuar transformando os
dados em Editor do Power Query.
Conectar-se ao banco de dados SQL Server do
Power Query Online
Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção Banco de dados do SQL Server na seleção de conector.

2. Na caixa de diálogo Banco de dados SQL Server exibida, forneça o nome do


servidor e do banco de dados (opcional).

3. Se necessário, selecione um gateway de dados local.


4. Se essa for a primeira vez que você esta se conectando a esse banco de dados,
selecione o tipo de autenticação e insira suas credenciais.

5. Se a conexão não estiver criptografada e a caixa de diálogo de conexão contiver


uma caixa de seleção Usar Conexão Criptografada, desmarque a caixa de seleção.

6. Selecione Avançar para continuar.

7. No Navegador, selecione os dados necessários e Transformar dados.

Conectar usando opções avançadas


Tanto o Power Query Desktop quanto o Power Query Online fornecem um conjunto de
opções avançadas que você pode adicionar à sua consulta, se necessário. A tabela a
seguir lista todas as opções avançadas que você pode definir no Power Query Desktop e
no Power Query Online.

Opção avançada Descrição

Tempo limite do Se a sua conexão durar mais de 10 minutos (o tempo limite padrão), você
comando em poderá inserir outro valor em minutos para manter a conexão aberta por
minutos mais tempo. Esta opção está disponível somente no Power Query Desktop.

Instrução SQL Para obter mais informações, acesse Importar dados de um banco de
dados usando a consulta natuva de banco de dados.

Adicionar colunas Se marcada, inclui colunas que podem ter relações com outras tabelas. Se
de relação essa caixa estiver desmarcada, você não verá essas colunas.

Navegar usando Se marcada, o navegador exibirá a hierarquia completa de tabelas no


hierarquia completa banco de dados ao qual você está se conectando. Se apagado, o
Navegador exibirá apenas as tabelas cujas colunas e linhas contêm dados.
Opção avançada Descrição

Habilitar o suporte Se marcada, quando um nó no SQL Server do SQL do Azure não estiver
de failover do SQL disponível, o Power Query passará desse nó para outro quando ocorrer
Server failover. Se estiver limpo, nenhum failover ocorrerá.

Depois de selecionar as opções avançadas necessárias, selecione OK no Power Query


Desktop ou Avançar no Power Query Online para se conectar ao banco de dados SQL
Server.

Limitações e problemas conhecidos

Erros de certificado
Ao usar o conector de banco de dados do SQL Server, se a criptografia estiver
desativada e o certificado do SQL Server não for confiável no cliente (Power BI Desktop
ou gateway de dados local), você verá o seguinte erro.

A connection was successfully established with the server, but then an error
occurred during the login process. (provider: SSL Provider, error: 0 - The

certificate chain was issued by an authority that is not trusted.

Colunas Always Encrypted


O Power Query não suporta colunas "Sempre criptografadas".

Autenticação do Azure Active Directory


A autenticação do Azure Active Directory só terá suporte no conector do SQL Server se
o servidor especificado também oferecer suporte à autenticação do Azure Active
Directory. Caso contrário, você pode encontrar o erro: "O método de autenticação
OAuth não tem suporte nesta fonte de dados".

No serviço do Power BI, o método de autenticação do Azure Active Directory aparece


como "OAuth2".

Próximas etapas
Otimizar o Power Query ao expandir as colunas da tabela
Stripe (preterido)
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da versão Preterido

Produtos -

Tipos de autenticação compatíveis -

Documentação de referência da função -

Reprovação
Esse conector foi descontinuado e em breve não será mais suporte. Recomendamos que
faça a transição das conexões existentes usando esse conector. Não use esse conector
para novas conexões.
SumTotal
Artigo • 05/10/2023

7 Observação

O artigo a seguir sobre o conector é fornecido pela SumTotal, proprietária desse


conector e membro do Programa de certificação de conector do Microsoft Power
Query. Se tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações
neste artigo, visite o site da SumTotal e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação Credenciais de SumTotal usando OAuth 2.0

Pré-requisitos
Você deve ter um ambiente hospedado na SumTotal com permissões padrão para
acessar o portal e permissões de leitura para acessar os dados nas tabelas.

Funcionalidades com suporte


Importação
Consultar vários pontos de extremidade OData
Avançado
Se desejar, filtre registros pelo parâmetro RowVersionId para obter dados
incrementais

Como localizar sua URL hospedada na


SumTotal
Copie na íntegra a URL raiz hospedada na SumTotal. Essa URL raiz é a URL exclusiva
específica da sua instância. O URL deve estar no formato
https://<*yourcustomerdomain*>.sumtotal.host/ . Lembre-se de não copiar o restante da

URL. Mantenha essa URL em algum lugar acessível para que você possa usá-lo mais
tarde.

Conectar-se à SumTotal desde o Power BI


Desktop

7 Observação

Atualmente, o conector Sumtotal para Power Query é adequado apenas para


pontos de extremidade da API OData. Para obter mais informações, vá até a
funcionalidade da API OData de SumTotal .

Para se conectar à SumTotal desde o Power BI Desktop:

1. Na guia Página Inicial, selecione Obter dados.

2. Na caixa de diálogo Obter Dados, selecione Outros > SumTotal e escolha


Conectar.
3. Insira o endereço de URL do servidor dos dados que deseja carregar.

7 Observação

Você verá um erro de script, que carrega scripts JS/CSS que o formulário de
login usa. Selecione Sim.

4. Quando a tabela for carregada no Navegador, aparecerá uma lista de entidades da


API OData, suportadas no momento pelo conector. É possível selecionar uma ou
várias entidades para carregar.

5. Quando terminar de selecionar entidades, selecione Carregar ou Transformar


Dados.
7 Observação

Se esta for a primeira vez que você está se conectando a este site, selecione Entrar
e insira suas credenciais. Depois, selecione Conectar.

Limitações e problemas conhecidos


Esta seção descreve os problemas ou limitações associados ao conector de SumTotal.

Limites de desempenho e limitações da API OData da


SumTotal
Para obter informações sobre o desempenho da API OData e os limites para conexões
de SumTotal, vá até a funcionalidade da API OData de SumTotal na seção
Observações importantes. Essas limitações se aplicam ao conector de SumTotal (que
usa a API OData como um detalhe de implementação) e à API hospedada OData 'real'
ao acessar os mesmos pontos de extremidade.

Taxa de recuperação da tabela


Como diretriz, a maioria das tabelas padrão é recuperada em aproximadamente 1000
linhas por segundo usando o conector de SumTotal. Se precisar de taxas de recuperação
mais rápidas, considere usar o parâmetro de filtro RowVersionId. Você pode transmitir
esse parâmetro diretamente para o URL hospedado do ambiente anexando-o como um
parâmetro de string de consulta. Exemplo de URL completo com o parâmetro
rowVersionId: https://{host}.sumtotalystems.com/?rowVersionId=1234 .
Banco de dados Sybase
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Excel
Customer Insights do Dynamics 365
Analysis Services

Tipos de autenticação compatíveis Banco de dados


Windows

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Antes de se conectar a um banco de dados Sybase, você precisa do driver SAP SQL
Anywhere instalado no computador. Selecione o driver correspondente à sua
instalação do Excel (32 ou 64 bits).

Funcionalidades com suporte


Importação
Opções avançadas
Tempo limite do comando em minutos
SQL statement
Adicionar colunas de relação
Navegar usando hierarquia completa
Conectar-se a um banco de dados Sybase a
partir do Power Query Desktop
Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção Banco de dados Sybase em Obter Dados. Mais informações:


Locais para obter dados

2. Especifique o servidor Sybase ao qual se conectar no Servidor e o banco de dados


onde seus dados estão armazenados no Banco de dados.

3. Selecione OK.

4. Se for a primeira vez que você está se conectando a este servidor e banco de
dados Sybase, selecione o tipo de autenticação que deseja usar, insira as
credenciais e selecione Conectar. Para obter mais informações sobre como usar e
gerenciar a autenticação, acesse Autenticação com uma fonte de dados.
5. No Navegador, selecione os dados necessários e selecione Carregar para carregar
os dados ou Transformar dados para transformar os dados.

Conectar-se a um banco de dados Sybase a


partir do Power Query Online
Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção Banco de dados Sybase na página Escolher fonte de dados.


Mais informações: Locais para obter dados

2. Especifique o servidor Sybase ao qual se conectar no Servidor e o banco de dados


onde seus dados estão armazenados no Banco de dados.

3. Selecione o nome do gateway de dados local.

7 Observação

Você deve selecionar um gateway de dados local para esse conector,


independentemente de o banco de dados Sybase estar na rede local ou
online.

4. Se for a primeira vez que você está se conectando a este servidor e banco de
dados Sybase, selecione o tipo de credenciais para a conexão em Tipo de
autenticação. Escolha Básico se você pretende usar uma conta criada no banco de
dados Sybase em vez da autenticação do Windows. Para obter mais informações
sobre como usar e gerenciar a autenticação, acesse Autenticação com uma fonte
de dados.
5. Insira suas credenciais.

6. Selecione Usar Conexão Criptografada se você quiser usar uma conexão


criptografada ou desmarque a opção se quiser usar uma conexão não
criptografada.

7. Selecione Avançar para continuar.

8. No Navegador, selecione os dados necessários e selecione Transformar dados


para transformar os dados no editor do Power Query.

Conectar usando opções avançadas


O Power Query tem um conjunto de opções avançadas que você pode adicionar à sua
consulta, se necessário.

A tabela a seguir lista todas as opções avançadas que você pode definir no Power
Query.

Opção avançada Descrição

Tempo limite do Se a sua conexão durar mais de 10 minutos (o tempo limite padrão), você
comando em poderá inserir outro valor em minutos para manter a conexão aberta por
minutos mais tempo.
Opção avançada Descrição

Instrução SQL Para obter mais informações, acesse Importar dados de um banco de dados
usando a consulta natuva de banco de dados.

Adicionar colunas Se marcada, inclui colunas que podem ter relações com outras tabelas. Se
de relação essa caixa estiver desmarcada, você não verá essas colunas.

Navegar usando Se marcada, o navegador exibirá a hierarquia completa de tabelas no banco


hierarquia de dados ao qual você está se conectando. Se desmarcada, o navegador
completa exibe apenas as tabelas cujas colunas e linhas contêm dados.

Depois de selecionar as opções avançadas necessárias, selecione OK no Power Query


Desktop ou Avançar no Power Query Online para se conectar ao banco de dados
Sybase.
Banco de dados Teradata
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365
Analysis Services

Tipos de autenticação compatíveis Banco de dados


Windows

Documentação de referência da função Teradata.Database

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Antes de se conectar a um banco de dados Teradata, você precisa do .NET Data Provider
for Teradata instalado no computador.

Funcionalidades com suporte


Importação
DirectQuery (conjuntos de dados do Power BI)
Opções avançadas
Tempo limite do comando em minutos
SQL statement
Adicionar colunas de relação
Navegar usando hierarquia completa

Conectar-se a um banco de dados Teradata a


partir do Power Query Desktop
Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção Banco de dados Teradata em Obter Dados. Mais informações:


Locais para obter dados

2. Especifique o servidor Teradata ao qual se conectar em Servidor.

3. Se você estiver se conectando de Power BI Desktop, selecione o modo de


conectividade de dados Importar ou DirectQuery. O restante dessas etapas de
exemplo usa o modo de conectividade Importar dados. Para saber mais sobre o
DirectQuery, vá até Usar o DirectQuery no Power BI Desktop.

4. Selecione OK.

5. Se for a primeira vez que você está se conectando a este banco de dados Teradata,
selecione o tipo de autenticação que deseja usar, insira as credenciais e selecione
Conectar. Para obter mais informações sobre como usar e gerenciar a
autenticação, acesse Autenticação com uma fonte de dados.
6. No Navegador, selecione os dados necessários e selecione Carregar para carregar
os dados ou Transformar dados para transformar os dados.

Conectar-se a um banco de dados Teradata a


partir do Power Query Online
Para fazer a conexão, execute as seguintes etapas:

1. Selecione a opção Banco de dados Teradata na página Escolher fonte de dados.


Mais informações: Locais para obter dados

2. Especifique o servidor Teradata ao qual se conectar em Servidor.


3. Selecione o nome do gateway de dados local.

7 Observação

Você deve selecionar um gateway de dados local para esse conector,


independentemente de o banco de dados Teradata estar na rede local ou
online.

4. Se for a primeira vez que você está se conectando a este banco de dados Teradata,
selecione o tipo de credenciais para a conexão em Tipo de autenticação. Escolha
Básico se você pretende usar uma conta criada no banco de dados Teradata em
vez da autenticação do Windows. Para obter mais informações sobre como usar e
gerenciar a autenticação, acesse Autenticação com uma fonte de dados.

5. Insira suas credenciais.

6. Selecione Usar Conexão Criptografada se você quiser usar uma conexão


criptografada ou desmarque a opção se quiser usar uma conexão não
criptografada.
7. Selecione Avançar para continuar.

8. No Navegador, selecione os dados necessários e selecione Transformar dados


para transformar os dados no editor do Power Query.

Conectar usando opções avançadas


O Power Query tem um conjunto de opções avançadas que você pode adicionar à sua
consulta, se necessário.

A tabela a seguir lista todas as opções avançadas que você pode definir no Power
Query.

Opção avançada Descrição

Tempo limite do Se a sua conexão durar mais de 10 minutos (o tempo limite padrão), você
comando em poderá inserir outro valor em minutos para manter a conexão aberta por
minutos mais tempo.

Instrução SQL Para obter mais informações, acesse Importar dados de um banco de dados
usando a consulta natuva de banco de dados.

Adicionar colunas Se marcada, inclui colunas que podem ter relações com outras tabelas. Se
de relação essa caixa estiver desmarcada, você não verá essas colunas.

Navegar usando Se marcada, o navegador exibirá a hierarquia completa de tabelas no banco


hierarquia de dados ao qual você está se conectando. Se desmarcada, o navegador
completa exibe apenas as tabelas cujas colunas e linhas contêm dados.

Depois de selecionar as opções avançadas necessárias, selecione OK no Power Query


Desktop ou Avançar no Power Query Online para se conectar ao banco de dados
Teradata.
Texto/CSV
Artigo • 14/07/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (Dataflow Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365
Analysis Services

Documentação de Referência da Função File.Contents


Lines.FromBinary
Csv.Document

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Funcionalidades com suporte


Importar

Conectar-se ao arquivo de texto/CSV local no


Power Query Desktop
Para carregar um arquivo de texto ou CSV local:

1. Selecione a opção Texto/CSV em Obter Dados. Essa ação inicia um navegador de


arquivos local em que você pode selecionar o arquivo de texto.
Escolha Abrir para abrir o arquivo.

2. No Navegador, é possível transformar os dados no Editor do Power Query ao


selecionar Transformar Dados ou carregar os dados ao selecionar Carregar.

Conectar-se ao arquivo de texto/CSV local no


Power Query Online
Para carregar um arquivo de texto ou CSV local:

1. Na página Fontes de dados, selecione Texto/CSV.

2. Em Configurações de conexão, insira um caminho de arquivo para o arquivo de


texto ou CSV local desejado.
3. Selecione um gateway de dados local no gateway de dados.

4. Insira um nome de usuário e uma senha.

5. Selecione Avançar.

6. No Navegador, selecione Transformar Dados para começar a transformar os


dados no Editor do Power Query.

Carregar na Web
Para carregar um arquivo de texto ou CSV na Web, selecione o Conector Web, insira o
endereço Web do arquivo e siga os prompts de credenciais.

Delimitadores de texto/CSV
O Power Query tratará os CSVs como arquivos estruturados usando uma vírgula como
delimitador— um caso especial de um arquivo de texto. Se você escolher um arquivo de
texto, o Power Query tentará determinar automaticamente se ele tem valores separados
por delimitador e qual é esse delimitador. Se for possível inferir um delimitador, o Power
Query o tratará automaticamente como uma fonte de dados estruturada.

Texto não estruturado


Se o arquivo de texto não tiver estrutura, você obterá uma única coluna com uma nova
linha por linha codificada no texto de origem. Como exemplo de texto não estruturado,
você pode considerar um arquivo de bloco de notas com o seguinte conteúdo:

Hello world.
This is sample data.

Ao carregar o arquivo, será exibida uma tela de navegação que carrega cada uma
dessas linhas em sua própria linha.

Há apenas uma coisa que você pode configurar nesta caixa de diálogo, que é a seleção
de lista suspensa Origem do Arquivo. Essa lista suspensa permite selecionar qual
conjunto de caracteres foi usado para gerar o arquivo. No momento, o conjunto de
caracteres não é inferido e o UTF-8 só será inferido se começar com BOM UTF-8.
CSV
É possível encontrar um arquivo CSV de exemplo aqui .

Além da origem do arquivo, o CSV também dá suporte à especificação do delimitador e


como a detecção de tipo de dados será tratada.
Os delimitadores disponíveis incluem dois-pontos, vírgula, sinal de igual, ponto e
vírgula, espaço, tabulação, um delimitador personalizado (que pode ser qualquer cadeia
de caracteres) e uma largura fixa (que divide o texto por algum número padrão de
caracteres).

A lista suspensa final permite que você selecione como deseja lidar com a detecção de
tipo de dados. Isso pode ser feito com base nas primeiras 200 linhas, em todo o
conjunto de dados, ou você pode optar por não fazer a detecção automática do tipo de
dados e, em vez disso, deixar todas as colunas padrão como 'Texto'. Aviso: se você fizer
isso em todo o conjunto de dados, pode tornar mais lento o carregamento inicial dos
dados no editor.
Como a inferência pode estar incorreta, vale a pena verificar duas vezes as
configurações, antes do carregamento.

Texto Estruturado
Quando for possível detectar a estrutura para o arquivo de texto, o Power Query tratará
o arquivo de texto como arquivo de valor separado do delimitador e fornecerá as
mesmas opções disponíveis ao abrir um CSV, que é basicamente apenas um arquivo
com uma extensão que indica o tipo de delimitador.

Por exemplo, se você salvar o exemplo a seguir como um arquivo de texto, ele será lido
como tendo um delimitador de guia em vez de texto não estruturado.

Column 1 Column 2 Column 3


This is a string. 1 ABC123
This is also a string. 2 DEF456

Isso pode ser usado para qualquer tipo de outro arquivo baseado em delimitador.
Edição da Origem
Ao editar a etapa de origem, será exibida uma caixa de diálogo um pouco diferente da
que é fornecida ao carregar inicialmente. Dependendo de como você está tratando o
arquivo (ou seja, texto ou CSV), será exibida uma tela com diversos menus suspensos.

A lista suspensa Quebras de linha permitirá que você selecione se deseja aplicar
quebras de linha entre aspas.

Por exemplo, se você editar o exemplo "estruturado" fornecido acima, poderá adicionar
uma quebra de linha.

Column 1 Column 2 Column 3


This is a string. 1 "ABC
123"
This is also a string. 2 "DEF456"

Se a opção Quebras de linha estiver definidas como Ignorar quebras de linha entre
aspas, ela será carregada como se não houvesse quebra de linha (com um espaço
adicional).
Se a opção Quebras de linha estiver definida como Aplicar todas as quebras de linha,
ela carregará uma linha adicional e o conteúdo após a quebra de linha será o único
conteúdo nessa linha (a saída exata pode depender da estrutura do conteúdo do
arquivo).

A lista suspensa Abrir arquivo como permitirá que você edite como deseja carregar o
arquivo – importante para a solução de problemas. Para arquivos estruturados que não
são tecnicamente CSVs (como um arquivo de valor separado por tabulação salvo como
um arquivo de texto), a opção Abrir arquivo como ainda deve ser definida como CSV.
Essa configuração também determina quais listas suspensas estão disponíveis no
restante da caixa de diálogo.

Texto/CSV por Exemplo


Texto/CSV por Exemplo no Power Query é um recurso disponível geralmente no Power BI
Desktop e no Power Query Online. Ao usar o conector de Texto/CSV, você verá a opção
Extrair tabela usando exemplos no canto inferior esquerdo do navegador.

Ao selecionar esse botão, você acessará a página Extrair Tabela Usando Exemplos.
Nessa página, você especifica valores de saída de exemplo para os dados que deseja
extrair do arquivo de texto/CSV. Depois de inserir a primeira célula da coluna, as outras
células da coluna serão preenchidas. Para que os dados sejam extraídos corretamente,
talvez seja necessário inserir mais de uma célula na coluna. Se algumas células na coluna
estiverem incorretas, você poderá corrigir a primeira célula incorreta e os dados serão
extraídos novamente. Confira os dados nas primeiras células para verificar se os dados
foram extraídos com êxito.

7 Observação

Recomendamos que você insira os exemplos na ordem da coluna. Depois que a


coluna tiver sido preenchida com êxito, crie uma nova coluna e comece a inserir
exemplos na nova coluna.
Depois de concluir a construção dessa tabela, você poderá selecionar o carregamento
ou a transformação dos dados. Observe como as consultas resultantes contêm uma
análise detalhada de todas as etapas inferidas para a extração de dados. Essas etapas
são apenas etapas de consulta regulares, que você pode personalizar conforme
necessário.

Solução de problemas
Carregamento de Arquivos na Web
Se você estiver solicitando arquivos de texto/CSV na Web e também promovendo
cabeçalhos, e estiver recuperando arquivos suficientes com os quais precisa se
preocupar em relação à possível limitação, encapsule a chamada Web.Contents com
Binary.Buffer() . Nesse caso, executar o buffer do arquivo antes de promover

cabeçalhos fará com que o arquivo seja solicitado apenas uma vez.

Como trabalhar com arquivos CSV grandes


Se você estiver lidando com arquivos CSV grandes no editor do Power Query Online,
poderá receber um Erro Interno. Sugerimos que você trabalhe com um arquivo CSV
menor primeiro, aplique as etapas no editor e, depois de terminar, altere o caminho
para o arquivo CSV maior. Esse método permite que você trabalhe com mais eficiência e
reduz as chances de encontrar um tempo limite no editor online. Não é esperado
encontrar esse erro durante o tempo de atualização, pois permitimos um tempo limite
maior.

Texto não estruturado interpretado como estruturado


Em casos raros, um documento com números de vírgulas semelhantes nos parágrafos
pode ser interpretado como CSV. Se esse problema acontecer, edite a etapa Origem no
editor de Power Query e selecione Texto, em vez de CSV, na lista suspensa Abrir
Arquivo Como.

Colunas no Power BI Desktop


Quando você importa um arquivo CSV, o Power BI Desktop gera um colunas = x (em
que x é o número de colunas no arquivo CSV durante a importação inicial) como uma
etapa do Power Query Editor. Posteriormente, se você adicionar mais colunas e a fonte
de dados estiver definida para atualização, as colunas adicionadas além da contagem
inicial de x colunas não serão atualizadas.

Erro: conexão encerrada pelo host


Ao carregar arquivos de Texto/CSV em uma origem da Web e também promover
cabeçalhos, às vezes, você pode encontrar os seguintes erros: "An existing connection
was forcibly closed by the remote host" ou "Received an unexpected EOF or 0 bytes
from the transport stream." . Esses erros podem ser causados pelo host ao empregar

medidas de proteção e encerrar uma conexão, que pode ficar pausada


temporariamente, por exemplo, ao aguardar outra conexão da fonte de dados para uma
operação de junção ou acréscimo. Para contornar esses erros, tente adicionar uma
chamada Binary.Buffer (recomendada) ou Table.Buffer, que baixará o arquivo e carregará
na memória, além de encerrar a conexão imediatamente. Isso deve evitar as pausas
durante o download e impedir que o host force o encerramento da conexão antes que o
conteúdo seja recuperado.

O exemplo a seguir mostra essa solução alternativa. Esse buffer precisa ser feito antes
que a tabela resultante seja passada para Table.PromoteHeaders.

Original:

Power Query M

Csv.Document(Web.Contents("https://.../MyFile.csv"))

Com Binary.Buffer :

Power Query M

Csv.Document(Binary.Buffer(Web.Contents("https://.../MyFile.csv")))

Com Table.Buffer :

Power Query M

Table.Buffer(Csv.Document(Web.Contents("https://.../MyFile.csv")))
TIBCO(R) Data Virtualization
Artigo • 14/07/2023

7 Observação

O artigo do conector a seguir é fornecido pela TIBCO, proprietária desse conector e


membro do Programa de Certificação de Conector do Microsoft Power Query. Se
tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações neste
artigo, acesse o site da TIBCO e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (Dataflow Gen2)

Tipos de autenticação compatíveis Banco de dados (nome de usuário/senha)


Autenticação do Windows (NTLM/Kerberos)

Documentação de referência da função —

Pré-requisitos
Para acessar o site TIBCO eDelivery, você deve ter comprado o software da TIBCO. Não
há nenhuma licença da TIBCO necessária para o software TDV (TIBCO) Data
Virtualization – um cliente da TIBCO só precisa ter um contrato válido em vigor. Se você
não tiver acesso, entre em contato com o administrador da TIBCO em sua organização.

O Conector do Power BI para o TIBCO(R) Data Virtualization deve primeiro ser baixado
do https://edelivery.tibco.com e instalado no computador que executa o Power BI
Desktop. O site eDelivery baixa um arquivo zip (por exemplo,
TIB_tdv_drivers_<VERSION>_all.zip*.zip where <VERSION>=TDV Version) que contém
um programa instalador que instala todos os drivers de cliente do TDV, incluindo o
Conector do Power BI.
Depois que o conector for instalado, configure um DSN (nome da fonte de dados) para
especificar as propriedades da conexão necessárias para se conectar ao servidor do
TIBCO(R) Data Virtualization.

7 Observação

A arquitetura do DSN (32 bits ou 64 bits) precisa corresponder à arquitetura do


produto em que você pretende usar o conector.
7 Observação

O Conector do Power BI para o TIBCO(R) Data Virtualization é o driver usado pelo


conector do TIBCO(R) Data Virtualization para conectar o Power BI Desktop ao TDV.

Funcionalidades com suporte


Importação
DirectQuery (Conjuntos de dados do Power BI)
Propriedades Avançadas de Conexão
Avançado
Instrução SQL nativa

Conectar-se a um servidor do TIBCO(R) Data


Virtualization por meio do Power Query
Desktop
Depois que o conector correspondente é instalado e um DSN é configurado, você pode
se conectar a um servidor do TIBCO(R) Data Virtualization. Para fazer a conexão, execute
as seguintes etapas:

1. Selecione a opção TIBCO(R) Data Virtualization na seleção do conector.

2. Na caixa de diálogo Conector do Power BI para TIBCO(R) Data Virtualization


exibida, forneça o Nome da Fonte de Dados.

3. Selecione o modo de conectividade de dados Importar ou DirectQuery.

4. Se essa for a primeira vez que você está se conectando a esse banco de dados,
selecione o tipo de autenticação. Se aplicável, insira as credenciais necessárias.
Depois, selecione Conectar.

Anônima: usa as credenciais armazenadas no DSN.


Básica: nome de usuário/senha são enviados ao criar a conexão.
Windows: autentica usando o usuário atual do Windows. Esse tipo de
autenticação requer que a propriedade de conexão SSO seja definida. Ao
usar Kerberos, a API Usar Plataforma Kerberos deve ser definida como
verdadeira para utilizar o usuário atual do Windows.
5. No Navegador, selecione as informações desejadas do banco de dados e
selecione Carregar para carregar os dados ou Transformar dados para continuar
transformando os dados no Editor do Power Query.

Conectar usando opções avançadas


O Power Query Desktop fornece um conjunto de opções avançadas que você pode
adicionar à consulta, se necessário.

A tabela a seguir lista todas as opções avançadas que você pode definir no Power Query
Desktop.
Opção avançada Descrição

Propriedades Aceita uma lista separada de ponto e vírgula das propriedades da


Avançadas de conexão. Essa opção é usada para especificar outras propriedades de
Conexão conexão não configuradas no DSN.

Instrução SQL Para obter mais informações, acesse Importar dados de um banco de
dados usando a consulta nativa de banco de dados.

Depois de selecionar as opções avançadas necessárias, selecione OK no Power Query


Desktop para se conectar ao servidor do TIBCO(R) Data Virtualization.

SSO (logon único) baseado em Kerberos para


TIBCO(R) Data Virtualization
O conector do TIBCO(R) Data Virtualization agora dá suporte ao SSO (logon único)
baseado em Kerberos.

Para usar esse recurso:

1. Entre na conta do Power BI e navegue até a página Gestão do Gateway.

2. Adicione uma nova fonte de dados no cluster do gateway que deseja usar.

3. Selecione o conector na lista Tipo de Fonte de dados.

4. Expanda a seção Configurações avançadas.

5. Selecione a opção Usar SSO via Kerberos para consultas DirectQuery ou Usar
SSO via Kerberos para consultas DirectQuery e Import.
Para mais informações: Configurar SSO baseado em Kerberos no serviço do Power BI
para fontes de dados locais
Twilio (descontinuado) (beta)
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da versão Preterido

Produtos -

Tipos de autenticação compatíveis -

Documentação de referência da função -

Reprovação

7 Observação

Esse conector foi descontinuado. Recomendamos que faça a transição das


conexões existentes usando esse conector. Não use esse conector para novas
conexões.
Usercube (Beta)
Artigo • 05/10/2023

7 Observação

O artigo de conector a seguir é fornecido pela Usercube, proprietária desse


conector e membro do Programa de Certificação de Conector do Microsoft Power
Query. Em caso de dúvidas sobre o conteúdo deste artigo ou para fazer alterações
nele, acesse o site da Usercube e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Beta

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Credenciais do cliente

Documentação de referência da função —

Pré-requisitos
Você deve ter uma instância do Usercube com a opção PowerBI.

Funcionalidades com suporte


Importação

Conectar-se ao Usercube por meio do Power


Query Desktop
Para se conectar a um servidor Usercube:

1. Inicie o Power BI Desktop e entre na experiência Obter dados.


2. Na categoria Outros, selecione Usercube e Conectar.

3. Será solicitado que você especifique a URL do servidor Usercube.

4. Insira as credenciais do cliente. A ID do cliente deve ser criada com base no


Identificador de um elemento OpenIdClient. Esse elemento é definido na
configuração da instância do Usercube. Para esse identificador, você deve
concatenar o caractere @ e o nome de domínio da instância do Usercube.

5. No Navegador, selecione os dados necessários. Em seguida, selecione


Transformar dados para transformar os dados no Editor do Power Query ou clique
em Carregar para carregar os dados no Power BI.
Vessel Insight
Artigo • 22/09/2023

7 Observação

O artigo sobre o conector a seguir é fornecido pela Kongsberg, proprietária desse


conector e membro do Programa de certificação de conector do Microsoft Power
Query. Se tiver dúvidas sobre o conteúdo deste artigo ou desejar fazer alterações
neste artigo, visite o site da Kongsberg e use os canais de suporte.

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Power BI (Conjuntos de dados)


Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)

Tipos de autenticação compatíveis Conta organizacional

Pré-requisitos
Antes de entrar no Vessel Insight, você deve ter uma conta da organização (nome de
usuário/senha) conectada a um locatário.

Funcionalidades com suporte


Importação

Conectar-se ao Vessel Insight


Para conectar-se ao Vessel Insight:

1. Selecione Obter Dados na faixa de opções Início no Power BI Desktop. Selecione


Outro nas categorias à esquerda, selecione Vessel Insight e, em seguida, selecione
Conectar.
2. Se esta for a primeira vez que você está obtendo dados por meio do conector
Vessel Insight, um aviso de terceiro será exibido. Selecione Não mostrar alerta
novamente para esse conector se você não quiser que essa mensagem seja
exibida novamente e, depois, selecione Continuar.

3. Para entrar na sua conta do Vessel Insight, selecione Entrar.


4. Na janela exibida, forneça o URL do locatário do Vessel Insight no formato
<companyname>.kognif.ai . Em seguida, selecione Validar.

5. Na janela exibida, forneça suas credenciais para entrar na sua conta do Vessel
Insight.
Se você inseriu um endereço de email e uma senha, selecione Continuar.

6. Após entrar com êxito, selecione Salvar.

Depois que a conexão for estabelecida, você poderá visualizar e selecionar dados na
caixa de diálogo Navegador para criar uma única saída tabular.
Você pode selecionar as seguintes opções no navegador:

Avançado: escreva consultas personalizadas em TQL (Time Series Query Language)


(nativo). Para usuários avançados do Kongsberg.
Vessel Insight Data (preterido): dados de série temporal para suas frotas na antiga
hierarquia de ativos.
Vessel Insight Data 2.0: dados de série temporal para suas frotas na nova
hierarquia de ativos. Somente tags com dados serão mostradas.
Voyage: histórico de viagens e dados de localização do AIS (Sistema de
identificação automática).

Você pode fornecer quaisquer parâmetros de entrada opcionais necessários para os


itens selecionados. Para obter mais informações sobre esses parâmetros, vá para
Parâmetros de entrada opcionais.

Se você não inserir parâmetros para o Vessel Insight Data 2.0, obterá o valor mais
recente por padrão.
Para o Voyage, você precisa inserir IMOs para os quais deseja buscar dados.
Você pode Carregar os dados de série temporal selecionados, que traz a tabela para
cada marca de série temporal selecionada no Power BI Desktop, ou pode selecionar
Transformar Dados para editar a consulta, que abrirá o editor do Power Query. Em
seguida, é possível filtrar e refinar o conjunto de dados que deseja usar e carregar esse
conjunto refinado de dados no Power BI Desktop.

Parâmetros de entrada opcionais

Vessel Insight Data 2.0


Ao importar dados de série temporal por meio do nó do Vessel Insight Data 2.0 e
seleciona as tags que deseja carregar ou transformar no Power Query Navigator, você
também pode limitar a quantidade de dados selecionando um conjunto de parâmetros
de entrada opcionais.

Esses parâmetros de entrada são:

Intervalo (opcional): como você deseja que os dados sejam agregados quando
exibidos (1s, 5s, =30s, 1m, 1h, >1d).
Tempo (opcional): defina o tipo de filtro de tempo se quiser filtrar em tempo.
Mais recente: obtenha somente o valor mais recente. Retorna um valor.
Período: filtre o intervalo de tempo. Requer a definição das datas de Início e
Término descritas abaixo.
Personalizado: consulta personalizada para filtrar o número de valores a serem
retornados.
Início (Hora: Período), por exemplo, 2019-10-08T00:00:00Z (opcional): filtre o
intervalo inserindo a data e a hora de início aqui. É possível definir ontem e hoje.
Requer a configuração Hora: Período.
Término (Hora: Período), por exemplo, 2019-10-08T01:00:00Z (opcional): filtre o
intervalo inserindo a data e a hora de término aqui. É possível definir hoje e agora.
Requer a configuração Hora: Período.
Personalizado (Tempo: Personalizado), por exemplo, |> takebefore now 5
(opcional): adicione uma consulta personalizada para filtrar o número de valores.
|> takebefore now 5 significa tomar cinco valores antes do período de agora.
Requer Tempo: Personalizado.

Ao importar séries temporais agregadas, o conector retornará média, mín., máx. e


contagem por padrão.

Se você estiver importando várias tags, pode ser complicado inserir os parâmetros
manualmente para cada tag. Neste caso, recomendamos que você use os parâmetros
do Power Query para as datas de Início e Término no Power Query Editor. Para obter
mais informações: Parâmetros do Power Query

Viagem
Ao importar dados de viagem pelo nó do Voyage, é possível limitar a quantidade de
dados para a tabela Histórico e Histórico de Localização definindo um conjunto de
parâmetros de entrada opcional.

Esses parâmetros de entrada são:


IMOs separados por vírgula: insira um ou vários números IMO para os quais você
deseja dados de viagem.
Início (Hora: Período), por exemplo, 2019-10-08T00:00:00Z (opcional): filtre o
intervalo inserindo a data e a hora de início aqui. É possível definir ontem e hoje.
Requer a configuração Hora: Período.
Término (Hora: Período), por exemplo, 2019-10-08T01:00:00Z (opcional): filtre o
intervalo inserindo a data e a hora de término aqui. É possível definir hoje e agora.
Requer a configuração Hora: Período.

Limitações e problemas
Você deve estar ciente das seguintes limitações e problemas associados ao acesso de
dados do Vessel Insight.

Há um limite geral de dados de 1 GB importados para o Power BI, a menos que o


espaço de trabalho esteja em uma capacidade do Power BI Premium.
Recomendamos que você agregue e escolha um intervalo de datas curto ao
importar dados de série temporal, pois eles podem se tornar pesados.

Cada tag de série temporal com valores associados é gerada em uma tabela
separada no Power BI. Se for necessário combinar tags e valores em uma tabela, as
tags e seus valores necessitarão ser mesclados no editor do Power Query ou com
consultas TQL.

Os dados de série temporal são armazenados atualmente no Couchbase, que pode


ter pontos fracos que afetam o conector do Power BI.

O tempo limite da solicitação da API é, por padrão, de um minuto.

Para obter mais diretrizes sobre como acessar os dados do Vessel Insight, acesse O Guia
de Introdução .

Conteúdo recomendado
As informações sobre o Vessel Insight a seguir poderão ser úteis:

Sobre o Vessel Insight


API do Vessel Insight
Warehouse (Beta)
Artigo • 18/12/2023

Resumo
ノ Expandir a tabela

Item Descrição

Estado da liberação Beta

Produtos Power BI (Conjuntos de dados)


Malha (fluxo de dados Gen2)

Tipos de autenticação Conta organizacional

Pré-requisitos
Você já deve ter um Warehouse existente - Criar um Warehouse no Microsoft Fabric.

Funcionalidades com suporte


Importação

Conectar-se a um Warehouse no Power Query


Desktop
Para obter dados de um Warehouse no Power Query Desktop:

1. Selecione Microsoft Fabric>Warehouses na seleção de conectores e depois


selecione Conectar. Mais informações: Locais para obter dados
2. No Hub de dados do OneLake, selecione o Warehouse ao qual qual você deseja
se conectar. Opcionalmente, você pode usar os botões Todos, Meus dados ou
Endossado em sua organização para filtrar os Warehouses exibidos na caixa de
diálogo. Depois, selecione Conectar.


7 Observação

Você também pode selecionar Escolher ponto de extremidade SQL para


selecionar o ponto de extremidade SQL do Warehouse.

3. Selecione os dados com os quais você deseja criar elementos visuais no painel
Dados no Power BI Desktop.

Conectar a um Warehouse a partir do Power


Query Online
Para obter dados de um Warehouse no Power Query Online:

1. Na página Nova fonte, selecione Microsoft Fabric>Warehouse. Mais informações:


Locais para obter dados

2. Em Conectar à fonte de dados, selecione Iniciar sessão para iniciar a sessão na


sua conta institucional.

3. Depois que você se conectar, selecione Avançar.

4. Em Escolher dados, selecione os itens de dados que você quer transformar e


depois selecione Criar.

Web
Artigo • 14/07/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (Dataflow Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365

Tipos de autenticação compatíveis Web.Contents


Anônima
Windows
Basic
API Web
Conta organizacional

Web.BrowserContents
Anônima
Windows (recurso de visualização)
Básico (recurso de visualização)
API Web (recurso de versão prévia)

Web.Page
Anônima
Windows (somente credenciais do usuário atual)
API Web

Documentação de referência da função Web.Contents


Web.BrowserContents
Web.Page

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.
Pré-requisitos
Web.Page requer a Internet Explorer 10.

Funcionalidades com suporte


Conectando-se a uma URL
Avançado
Usando uma combinação de constantes de texto e parâmetros para construir a
URL
Especificando um tempo limite de comando
Definindo parâmetros de cabeçalho de solicitação HTTP (somente
Web.Contents )

Carregar dados da Web usando Power Query


Desktop
Para carregar dados de um site da Web com Power Query Desktop:

1. Selecione Obter Dados > Web no Power BI ou na Web na faixa de Opções Dados
no Excel.

2. Escolha o botão Básico e insira um endereço de URL na caixa de texto. Por


exemplo, insira
https://en.wikipedia.org/wiki/List_of_states_and_territories_of_the_United_Sta

tes . Depois, selecione OK.

Se o endereço da URL inserido for inválido, um ícone de aviso aparecerá ao


lado da caixa de texto URL.

Se você precisar construir uma URL mais avançada antes de se conectar ao site, vá
para Carregar dados da Web usando uma URL avançada.
3. Selecione o método de autenticação usado para este site. Por exemplo, selecione
Anônimo. Em seguida, selecione o nível ao qual você deseja aplicar essas
configurações, nesse caso, https://en.wikipedia.org/ Depois, selecione
Conectar.

Os métodos de autenticação disponíveis para este conector são:

Anônimo: selecione esse método de autenticação se a página da Web não


exigir credenciais.

Windows: selecione esse método de autenticação se a página da Web exigir


suas credenciais do Windows.

Básico: selecione esse método de autenticação se a página da Web exigir um


nome de usuário e uma senha básicos.

API Web: selecione este método se o recurso da Web ao qual você está se
conecta usa uma chave de API para fins de autenticação.

Conta organizacional: selecione esse método de autenticação se a página da


Web exigir credenciais de conta organizacional.

7 Observação

Ao carregar o relatório no serviço do Power BI, somente os métodos de


autenticação Anônimo, Windows e Básico estão disponíveis.

O nível selecionado para o método de autenticação determina qual parte de uma


URL terá o método de autenticação aplicado a ele. Se você selecionar o endereço
da Web de nível superior, o método de autenticação selecionado aqui será usado
para esse endereço de URL ou qualquer subendereço desse endereço. No entanto,
talvez você não queira definir o endereço de URL principal para um método de
autenticação específico porque subendereços diferentes podem exigir métodos de
autenticação diferentes. Por exemplo, se você estivesse acessando duas pastas
separadas de um único site do SharePoint e quisesse usar diferentes contas da
Microsoft para acessar cada uma.

Depois de definir o método de autenticação para um endereço de site específico,


você não precisará selecionar o método de autenticação para esse endereço de
URL ou qualquer subendereço novamente. Por exemplo, se você selecionar o
endereço https://en.wikipedia.org/ nesta caixa de diálogo, qualquer página da
Web que comece com esse endereço não exigirá que você selecione o método de
autenticação novamente.

7 Observação

Se você precisar alterar o método de autenticação mais tarde, vá para Alterar


o método de autenticação.

4. No diálogo do Navegador, é possível selecionar uma tabela e transformar os


dados no editor do Power Query ao selecionar Transformar Dados ou carregar os
dados ao selecionar Carregar.
O lado direito da caixa de diálogo Navegador exibe o conteúdo da tabela
selecionada para transformar ou carregar. Se você não tiver certeza de qual tabela
contém os dados nos quais você está interessado, poderá selecionar a guia
Exibição da Web. O modo de exibição da Web permite que você veja todo o
conteúdo da página da Web e realça cada uma das tabelas detectadas nesse site.
Você pode selecionar a caixa de seleção acima da tabela realçada para obter os
dados dessa tabela.

No lado inferior esquerdo da caixa de diálogo Navegador, você também pode


selecionar a tabela Adicionar usando o botão Exemplos. Essa seleção apresenta
uma janela interativa onde você pode visualizar o conteúdo da página da Web e
inserir valores de amostra dos dados que deseja extrair. Para obter mais
informações sobre como usar esse recurso, acesse Obter dados de página da Web
fornecendo exemplos.

Carregar dados da Web usando o Power Query


Online
Para carregar dados de um site como o Power Query Online:

1. Na caixa de diálogo Obter Dados, selecione a página da Web ou a API Web.

Na maioria dos casos, você deve selecionar o conector de página da Web. Por
motivos de segurança, você precisará usar um gateway de dados local com esse
conector. O conector da Página da Web requer um gateway porque as páginas
HTML são recuperadas usando um controle de navegador, que envolve possíveis
preocupações de segurança. Essa preocupação não é um problema com o
conector da API Web, pois ele não usa um controle de navegador.

Em alguns casos, talvez você queira usar uma URL que aponte para uma API ou
um arquivo armazenado na Web. Nesses cenários, o conector da API Web (ou
conectores específicos do arquivo) permitiria que você avançasse sem usar um
gateway de dados local.
Observe também que, se a URL apontar para um arquivo, você deverá usar o
conector de arquivo específico em vez do conector de página da Web.

2. Insira um endereço de URL na caixa de texto. Neste exemplo, digite


https://en.wikipedia.org/wiki/List_of_states_and_territories_of_the_United_Sta

tes .

3. Selecione o nome do gateway de dados local.

4. Selecione o método de autenticação que você usará para se conectar à página da


Web.
Os métodos de autenticação disponíveis para este conector são:

Anônimo: selecione esse método de autenticação se a página da Web não


exigir credenciais.

Windows: selecione esse método de autenticação se a página da Web exigir


suas credenciais do Windows.

Básico: selecione esse método de autenticação se a página da Web exigir um


nome de usuário e uma senha básicos.

Conta organizacional: selecione esse método de autenticação se a página da


Web exigir credenciais de conta organizacional.

Depois de escolher o método de autenticação, selecione Avançar.

5. No diálogo do Navegador, é possível selecionar uma tabela e transformar os


dados no editor do Power Query ao selecionar Transformar dados.
Carregar dados da Web usando uma URL
avançada
Ao selecionar Obter Dados > da Web no Power Query Desktop, na maioria das
instâncias, você inserirá URLs na configuração Básica. No entanto, em alguns casos,
talvez você queira montar uma URL de suas partes separadas, definir um tempo limite
para a conexão ou fornecer dados de cabeçalho de URL individualizados. Nesse caso,
selecione a opção Avançado na caixa de diálogo da Web.
Use a seção de partes de URL da caixa de diálogo para montar a URL que você deseja
usar para obter dados. A primeira parte da URL na seção de partes de URL
provavelmente consistiria no esquema, na autoridade e no caminho do URI (por
exemplo, http://contoso.com/products/ ). A segunda caixa de texto pode incluir
consultas ou fragmentos que você usaria para filtrar as informações fornecidas ao site
da Web. Se você precisar adicionar mais de uma parte, selecione Adicionar parte para
adicionar outra caixa de texto de fragmento de URL. À medida que você insere cada
parte da URL, a URL completa que será usada quando você selecionar OK é exibida na
caixa de visualização da URL.

Dependendo de quanto tempo a solicitação POST leva para processar dados, talvez seja
necessário prolongar o tempo em que a solicitação continua conectada ao site. O
tempo limite padrão para POST e GET é de 100 segundos. Se esse tempo limite for
muito curto, você poderá usar o tempo limite opcional do Comando em minutos para
estender o número de minutos que você permanece conectado.

Você também pode adicionar cabeçalhos de solicitação específicos ao POST que você
envia para o site usando a caixa suspensa de parâmetros de cabeçalho de solicitação
HTTP opcional. A tabela a seguir descreve os cabeçalhos da solicitação que você pode
selecionar.

Cabeçalho da Descrição
solicitação

Aceitar Especifica os tipos de mídia de resposta aceitáveis.


Cabeçalho da Descrição
solicitação

Conjunto de Indica quais conjuntos de caracteres são aceitáveis no conteúdo de resposta


caracteres textual.
aceito

Codificação Indica quais codificações de conteúdo de resposta são aceitáveis na resposta.


aceita

Idioma aceito Indica o conjunto de idiomas naturais que são preferenciais na resposta.

Cache-Control Indica as políticas de cache, especificadas por diretivas, em solicitações de


cliente e respostas de servidor.

Tipo de Indica o tipo de mídia do conteúdo.


conteúdo

If-Modified- Determina condicionalmente se o conteúdo da Web foi alterado desde a data


Since especificada neste campo. Se o conteúdo não tiver sido alterado, o servidor
responderá apenas com os cabeçalhos que têm um código de status 304. Se o
conteúdo tiver sido alterado, o servidor retornará o recurso solicitado junto com
um código de status 200.

Prefira Indica que determinados comportamentos de servidor são preferenciais pelo


cliente, mas não são necessários para a conclusão bem-sucedida da solicitação.

Intervalo Especifica um ou mais subintervalos dos dados de representação selecionados.

Referer Especifica uma referência de URI para o recurso do qual o URI de destino foi
obtido.

Importar arquivos da Web


Normalmente, ao importar um arquivo local no Power Query Desktop, você usará o
conector de tipo de arquivo específico para importar esse arquivo, por exemplo, o
conector JSON para importar um arquivo JSON ou o conector CSV para importar um
arquivo CSV. No entanto, se você estiver usando Power Query Desktop e o arquivo que
deseja importar estiver localizado na Web, você deverá usar o conector web para
importar esse arquivo. Como no caso local, você será apresentado à tabela que o
conector carrega por padrão, que você pode carregar ou transformar.

Os seguintes tipos de arquivo são compatíveis com o Web Connector:

Banco de dados do Access


Documento CSV
Pasta de trabalho do Excel
JSON
Arquivo de texto
Página HTML
Tabelas XML
PDF

Por exemplo, você pode usar as seguintes etapas para importar um arquivo JSON no
site https://contoso.com/products :

1. Na caixa de diálogo Obter Dados, selecione o conector da Web.

2. Escolha o botão Básico e insira o endereço na caixa de URL, por exemplo:

http://contoso.com/products/Example_JSON.json

3. Selecione OK.

4. Se essa for a primeira vez que você estiver visitando essa URL, selecione Anônimo
como o tipo de autenticação e Conectar.

5. O Editor do Power Query agora abrirá com os dados importados do arquivo JSON.
Selecione a guia Exibir no Editor do Power Query e selecione Barra de Fórmulas
para ativar a barra de fórmulas no editor.

Como você pode ver, o conector da Web retorna o conteúdo da Web da URL que
você forneceu e, em seguida, encapsula automaticamente o conteúdo da Web no
tipo de documento apropriado especificado pela URL ( Json.Document neste
exemplo).

Confira também
Extrair dados de uma página da Web por meio de exemplos
Solução de problemas do conector Web do Power Query
Obter dados de páginas da Web
fornecendo exemplos
Artigo • 23/03/2023

Obter dados de uma página da Web permite que os usuários extraiam facilmente dados
de páginas da Web. No entanto, geralmente, os dados em páginas da Web não estão
em tabelas organizadas que são fáceis de serem extraídas. A obtenção de dados dessas
páginas pode ser um verdadeiro desafio, mesmo que os dados estejam estruturados e
consistentes.

Mas há uma solução. Com o recurso Obter Dados da Web por meio de exemplos, você
pode, basicamente, mostrar ao Power Query quais dados deseja extrair ao fornecer um
ou mais exemplos na caixa de diálogo do conector. O Power Query coleta outros dados
na página que correspondem aos exemplos. Com essa solução, você pode extrair todos
os tipos de dados de páginas da Web, incluindo dados encontrados em tabelas e outros
dados fora delas.

7 Observação

Os preços nas imagens são apenas para fins de exemplo.


Usando Obter dados da Web por exemplo
Selecione a opção Web na seleção do conector e selecione Conectar para continuar.

Em Da Web, insira a URL da página da Web da qual você deseja extrair dados. Neste
artigo, usaremos a página da Web da Microsoft Store e mostraremos como esse
conector funciona.

Se quiser acompanhar, você poderá usar a URL da Microsoft Store que usamos neste
artigo:

https://www.microsoft.com/store/top-paid/games/xbox?category=classics

Quando você selecionar OK, será levado à caixa de diálogo Navegador, em que
qualquer tabela detectada automaticamente da página da Web será apresentada. No
caso mostrado na imagem abaixo, nenhuma tabela foi encontrada. Selecione Adicionar
tabela usando exemplos para fornecer exemplos.
Adicionar tabela usando exemplos apresenta uma janela interativa em que você pode
visualizar o conteúdo da página da Web. Insira valores de exemplo dos dados que
deseja extrair.

Neste exemplo, extrairemos o Nome e o Preço de cada um dos games na página.


Podemos fazer isso ao especificar dois exemplos da página para cada coluna. Conforme
você insere exemplos, o Power Query extrai os dados que se adaptam ao padrão das
entradas de exemplo usando algoritmos de extração de dados inteligentes.
7 Observação

as sugestões de valor incluem apenas valores menores ou iguais a 128 caracteres


de comprimento.

Quando estiver satisfeito com os dados extraídos da página da Web, selecione OK para
acessar o Editor do Power Query. Você pode aplicar mais transformações ou formatar os
dados, por exemplo, combinando esses dados com outras fontes de dados.

Confira também
Adicionar uma coluna dos exemplos
Formatar e combinar dados
Obtendo dados
Solução de problemas do conector Web do Power Query
Solução de problemas do conector Web
Artigo • 05/10/2023

Qual é a diferença entre Web.Contents,


Web.BrowserContent e Web.Page?
Web.Contents

Web.Contents é usado para recuperar conteúdo da Web que não precisa ser

acessado por um navegador, como arquivos CSV, resultados da API JSON e assim
por diante.
Ele é compatível com a mais ampla variedade de opções de autenticação.
Ele pode ser usado em ambientes de nuvem, como o Power Query Online, sem um
gateway.

Web.Page

Web.Page é uma função herdada para recuperar conteúdo da Web que precisa ser

acessado por um navegador, como páginas HTML.


Ele foi criado no Internet Explorer. Devido a esse requisito, ele está sendo
substituído na interface do usuário por Web.BrowserContents . No entanto,
Web.Page continuará disponível no nível do mecanismo para compatibilidade com
versões anteriores.
Um gateway é necessário para usá-lo em ambientes de nuvem, como o Power
Query Online.

Web.BrowserContents

Web.BrowserContents é uma função nova para recuperar conteúdo da Web que

precisa ser acessado por um navegador, como páginas HTML.


Na interface do usuário, Web.BrowserContents está substituindo Web.Page porque
Web.Page é baseado no Internet Explorer.

Web.BrowserContents foi inicialmente construído no Chromium, mas está sendo

migrado para o controle WebView2 do Microsoft Edge.


Um gateway é necessário para usá-lo em ambientes de nuvem, como o Power
Query Online.

A tabela a seguir resume as diferenças.


Web.Contents Web.Page Web.BrowserContents

Conteúdo que não seja x


do navegador (arquivos
.txt/.csv, JSON e assim
por diante)

Conteúdo do x x
navegador (HTML)

Tipos de autenticação Anônima Anônima Anônima


compatíveis Windows Windows Windows (versão prévia do
Basic (somente recurso)
API Web credenciais do Básico (versão prévia do
Conta usuário atual) recurso)
organizacional API Web API da Web (versão prévia do
recurso)

Requer um gateway em N S S
hosts de nuvem

Atualmente gerado por Todos os hosts Excel e Power Power BI Desktop


Query Online

Com base em .NET Internet Explorer Chromium, mas mudando para


o controle WebView2 do
Microsoft Edge

Avisos "Este navegador não tem mais suporte"


no modo de exibição da Web
Ao importar uma página da Web, você pode exibir uma visualização da página usando a
guia Modo de Exibição da Web na caixa de diálogo do navegador do Power Query.
Essa visualização às vezes pode exibir um aviso como "Este navegador não tem mais
suporte". Quando isso acontece, geralmente é porque o Modo de Exibição da Web
atualmente renderiza a visualização usando o Internet Explorer, que não tem mais
suporte em alguns sites. No entanto, isso afeta apenas o Modo de Exibição da Web, não
o conector da Web em si. Contanto que esteja usando os conectores baseados em
Web.Contents ou Web.BrowserContents (e não Web.Page), você pode ignorar esses
avisos com segurança. Consulte Qual é a diferença entre Web.Contents,
Web.BrowserContent e Web.Page? para obter mais informações sobre os diferentes
conectores da Web e as tecnologias subjacentes.

Manipulando páginas dinâmicas da Web


Páginas da Web que carregam seu conteúdo dinamicamente podem exigir tratamento
especial. Se você observar erros esporádicos em suas consultas da Web, é possível que
você esteja tentando acessar uma página dinâmica da Web. Um exemplo comum desse
tipo de erro é:

1. Você atualiza uma consulta que se conecta ao site.


2. Você vê um erro (por exemplo, "a coluna 'Foo' da tabela não foi encontrada").
3. Atualize a consulta novamente.
4. Nenhum erro ocorre.

Esses tipos de problemas geralmente ocorrem devido ao tempo. As páginas que


carregam seu conteúdo dinamicamente às vezes podem ser inconsistentes, pois o
conteúdo pode ser alterado depois que o navegador considerar o carregamento
concluído. Às vezes, o conector da Web baixa o HTML depois que todo o conteúdo
dinâmico é carregado. Outras vezes, as alterações ainda estão em andamento quando
ele baixa o HTML, levando a erros esporádicos.

A solução é usar a opção WaitFor de Web.BrowserContents, que indica um seletor ou


um período que deve ser aguardado antes de baixar o HTML.

Como você pode saber se uma página é dinâmica? Normalmente é bem simples. Abra a
página em um navegador e veja-a carregar. Se o conteúdo aparecer imediatamente,
será uma página HTML regular. Se ele aparecer dinamicamente ou mudar ao longo do
tempo, será uma página dinâmica.

Usar um gateway com o conector Web


Web.BrowserContents e Web.Page exigem o uso de um gateway de dados local quando
publicado em um serviço de nuvem, como conjuntos de dados ou fluxos de dados do
Power BI ou fluxos de dados do Power Apps. (Atualmente, o Dynamics 365 Customer
Insights não dá suporte ao uso de um gateway.)

Se você estiver usando Web.Page e receber um erro Please specify how to connect ,
verifique se tem o Internet Explorer 10 ou posterior instalado na máquina que hospeda
o gateway de dados local.

Ativando a versão Edge WebView2 do


Web.BrowserContents
Web.BrowserContents foi inicialmente construído no Chromium, mas está sendo
migrado para o controle WebView2 do Edge.
Para ativar a versão atualizada baseada em Edge de Web.BrowserContents no Power BI
Desktop, ative o recurso de visualização "Atualização de infraestrutura do conector de
página da Web".

Para ativar a versão atualizada baseada em Edge do Web.BrowserContents em uma


máquina de gateway, defina a seguinte variável de ambiente:

set PQ_WebView2Connector=true

Usando Web.Page em vez de


Web.BrowserContents
Nos casos em que você precisa usar Web.Page em vez de Web.BrowserContents , você
ainda pode usar Web.Page manualmente.

No Power BI Desktop, você pode usar a função mais antiga Web.Page desmarcando a
opção Habilitar inferência de tabela da Web:

1. Na guia Arquivo, selecione Opções e configurações>Opções.

2. Na seção Global, selecione Power Query Editor.

3. Desmarque a opção Habilitar inferência de tabela da Web e selecione OK.

4. Reinicie o Power BI Desktop.

7 Observação

Atualmente, você não pode desativar o uso de Web.BrowserContents no Power


BI Desktop otimizado para Servidor de Relatórios do Power BI.

Você também pode obter uma cópia de uma consulta Web.Page do Excel. Para copiar o
código do Excel:

1. Selecione Na Web na guia Dados.


2. Insira o endereço na caixa de diálogo Na Web e selecione OK.
3. No Navegador, escolha os dados que deseja carregar e selecione Transformar
Dados.
4. Na guia Página Inicial do Power Query, selecione Editor Avançado.
5. No Editor Avançado, copie a fórmula M.
6. No aplicativo que usa Web.BrowserContents , selecione o conector Consulta em
Branco.
7. Se você estiver copiando para o Power BI Desktop:
a. Na guia Página Inicial, selecione Editor Avançado.
b. Cole a consulta copiada Web.Page no editor e selecione Concluído.
8. Se você estiver copiando para o Power Query Online:
a. Na Consulta em Branco, cole a consulta copiada Web.Page na consulta em
branco.
b. Escolha um gateway de dados local para usar.
c. Selecione Avançar.

Você também pode inserir manualmente o código a seguir em uma consulta em branco.
Insira o endereço da página da Web que deseja carregar.

powerqury-m

let
Source = Web.Page(Web.Contents("<your address here>")),
Navigation = Source{0}[Data]
in
Navigation

Capturar solicitações da Web e revogação de


certificado
Reforçamos a segurança das conexões Web para proteger seus dados. No entanto, isso
significa que determinados cenários, como capturar solicitações da Web com o Fiddler,
não funcionarão mais por padrão. Para habilitar esses cenários:

1. Abra o Power BI Desktop.

2. Na guia Arquivo, selecione Opções e configurações>Opções.

3. Em Opções, em Global>Segurança, desmarque Habilitar verificação de


revogação de certificado.
4. Selecione OK.

5. Reinicie o Power BI Desktop.

) Importante

Se você desmarcar Habilitar verificação de revogação de certificado, isso tornará


as conexões Web menos seguras.

Para definir esse cenário na Política de Grupo, use a chave


"DisableCertificateRevocationCheck" no caminho do registro
"Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Power BI Desktop".
Definir "DisableCertificateRevocationCheck" como 0 sempre habilitará a verificação
(impedindo o Fiddler e o software semelhante de funcionar), e definir
"DisableCertificateRevocationCheck" como 1 sempre desabilitará a verificação
(habilitando o Fiddler e software semelhante).

Alterar o método de autenticação


Em alguns casos, talvez seja necessário alterar o método de autenticação usado para
acessar um site específico. Se essa alteração for necessária, vá até Alterar o método de
autenticação.

Autenticação em serviços arbitrários


Alguns serviços dão suporte à capacidade do conector Web de autenticar com a
autenticação OAuth/AAD pronta para uso. No entanto, isso não funcionará na maioria
dos casos.
Ao tentar autenticar, se você vir o seguinte erro:

"Não foi possível conectar porque esse tipo de credencial não é compatível com esse
recurso. Escolha outro tipo de credencial."

Contate o proprietário do serviço. Eles precisarão alterar a configuração de autenticação


ou criar um conector personalizado.

O conector Web usa HTTP 1.1 para se


comunicar
O conector Web do Power Query se comunica com uma fonte de dados usando HTTP
1.1. Se a fonte de dados estiver esperando se comunicar usando HTTP 1.0, você poderá
receber um erro, como 500 Internal Server Error .

Não é possível alternar o Power Query para usar HTTP 1.0. O Power Query sempre envia
um Expect:100-continue quando há um corpo para evitar passar um conteúdo
possivelmente grande quando a chamada inicial pode falhar (por exemplo, devido à
falta de permissões). Atualmente, esse comportamento não pode ser alterado.

Conectar-se ao Microsoft Graph


No momento, o Power Query não oferece suporte à conexão com APIs REST do
Microsoft Graph. Mais informações: Falta de suporte para o Microsoft Graph no Power
Query

Confira também
Conector Web do Power Query
Obter dados de páginas da Web fornecendo exemplos
Workforce Dimensions(Beta) (preterido)
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da versão Preterido

Produtos -

Tipos de autenticação compatíveis -

Documentação de referência da função -

Reprovação

7 Observação

Esse conector foi preterido devido ao fim do suporte para ele. Recomendamos que
os usuários faça a transição das conexões existentes usando esse conector e não
usem esse conector para novas conexões.
XML
Artigo • 05/10/2023

Resumo
Item Descrição

Estado da liberação Disponibilidade geral

Produtos Excel
Power BI (Conjuntos de dados)
Power BI (Fluxos de dados)
Malha (fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Customer Insights do Dynamics 365
Analysis Services

Documentação de referência da função Xml.Tables


Xml.Document

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Funcionalidades com suporte


Importar

Carregar um arquivo XML local do Power


Query Desktop
Para carregar um arquivo XML local:

1. Selecione a opção XML na seleção Obter Dados. Essa ação iniciará um navegador
de arquivos local e permitirá que você selecione seu arquivo XML.
2. Navegue até o diretório que contém o arquivo XML local que você deseja carregar
e selecione Abrir.

3. No Navegador, selecione os dados desejados e selecione Carregar para carregar


os dados ou Transformar dados para continuar transformando os dados no Editor
do Power Query.

Carregar um arquivo XML local do Power


Query Online
Para carregar um arquivo XML local:
1. Na página Fontes de dados, selecione XML.

2. Insira o caminho para o arquivo XML local.

3. Selecione um gateway de dados local no gateway de dados.

4. Se a autenticação for necessária, insira suas credenciais.

5. Selecione Avançar.

Carregar o arquivo XML iniciará automaticamente o Editor do Power Query. No editor,


você pode transformar os dados se desejar ou apenas salvar e fechar para carregar os
dados.

Carregar um arquivo XML da Web


Se você quiser carregar um arquivo XML da Web, em vez de selecionar o conector XML,
poderá selecionar o conector Da Web. Cole o endereço do arquivo desejado e você será
solicitado com uma seleção de autenticação, pois você está acessando um site em vez
de um arquivo estático. Se não houver autenticação, basta selecionar Anônimo. Como
no caso local, você verá a tabela que o conector carrega por padrão, que você pode
carregar ou transformar.

Solução de problemas

Estrutura de Dados
Devido ao fato de que muitos documentos XML têm dados incompletos ou aninhados,
talvez seja necessário fazer a formatação de dados extra para obtê-los no tipo de forma
que torne conveniente fazer análises. Isso vale se você usar a função acessível
Xml.Tables da interface do usuário ou a função Xml.Document . Dependendo de suas

necessidades, você pode achar que precisa fazer mais ou menos modelagem de dados.

Texto versus nós


Se o documento contiver uma combinação de nós irmãos de texto e não texto, você
poderá encontrar problemas.

Por exemplo, se você tiver um conjunto de dados:

XML

<abc>
Hello <i>world</i>
</abc>

Xml.Tables retornará a parte do "mundo", mas ignorará "Olá". Somente os elementos

são retornados, não o texto. No entanto, Xml.Document retornará "Hello <i>world</i>".


Todo o nó interno é transformado em texto e a estrutura não é preservada.
ZenDesk (Beta)
Artigo • 23/03/2023

Resumo
Item Descrição

Estado da liberação Beta

Produtos Power BI (Conjuntos de dados)

Tipos de autenticação compatíveis Conta do Zendesk

Pré-requisitos
Antes de entrar no Zendesk, você deve ter uma conta do Zendesk (nome de
usuário/senha).

Funcionalidades com suporte


Importação

Conectar-se aos dados do Zendesk


Para se conectar aos dados do Zendesk:

1. Selecione Obter Dados na faixa de opções Início no Power BI Desktop. Selecione


Serviços online nas categorias à esquerda, selecione Zendesk (Beta) e Conectar.
2. Se essa for a primeira vez que você estiver obtendo dados por meio do conector
do Zendesk, um aviso do conector de visualização será exibido. Selecione Não
mostrar alerta novamente para esse conector se você não quiser que essa
mensagem seja exibida novamente e, depois, selecione Continuar.

3. Insira o local da URL do Zendesk que você deseja acessar e selecione OK.
4. Para entrar na sua conta do Zendesk, selecione Entrar.

5. Na janela do Zendesk exibida, forneça suas credenciais para entrar em sua conta
do Zendesk.
6. Selecione Entrar.

7. Depois de entrar, selecione Conectar.


8. No Navegador, selecione as informações desejadas e selecione Carregar para
carregar os dados ou Transformar dados para continuar transformando os dados
no Editor do Power Query.

Limitações e problemas
Você deve estar ciente das seguintes limitações e problemas associados ao acesso aos
dados do Zendesk.

O Zendesk retornará um status de erro 422 se a instância retornar mais de 1000


linhas.
Power Query Limites online
Artigo • 22/09/2023

O Power Query Online é integrado a uma variedade de produtos da Microsoft. Como


esses produtos têm como destino cenários diferentes, eles podem definir limites
diferentes para o uso do Power Query Online.

Os limites são impostos no início das avaliações de consulta. Depois que uma avaliação
está em andamento, apenas os limites de tempo limite serão impostos.

Tipos de limite
Contagem de avaliação por hora: o número máximo de solicitações de avaliação que
um usuário pode emitir durante qualquer período de 60 minutos

Tempo de avaliação diária: o tempo líquido que um usuário pode gastar avaliando
consultas durante qualquer período de 24 horas

Avaliações simultâneas: o número máximo de avaliações que um usuário pode ter em


execução a qualquer momento

Limites de criação
Os limites de criação são os mesmos em todos os produtos. Durante a criação, as
avaliações de consulta retornam visualizações que podem ser subconjuntos dos dados.
Os dados não são persistidos.

Contagem de avaliação por hora: 1.000

Tempo de avaliação diária: atualmente irrestrito

Tempo limite por consulta: 10 minutos

Limites de atualização
Durante a atualização (agendada ou sob demanda), as avaliações de consultas retornam
resultados completos. Normalmente, os dados são persistidos no armazenamento.
Integração do Produto Contagem de Tempo de Avaliações de
avaliação por avaliação diária consulta
hora (nº) (horas) simultânea (#)

Microsoft Flow (Conector de SQL 500 2 5


– transformar dados usando o
Power Query)

Fluxos de dados no 500 2 8


PowerApps.com (Avaliação)

Fluxos de dados no 1000 8 20


PowerApps.com (Produção)

Integração de dados no Portal de 1000 24 20


Administração do
PowerApps.com

Fluxos de dados no PowerBI.com 1000 100 20

Fluxos de dados do Customer 1000 100 20


Insights no Dynamics 365

Limites de fluxo de dados


O fluxo de dados é uma carga de trabalho que aproveita o Power Query Online. O fluxo
de dados é integrado ao Power BI, PowerApps, Microsoft Fabric e Dynamics 365
Customer Insights. Um único fluxo de dados tem um limite de 50 tabelas. Se você
precisar de mais de 50 tabelas, poderá criar vários fluxos de dados. Se você exceder o
limite, ocorrerá uma mensagem de erro durante a publicação e a atualização.
Problemas comuns
Artigo • 05/10/2023

Power Query

Como preservar a classificação


Você pode supor que, se classificar os dados, as operações downstream preservarão a
ordem de classificação.

Por exemplo, se você classificar uma tabela de vendas para que a maior venda de cada
loja seja mostrada primeiro, talvez você espere que fazer uma operação "Remover
duplicatas" retorne apenas a melhor venda de cada repositório. E essa operação pode,
de fato, parecer que funciona. No entanto, esse comportamento não é garantido.

Devido à maneira como o Power Query otimiza determinadas operações, incluindo


ignorá-las ou descarregá-las nas fontes de dados (o que podem ter seu próprio
comportamento de ordenação específico), não há garantia de que a ordem de
classificação será preservada por meio de agregações (como Table.Group ), mesclagens
(como Table.NestedJoin ) ou remoção duplicada (como Table.Distinct ).

Há diversas maneiras de contornar esse problema. Aqui estão algumas sugestões:

Execute uma classificação depois de aplicar a operação downstream. Por exemplo,


ao agrupar linhas, classifique a tabela aninhada em cada grupo, antes de aplicar
novas etapas. Este é um código M de exemplo que demonstra essa abordagem:
Table.Group(Sales_SalesPerson, {"TerritoryID"}, {{"SortedRows", each
Table.Sort(_, {"SalesYTD", Order.Descending})}})

Execute o buffer dos dados (usando Table.Buffer ), antes de aplicar a operação


downstream. Em alguns casos, essa operação fará com que a operação
downstream preserve a ordem de classificação em buffer.
Use a classificação. Por exemplo, em vez de usar Table.Distinct , você pode
ordenar pelas colunas que contêm os valores duplicados, classificar com base em
uma coluna de desempate (como modified_date ) e, em seguida, filtrar para manter
apenas as linhas de classificação 1.

Inferência de tipos de dados


Às vezes, o Power Query pode detectar incorretamente o tipo de dados de uma coluna.
Isso ocorre devido ao fato de que o Power Query infere os tipos de dados usando
apenas as primeiras 200 linhas de dados. Se os dados nas primeiras 200 linhas forem de
alguma forma diferentes dos dados após a linha 200, o Power Query pode acabar
escolhendo o tipo errado. (Lembre-se de que um tipo incorreto nem sempre produzirá
erros. Às vezes, os valores resultantes estarão simplesmente incorretos, o torna o
problema mais difícil de detectar.)

Por exemplo, imagine uma coluna que contém inteiros nas primeiras 200 linhas (como
todos os zeros), mas contém números decimais após a linha 200. Nesse caso, o Power
Query inferirá o tipo de dados da coluna como Número Inteiro (Int64.Type). Essa
inferência resultará no truncamento das partes decimais dos números não inteiros.

Ou imagine uma coluna que contém valores de texto de data nas primeiras 200 linhas e
outros tipos de valores de texto após a linha 200. Nesse caso, o Power Query inferirá o
tipo de dados da coluna como Data. Essa inferência fará com que os valores de texto
que não são datas sejam tratados como erros de conversão de tipo.

Como a detecção de tipo funciona nas primeiras 200 linhas, mas a Criação de Perfil de
Dados pode operar em todo o conjunto de dados, você pode usar a funcionalidade
Criação de Perfil de Dados para obter uma indicação antecipada no Editor de Consultas
sobre os Erros (na detecção de tipo ou em diversos outros motivos), além das N
principais linhas.

Conexões encerradas à força pelo host remoto


Ao se conectar a várias APIs, você pode receber o seguinte aviso:

Data source error: Unable to read data from the transport connection: An existing

connection was forcibly closed by the remote host

Se você encontrar esse erro, provavelmente será um problema de rede. Em geral, as


primeiras pessoas a verificar são os proprietários da fonte de dados à qual você está
tentando se conectar. Se eles não acharem que são eles que estão encerrando a
conexão, é possível que algo no meio do caminho esteja (por exemplo, um servidor
proxy, roteadores/gateways intermediários e assim por diante).

Quer isso seja reproduzido apenas com quaisquer dados ou apenas com dados maiores,
é provável que haja um tempo limite de rede em algum lugar da rota. Se for apenas
com dados maiores, os clientes devem consultar o proprietário da fonte de dados, para
ver se as APIs permitem a paginação, para que possam dividir as solicitações em partes
menores. Caso contrário, maneiras alternativas de extrair os dados da API (de acordo
com as melhores práticas de fonte de dados) devem ser seguidas.

Os conjuntos de criptografia de TLS RSA foram


descontinuados
A partir de 30 de outubro de 2020, os seguintes conjuntos de criptografia estão sendo
descontinuados em nossos servidores.

"TLS_RSA_WITH_AES_256_GCM_SHA384”
"TLS_RSA_WITH_AES_128_GCM_SHA256”
"TLS_RSA_WITH_AES_256_CBC_SHA256”
"TLS_RSA_WITH_AES_128_CBC_SHA256”

A lista a seguir mostra os pacotes de criptografia com suporte:

"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384"
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"

Os conjuntos de criptografia são usados para criptografar mensagens para proteger


uma conexão de rede entre clientes/servidores e outros servidores. Estamos removendo
a lista de conjuntos de criptografia acima para obedecer aos nossos protocolos de
segurança atuais. A partir de 1º de março de 2021, os clientes só podem usar nossos
conjuntos de criptografia padrão.

Esses são os pacotes de criptografia com os quais o servidor a que você se conecta deve
ser compatível para se conectar no Power Query Online ou no Power BI.

No Power Query Desktop (Power BI, Excel), não controlamos os pacotes de criptografia.
Se você estiver tentando se conectar ao Power Platform (por exemplo, fluxos de dados
do Power Platform) ou ao Serviço do Power BI, precisará de um desses pacotes de
criptografia habilitados no sistema operacional. Você pode atualizar a versão do
Windows ou atualizar o registro de TLS do Windows para ter certeza de que o ponto de
extremidade do servidor oferece suporte a uma dessas cifras.

Para verificar se o servidor está em conformidade com o protocolo de segurança, você


pode executar um teste usando uma ferramenta de TLS e criptografia TLS. Um exemplo
pode ser SSLLABS .

Os clientes devem atualizar seus servidores antes de 1º de março de 2021. Para obter
mais informações sobre como configurar a ordem do conjunto de criptografia de TLS,
consulte Gerenciar Transport Layer Security (TLS).

Revogação de certificado
Uma próxima versão do Power BI Desktop causará falha nas conexões SSL na Área de
Trabalho, quando os certificados da cadeia SSL não tiverem status de revogação de
certificado. Essa é uma alteração no estado atual, em que a revogação só causou falha
de conexão no caso em que o certificado foi explicitamente revogado. Outros
problemas de certificado podem incluir assinaturas inválidas e expiração do certificado.

Como há configurações em que o status de revogação pode ser removido, como nos
servidores proxy corporativos, forneceremos outra opção para ignorar os certificados
que não têm informações de revogação. Essa opção permitirá situações em que as
informações de revogação são removidas em determinados casos, mas você não deseja
reduzir totalmente a segurança, para continuar trabalhando.

Não é recomendável, mas os usuários continuarão podendo desativar totalmente as


verificações de revogação.

Erro: a avaliação foi cancelada


O Power Query retornará a mensagem "A avaliação foi cancelada", quando a análise em
segundo plano estiver desabilitada e o usuário alternar entre consultas ou fechar o
Editor de Consultas, enquanto uma consulta estiver no processo de atualização.

Erro: a chave não correspondeu às linhas na tabela


Há muitas razões pelas quais o Power Query pode retornar um erro indicando que a
chave não correspondeu às linhas na tabela. Quando esse erro acontece, o Mecanismo
de Mashup não consegue localizar o nome da tabela que está procurando. As razões
pelas quais esse erro pode acontecer incluem:

O nome da tabela foi alterado, por exemplo, na própria fonte de dados.


A conta usada para acessar a tabela não tem privilégios suficientes para ler a
tabela.
Pode haver várias credenciais para uma única fonte de dados, o que não tem
suporte no Serviço do Power BI. Esse erro pode acontecer, por exemplo, quando a
fonte de dados é uma fonte de dados na nuvem e várias contas estão sendo
usadas para acessar a fonte de dados ao mesmo tempo, com credenciais
diferentes. Se a fonte de dados for local, você precisará usar o gateway de dados
local.

Limitação: requisito ingressado no domínio para


computadores de gateway ao usar a autenticação do
Windows
Usar a autenticação do Windows com um gateway local exige que o computador de
gateway seja ingressado no domínio. Isso se aplica a todas as conexões configuradas
com a "autenticação do Windows por meio do gateway". As contas do Windows que
serão usadas para acessar uma fonte de dados podem exigir o acesso de leitura aos
componentes compartilhados no diretório do Windows e na instalação do gateway.

Limitação: não há suporte para a atualização do OAuth2


entre locatários no serviço do Power BI
Se você quiser se conectar a uma fonte de dados do serviço do Power BI usando o
OAuth2, a fonte de dados deve estar no mesmo locatário que o serviço do Power BI.
Atualmente, não há suporte para cenários de conexão multilocatário com OAuth2.

Limitação: não há suporte para o ponto de extremidade


de autenticação personalizada do AD FS no serviço do
Power BI
Não há suporte para a capacidade de usar um ponto de extremidade de autenticação
dos Serviços de Federação do Active Directory (AD FS) personalizados no serviço do
Power BI. Os usuários podem encontrar o seguinte erro: o serviço de token relatado
pelo recurso não é confiável.

Limitação: Não há suporte para contas de convidado


No momento, não há suporte para o uso de contas de convidado de um locatário para
se conectar a dados que usam conectores do Power Query.

Expression.Error: A avaliação resultou em um excedente


de pilha e não pode continuar
Erros de excedente de pilha podem ser causados por um bug em seu código M. Por
exemplo, a função a seguir gera um excedente de pilha porque ela chama
repetidamente de volta para si mesma sem qualquer tipo de condição final. Uma função
que se autodenomina assim é conhecida como função "recursiva".

let f = (x) => @f(x + 1) in f(0)

Aqui estão algumas maneiras comuns de resolver um excedente de pilha em seu código
M.

Verifique se as funções recursivas realmente terminam quando a condição final


esperada é atingida.
Substitua a recursão pela iteração (por exemplo, usando funções como
List.Transform, List.Generate ou List.Accumulate).

Expression.Error: A avaliação ficou sem memória e não


pode continuar
Erros de "falta de memória" (ou OOMs) podem ser causados por muitas operações com
uso intensivo de memória em tabelas muito grandes. Por exemplo, o código M a seguir
gera uma falta de memória porque tenta carregar um bilhão de linhas na memória de
uma só vez.

Table.Buffer(Table.FromList({1..1000000000}, Splitter.SplitByNothing()))

Para resolver erros de falta de memória, otimize as operações com uso intensivo de
memória, como classificações, junções, agrupamentos e distinções, garantindo que elas
se dobrem para a origem ou removendo-as completamente sempre que possível. As
classificações, por exemplo, muitas vezes são desnecessárias.

Fluxos de dados

Cancelar atualização de fluxo de dados


Às vezes, você inicia uma atualização de fluxo de dados, mas depois de iniciá-la,
percebe que queria alterar mais uma coisa antes de atualizar seus dados. Nesse caso,
você precisa esperar até que a atualização seja concluída. No momento, não há suporte
para interromper uma atualização no meio do caminho, pois o processo já está
trabalhando para obter os dados e atualizar as tabelas em seu espaço de trabalho ou
ambiente.
Planejamos adicionar suporte para cancelar uma atualização de fluxo de dados no
futuro.
Analisar alterações do script no Power
Query Online
Artigo • 05/10/2023

Tela de fundo
Devido à maneira como as consultas são armazenadas no Power Query Online, há casos
em que se perde o script M inserido manualmente (geralmente comentários). O painel
Analisar Alterações do Script fornece uma experiência "diff" que realça as alterações,
permitindo que os usuários entendam quais alterações estão sendo feitas. Assim, os
usuários podem aceitar as alterações ou corrigir o script.

Há três casos dignos de nota que podem causar essa experiência.

Script para transformações da faixa de opções


As transformações da faixa de opções sempre geram o mesmo script M, que pode ser
diferente da maneira como elas são inseridas manualmente. Sempre deve ser um script
equivalente. Entre em contato com o suporte se esse não for o caso.

Comentários
Os comentários sempre precisam estar dentro da expressão Let .. in e acima de uma
etapa. Isso será mostrado na interface do usuário como uma "Propriedade da etapa".
Todos os outros comentários serão perdidos. Comentários escritos na mesma linha de
uma etapa, mas acima de outra etapa (por exemplo, após a vírgula que segue cada
etapa) serão movidos para baixo.

Remoção dos erros do script


Em determinados casos, o script será atualizado se resultar em um erro de sintaxe ao
sair do script (por exemplo, ao usar a barra de fórmulas).

Experiência
Depois que você confirma uma consulta, o Power Query Online a avalia para ver se a
versão "armazenada" do script difere daquela que você enviou. Se isso acontecer, a
caixa de diálogo Analisar Alterações do Script será apresentada, o que permitirá que
você aceite ou cancele.

Se você aceitar, as alterações serão feitas na consulta.


Se você cancelar, poderá reescrever a consulta para mover os comentários
corretamente ou reorganizar o que desejar.
Comentários do conector do Power
Query
Artigo • 05/10/2023

Este artigo descreve como enviar comentários para conectores Power Query. É
importante distinguir entre conectores de propriedade da Microsoft e conectores não
pertencentes à Microsoft, pois os canais de suporte e comentários são diferentes.

Para confirmar se um conector é de propriedade da Microsoft, visite a referência do


conector. Somente conectores marcados como "Por Microsoft" são conectores de
propriedade da Microsoft.

Conectores de propriedade da Microsoft


Esta seção descreve as instruções para receber suporte ou enviar comentários sobre
conectores de propriedade da Microsoft.

Suporte e solução de problemas


Se você estiver encontrando um problema com um conector Power Query, use os canais
de suporte dedicados para o produto em que você está usando conectores Power
Query. Por exemplo, para o Power BI, visite a página de suporte do Power BI .

Se você estiver buscando ajuda para usar conectores de Power Query de propriedade da
Microsoft, acesse um dos recursos a seguir.

Fóruns da comunidade para o produto em que você está usando o Power Query.
Por exemplo, para o Power BI, esse fórum seria a Comunidade do Power BI e,
para fluxos de dados do PowerPlatform, o fórum seria Comunidade do Power
Apps .
Recursos do site do Power Query .
Enviar comentários
Para enviar comentários sobre um conector de propriedade da Microsoft, forneça os
comentários para o fórum "ideias" do produto em que você está usando Power Query
conectores. Por exemplo, para o Power BI, visite o fórum de ideias do Power BI . Se
você tiver um, também poderá fornecer comentários diretamente ao contato de sua
conta Microsoft.

Conectores não pertencentes à Microsoft


Esta seção descreve as instruções para receber suporte ou enviar comentários sobre
conectores não pertencentes à Microsoft.

Suporte e solução de problemas


Para conectores não pertencentes à Microsoft, as perguntas de suporte e solução de
problemas devem ir para o proprietário do conector por meio de seus canais de
suporte. Por exemplo, para um conector de propriedade da Contoso, você deve enviar
uma solicitação por meio dos canais de suporte da Contoso.

Você também pode envolver os Power Query recursos da comunidade indicados acima
para conectores de propriedade da Microsoft, caso um membro da comunidade possa
ajudar.

Enviar comentários
Como conectores não pertencentes à Microsoft são gerenciados e atualizados pelo
respectivo proprietário do conector, os comentários devem ser enviados diretamente ao
proprietário do conector. Por exemplo, para enviar comentários sobre um conector de
propriedade da Contoso, você deve enviar comentários diretamente à Contoso.
Capturar solicitações da Web com o
Fiddler
Artigo • 13/05/2023

Para fazer o diagnóstico de problemas que ocorrem quando o Power Query se


comunica com os dados, você pode ser solicitado a fornecer um rastreamento do
Fiddler. As informações fornecidas pelo Fiddler podem ser importantes ao solucionar
problemas de conectividade.

7 Observação

Este artigo pressupõe que você já conheça o funcionamento geral do Fiddler.

Configurar o Fiddler para capturar endereços


HTTP seguros
Antes de começar a capturar as solicitações da Web emitidas pelo Power Query,
primeiro você deve habilitar o Fiddler para capturar os endereços HTTP seguros
(https://) em seu dispositivo.

Se você ainda não tem o Fiddler instalado, baixe e instale o Fiddler agora. Instale o
Fiddler no sistema em que o problema está ocorrendo.

Para configurar o Fiddler para capturar os endereços HTTP seguros:

1. Abra o Fiddler.

2. Em Arquivo, desmarque a seleção de Capturar tráfego.

3. Selecione Ferramentas>Opções.

4. Abra a guia HTTPS.

5. Selecione Capturar CONEXÕES HTTPS.

6. Selecione Descriptografar tráfego HTTPS.

7. Na caixa de diálogo do certificado raiz, selecioneSim.


8. Quando solicitado a confirmar se deseja adicionar o certificado à lista raiz confiável
dos computadores, selecione Sim.

9. Na guia HTTPS, selecione OK.

10. No painel de tráfego do Fiddler, selecione um dos rastreamentos existentes e


pressione Ctrl + X. Essa ação limpa todos os rastreamentos existentes do painel de
tráfego.

Diretrizes para capturar as solicitações da Web


Como o Fiddler captura todo o tráfego de rede durante a sessão gravada, feche todos
os outros aplicativos e páginas da Web antes de capturar um rastreamento do Fiddler.
Fechar todos os outros aplicativos e páginas da Web limpa a maior parte do tráfego
extra da Web que não está associado ao problema que você está tentando capturar.
Depois de fechar todos os outros aplicativos e páginas da Web não associados ao
problema, limpe o painel de tráfego do Fiddler conforme descrito na etapa 10 do
procedimento anterior. Em seguida, selecioneArquivo>Capturar tráfego logo antes de
iniciar a operação em questão. Depois que o problema ocorrer, desmarque
imediatamente a seleção de Arquivo>Capturar tráfego para interromper a captura.

Essas ações reduzem o número de mensagens que precisamos examinar e também


ajudam a focar a investigação. Também evita capturar outras informações possivelmente
confidenciais que você não deseja compartilhar.

Se você estiver executando apenas o Power Query e o Fiddler, essa configuração mínima
deverá produzir uma sequência de solicitações e respostas HTTP de qualquer back-end
com o qual você está se comunicando, por exemplo, serviço do Power BI, SharePoint ou
Azure. As solicitações, respostas, cabeçalhos, códigos de resposta e, às vezes, o
conteúdo, todos fornecerão pistas que poderão ser usados para solucionar o problema.

Para salvar a sessão de captura em um arquivo de log, selecione Arquivo>Salvar>Todos


as sessões. Você também pode ser solicitado a compactar o arquivo de log (.zip) antes
de enviá-lo.

Retornar seu sistema à configuração original


Depois de fornecer os arquivos de log ao Fiddler e a solução do problema for concluída,
você deverá retornar seu sistema à configuração original e remover o Fiddler.

Para retornar seu sistema à configuração original:

1. No Fiddler, selecione Ferramentas>Opções.

2. Em Opções, abra a guia HTTPS.

3. Desmarque a seleção de Capturar CONEXÕES HTTPS.

4. Selecione Ações.

5. Selecione Redefinir todos os certificados.


6. Em Redefinir todos os certificados, selecione OK.

7. Em Deseja permitir que este aplicativo faça alterações em seu dispositivo?,


selecione Sim.

8. Em TrustCert Success, selecione OK.

9. Em Repositório do certificado raiz, selecione Sim.

10. Se a caixa de diálogo do certificado raiz for exibida, feche a caixa de diálogo sem
selecionar Sim ou Não.

11. Em Sucesso, selecione OK.

12. Em Opções, selecione OK.

Confira também
Diagnóstico de consulta
Comentários do Power Query
Introdução ao Fiddler Classic
Visão geral do SDK do Power Query
Artigo • 05/10/2023

O SDK do Power Query é um conjunto de ferramentas projetado para ajudá-lo a criar


conectores do Power Query. Esses conectores geralmente são chamados de conectores
personalizados ou extensões do Power Query.

Os conectores personalizados permitem que você crie novas fontes de dados ou


personalize e estenda uma fonte existente. Os casos de uso comuns incluem:

Criar uma exibição de uma API REST fácil de usar por analistas de negócios.
Fornecer identidade visual usando um conector existente para uma fonte que o
Power Query suporta (como por exemplo, um serviço OData ou driver ODBC).
Implementar o fluxo de autenticação do OAuth v2 para uma oferta de SaaS.
Expor uma exibição limitada ou filtrada sobre a fonte de dados para aprimorar a
usabilidade.
Habilitar o DirectQuery para uma fonte de dados usando um driver ODBC.

Instalação do SDK do Power Query


Atualmente, há duas versões do SDK do Power Query disponíveis:

SDK do Power Query para Visual Studio: Lançado em 2017 como uma extensão
para Visual Studio 2017 e 2019.
SDK do Power Query para Visual Studio Code (Versão Preliminar): lançado em
2022 como a maneira nova e recomendada de criar conectores do Power Query.

Incentivamos todos os desenvolvedores a instalar e usar o recém-lançado SDK do Power


Query para Visual Studio Code (Versão Preliminar), pois essa versão será eventualmente
o SDK padrão daqui para frente.

SDK do Power Query para Visual Studio


Siga as etapas abaixo para instalar o SDK do Power Query para Visual Studio:

1. Instale o SDK do Power Query no Visual Studio Marketplace.


2. Crie um projeto de conector de dados.
3. Defina a logica do seu conector.
4. Crie o projeto para produzir um arquivo de extensão.
SDK do Power Query para Visual Studio Code (Versão
Preliminar)

7 Observação

O novo SDK do Power Query para Visual Studio Code está atualmente em
visualização pública desde setembro de 2022.

Instale o novo SDK do Power Query para Visual Studio Code na seção Visual Studio
Code do Visual Studio Marketplace . Selecione Instalar para instalar o SDK.

Processo de desenvolvimento de conector


Embora você possa usar tanto o SDK do Power Query para Visual Studio Code quanto
para Visual Studio, ambos utilizam um processo semelhante para o desenvolvimento de
um conector em um nível mais alto.

As seguintes seções descrevem, em um nível mais alto, o processo mais comum para
criar um conector do Power Query usando o SDK.

Criando uma nova extensão


Ao criar um novo projeto (SDK do Power Query para Visual Studio) ou um novo espaço
de trabalho (SDK do Power Query para Visual Studio Code), você começa com os
seguintes arquivos principais:

Arquivo de definição do conector (<connectorName>.pq)


Um arquivo de consulta (<connectorName>.query.pq)
Um arquivo de recurso de cadeia de caracteres (resources.resx)
Arquivos PNG de vários tamanhos usados para criar ícones

O arquivo de definição do conector começará com uma descrição vazia da fonte de


dados. Você pode saber mais sobre uma fonte de dados no contexto do SDK do Power
Query no artigo Lidando com o acesso a dados.

Testando
O SDK do Power Query fornece recursos básicos de execução de consulta, permitindo
que você teste sua extensão sem precisar alternar para o Power BI Desktop.

Arquivo de teste de consulta


Além do arquivo de extensão, os projetos do Conector de Dados podem ter um arquivo
de consulta (name.query.pq). Esse arquivo pode ser usado para executar consultas de
teste no Visual Studio. A avaliação da consulta incluirá automaticamente seu código de
extensão, sem precisar registrar seu arquivo .pqx, permitindo que você chame ou teste
quaisquer funções compartilhadas em seu código de extensão.

O arquivo de consulta pode conter uma única expressão (por exemplo,


HelloWorld.Contents() ), uma expressão let (como o que Power Query geraria) ou um
documento de seção.

Criar e implantar
A construção do seu projeto gera o arquivo .mez ou arquivo de extensão.

As extensões do Power Query são agrupadas em um arquivo ZIP e recebem uma


extensão de arquivo .mez. Em tempo de execução, o Power BI Desktop carrega
extensões de [Documents]\Microsoft Power BI Desktop\Custom Connectors.

7 Observação

Os projetos do Conector de Dados não dão suporte a etapas personalizadas após a


compilação para copiar o arquivo de extensão para o diretório
[Documentos]\Microsoft Power BI Desktop\Conectores Personalizados. Se isso é
algo que você deseja fazer, convém usar uma extensão de terceiros. Se isso é algo
que deseja fazer, você pode usar uma extensão de terceiros.

As extensões são definidas em um documento da seção M. Um documento de seção


tem um formato ligeiramente diferente dos documentos de consulta gerados no Power
Query. O código importado do Power Query normalmente requer modificação para
caber em um documento de seção, mas as alterações são secundárias. As diferenças de
documento da seção que você deve conhecer incluem:

Eles começam com uma declaração de seção (por exemplo, section HelloWorld; ).
Cada expressão termina com um ponto e vírgula (por exemplo, a = 1; ou b = let
c = 1 + 2 in c; ).

Todas as funções e variáveis são locais ao documento de seção, a menos que


estejam marcadas como compartilhadas. As funções compartilhadas tornam-se
visíveis para outras consultas/funções e podem ser consideradas como
exportações para sua extensão (ou seja, elas podem ser chamadas do Power
Query).

Mais informações sobre os documentos da seção M podem ser encontradas na


Especificação da Linguagem M..

Distribuição de conectores de dados


Os conectores do Power Query podem ser usados no Power BI Desktop ou na
experiência do Power Query Online, como fluxos de dados do Power BI, datamarts do
Power BI e outras experiências.

Power BI Desktop
Os usuários do Power BI Desktop podem seguir as etapas abaixo para consumir um
conector personalizado do Power Query:

1. Copie o arquivo de extensão (.mez ou .pqx) para [Documentos]/Power BI


Desktop/Conectores Personalizados.
2. No Power BI Desktop, selecione a opção (Não recomendado) Permitir que
qualquer extensão seja carregada sem validação ou aviso em Arquivo>Opções e
configurações>Opções>Segurança>Extensões de Dados.
3. Reinicie o Power BI Desktop.

O Power BI Desktop carregará automaticamente as extensões na reinicialização.


Alternativamente, como proprietário da fonte de dados e do conector, você pode enviar
seu conector para o programa Certificação de Conector do Power Query para que ele
seja incluído no Power BI Desktop em cada versão lançada.

Power Query Online

7 Observação

A equipe do Power Query está trabalhando muito para habilitar todos os


conectores certificados do Power Query na experiência do Power Query Online.

Apenas os conectores certificados do Power Query são exibidos na experiência do


Power Query Online. Para saber mais sobre o programa de certificação de conector do
Power Query, acesse Certificação de Conector do Power Query.

Mais links e recursos


Funções de biblioteca M
Especificação da linguagem M
Central de Desenvolvedores do Power BI
Tutorial do Conector de Dados
Usando o SDK do Power Query
Artigo • 05/10/2023

Este artigo se concentra na experiência disponível para o SDK do Power Query


encontrado no Visual Studio Code. Você pode saber mais sobre como instalar o SDK do
Power Query para Visual Studio no artigo Instalando o SDK.

Criar um novo projeto

 Dica

Antes de criar um projeto de extensão, recomendamos que você crie uma nova
pasta para armazenar o projeto. Durante a criação de um novo projeto, se
nenhuma pasta for selecionada, o SDK do Power Query ajudará você a localizar ou
criar uma nova pasta antes de criar o projeto de extensão.

No Visual Studio Code, no painel principal Explorer do Visual Studio Code, há uma
seção chamada SDK do Power Query. Esta seção tem apenas o botão Criar um projeto
de extensão. Selecione esse botão.
Esse botão abre um campo de entrada na parte superior da interface do Visual Studio
Code. Insira o nome do novo projeto de extensão e selecione Enter.

Depois de alguns segundos, a janela Visual Studio Code abre o arquivo *.pq principal do
projeto de extensão que contém a lógica do conector. O SDK do Power Query executa
automaticamente algumas tarefas necessárias para concluir a configuração do espaço
de trabalho. Você pode verificar essas tarefas no console de saída no Visual Studio
Code.
O SDK do Power Query cria automaticamente o seguinte conjunto de arquivos:

Um arquivo settings.json que dita configurações específicas com as quais


trabalhar no nível do espaço de trabalho.
Ele cria a extensão como um arquivo .mez e a armazena em uma nova pasta
bin\AnyCPU\Debug.
Um conjunto de ícones de conector como arquivos .png.
Um arquivo resources.resx que serve como o armazenamento principal para
strings que são usadas na extensão.
Um arquivo .pq que contém a lógica principal da extensão ou do conector.
Um arquivo .query.pq cuja finalidade principal é ser usado como uma maneira de
criar consultas de teste que você pode avaliar posteriormente.
Um arquivo .proj com informações sobre o projeto de extensão.
Depois que um projeto de extensão é reconhecido pelo Visual Studio Code, a seção do
SDK do Power Query muda de aparência e agora exibe uma lista de tarefas que você
pode executar no novo projeto de extensão.

Credenciais
) Importante

Antes de avaliar uma das consultas do conector de dados, um conjunto de


credenciais deve primeiro ser criado para o projeto de extensão.

O SDK do Power Query oferece várias tarefas pela interface de usuário para permitir que
você defina, liste e exclua credenciais do projeto de extensão.

Definir credencial
O SDK do Power Query é direcionado principalmente por tarefas que podem ser
acionadas por vários pontos de entrada. A definição de uma credencial pode ser feita de
duas maneiras (as outras tarefas de credencial podem ser feitas da mesma maneira).

Pela entrada na seção SDK do Power Query no painel do Explorer.

Pelo Terminal, selecionando a opção Executar Tarefa e, em seguida, selecionando


a tarefa Definir credencial.

Quando você executa essa tarefa, o Visual Studio Code o guia por uma série de prompts
para permitir a definição da credencial. Essas séries de prompts são previsíveis e sempre
consistem nos mesmos estágios:

1. Escolha o tipo de fonte de dados.


2. Escolha o arquivo do conector.
3. Escolha um método de autenticação.

Para o projeto de extensão existente, o método de autenticação disponível é anônimo.


Depois que a autenticação é definida, uma mensagem que confirma que uma credencial
foi gerada é exibida no canto inferior direito da janela.

Credenciais da lista
Semelhante à definição de uma credencial, a tarefa de listar credenciais tem dois pontos
de entrada nos mesmos locais: a seção SDK do Power Query no painel Explorer e
dentro do menu Terminal.

Quando essa tarefa é executada, ela mostra as credenciais disponíveis dentro do


terminal de saída.
Apagar TODAS as credenciais
Semelhante às duas tarefas anteriores, a tarefa para apagar todas as credenciais tem
dois pontos de entrada nos mesmos locais: a seção SDK do Power Query no painel
Explorer e dentro do menu Terminal.

Essa tarefa serve como uma maneira de apagar todas as credenciais da sessão atual
quando você precisar definir uma nova credencial para avaliar suas consultas.

As mensagens informativas dessa tarefa também são mostradas no console de saída.

Avaliar uma consulta e o painel de resultados


Antes de avaliar qualquer consulta de teste, uma credencial deve ser definida. Usando o
conector que foi criado na seção anterior, você pode abrir o arquivo *.query.pq que
serve como arquivo de consulta de teste.

Para esse conector específico onde o nome do projeto era MyConnector, o código tem
esta aparência:

Power Query M

// Use this file to write queries to test your data connector


let
result = MyConnector.Contents()
in
result

Antes de avaliar a consulta, vamos alterar o código da seguinte maneira:

Power Query M

// Use this file to write queries to test your data connector


let
result = MyConnector.Contents("Hello World")
in
result

Salve o arquivo depois de alterar o código.

Para avaliar essa consulta, você tem três opções:

Selecione com o botão direito do mouse o arquivo que está em uso e selecione a
opção Avaliar arquivo do Power Query atual.
Percorra o menu Terminal e selecione a tarefa Avaliar arquivo atual.

Use a opção nativa Executar e Depurar do Visual Studio Code, selecione o


hiperlink para criar um arquivo launch.json e avalie o arquivo.
Depois de avaliar a consulta, os resultados são exibidos no console na parte inferior da
janela e em um novo painel chamado resultados à direita.

O painel de resultados contém três guias:

Guia Saída: exibe uma visualização de dados da consulta avaliada. Se os dados


forem uma tabela, eles serão exibidos como grade.
Resumo: exibe um resumo da atividade que executou as avaliações, juntamente
com as estatísticas associadas a essa atividade.

DataSource: exibe informações gerais sobre a fonte de dados usada para a


avaliação.
Para avaliar uma consulta diferente, basta modificar o arquivo *.query.pq, salvá-lo e
executar a tarefa de avaliação novamente com qualquer um dos três métodos.

7 Observação

O SDK do Power Query não gerencia nenhum tipo de mecanismo de cache para as
avaliações.

Trazer um projeto de extensão herdado para o


novo SDK
Esta seção ajuda os desenvolvedores de conectores que têm projetos de extensão que
foram criados com o SDK do Power Query baseado no Visual Studio herdado.

Para acompanhar, recomendamos baixar os projetos de conector disponíveis no


repositório DataConnectors para o exemplo TripPin , especificamente o exemplo 9-
TestConnection.

Para trazer o projeto de extensão herdado para o novo SDK, realize estas etapas:

1. No Visual Studio Code, selecione Arquivo>Abrir pasta e, em seguida, navegue até


a pasta onde seu projeto de extensão está localizado.
2. Configure um espaço de trabalho usando a pasta existente e o conteúdo usando
um dos dois métodos a seguir:

O SDK do Power Query tem um mecanismo para reconhecer o conteúdo da


pasta e sugere que você ative a conversão para um novo espaço de trabalho
do SDK do Power Query.

Execute o Configurar espaço de trabalho e a Tarefa de Criação no menu do


terminal. Eles criarão efetivamente o arquivo .mez e os arquivos settings.json
necessários para o espaço de trabalho.

A adição de duas novas pastas e arquivos é o que transforma o espaço de trabalho atual
em um novo espaço de trabalho do SDK do Power Query.

Workspace de configuração
O que a tarefa Configurar espaço de trabalho faz é criar um arquivo settings.json para
seu espaço de trabalho que dita algumas variáveis que serão usadas para o espaço de
trabalho quando se trata de avaliações e configurações gerais.
Criar um arquivo de extensão
A tarefa de compilação permite que você crie o arquivo .mez para a extensão sob
demanda.

Executar a função TestConnection


TestConnection é uma função que permite que seu conector seja atualizado na
Microsoft Cloud por serviços como o Power BI. É um registro implementado dentro do
registro da fonte de dados do conector. Você pode saber mais sobre a implementação
do manipulador TestConnection no exemplo disponível para conexão de teste.

A tarefa para executar TestConnection permite que você teste o manipulador dentro do
SDK do Power Query sem precisar usar manualmente esse manipulador na Microsoft
Cloud.

Para executar essa tarefa, primeiro defina uma credencial para o conector e, em seguida,
execute a tarefa na seção SDK do Power Query no Explorer ou na lista de tarefas dentro
do menu do terminal.

O resultado dessa tarefa é exibido no terminal de saída na parte inferior da janela.

Comentários e bugs
Você tem algum feedback, sugestão ou bug que gostaria de relatar? Visite nosso
repositório público oficial no GitHub .

Você pode usar o fórum da Comunidade do Power BI para postar perguntas gerais
sobre o Power Query, a linguagem M e o desenvolvimento de conectores
personalizados.
Criar seu primeiro conector: Olá, mundo
Artigo • 23/03/2023

Exemplo “Olá, Mundo”


Este exemplo fornece uma extensão de fonte de dados simples que pode ser executada
no Visual Studio e carregada no Power BI Desktop. Como visão geral, este exemplo
mostra o seguinte:

Função de exportação ( HelloWorld.Contents ), que usa um parâmetro de texto de


opção.
Definindo um tipo de fonte de dados que:
Declara que usa autenticação implícita (anônima).
Usa recursos de cadeia de caracteres que permitem a localização.
Declarando metadados da interface do usuário para que a extensão possa
aparecer na caixa de diálogo Power BI Desktop Obter Dados.

Seguindo as instruções sobre como instalar o SDK do PowerQuery, crie um novo projeto
chamado "OláMundo" e copie o código M a seguir e siga o restante das instruções para
abri-lo no PowerBI.

Na seguinte definição de conector, você encontrará:

Uma instrução section .


Uma função de fonte de dados com metadados estabelecendo-a como uma
definição de fonte de dados com o Tipo HelloWorld e Publicar
HelloWorld.Publish .

Um registro Authentication declarando que implícito (anônimo) é o único tipo de


autenticação para esta fonte.
Um registro de publicação declarando que essa conexão está em Beta, qual texto
carregar do arquivo resx, da imagem de origem e da imagem do tipo de origem.
Um registro associando tamanhos de ícone a PNGs específicos na pasta de
Construção.

section HelloWorld;

[DataSource.Kind="HelloWorld", Publish="HelloWorld.Publish"]
shared HelloWorld.Contents = (optional message as text) =>
let
message = if (message <> null) then message else "Hello world"
in
message;

HelloWorld = [
Authentication = [
Implicit = []
],
Label = Extension.LoadString("DataSourceLabel")
];

HelloWorld.Publish = [
Beta = true,
ButtonText = { Extension.LoadString("FormulaTitle"), Extension.LoadStrin
g("FormulaHelp") },
SourceImage = HelloWorld.Icons,
SourceTypeImage = HelloWorld.Icons
];

HelloWorld.Icons = [
Icon16 = { Extension.Contents("HelloWorld16.png"), Extension.Contents("H
elloWorld20.png"), Extension.Contents("HelloWorld24.png"), Extension.Content
s("HelloWorld32.png") },
Icon32 = { Extension.Contents("HelloWorld32.png"), Extension.Contents("H
elloWorld40.png"), Extension.Contents("HelloWorld48.png"), Extension.Content
s("HelloWorld64.png") }
];

Depois de criar o arquivo e copiá-lo para o diretório correto, seguindo as instruções no


tutorial Instalar o SDK do PowerQuery, abra o PowerBI. Você pode pesquisar "Olá" para
encontrar seu conector na caixa de diálogo Obter Dados.

Esta etapa apresentará uma caixa de diálogo de autenticação. Como não há opções de
autenticação e a função não usa parâmetros, não há mais etapas nessas caixas de
diálogo.

Pressione Conectar e a caixa de diálogo informará que ele é um "conector de


visualização", já Beta que está definido como verdadeiro na consulta. Como não há
autenticação, a tela de autenticação apresentará uma guia para autenticação anônima
sem campos. Pressione Conectar novamente para concluir.

Por fim, o editor de consultas aparecerá mostrando o que você espera, uma função que
retorna o texto "Olá, mundo".

Para obter o exemplo totalmente implementado, consulte o exemplo de Olá, Mundo


no repositório de exemplo dos Conectores de Dados.
Tutorial do TripPin
Artigo • 05/10/2023

Este tutorial de várias partes aborda a criação de uma nova extensão de fonte de dados
para o Power Query. O tutorial deve ser seguido sequencialmente; cada lição se baseia
no conector criado nas lições anteriores, adicionando incrementalmente novos recursos
a ele.

Este tutorial usa um serviço público OData (TripPin ) como fonte de referência.
Embora esta lição exija o uso das funções OData do mecanismo M, as lições
subsequentes usarão Web.Contents, tornando-o aplicável à maioria das APIs REST.

Pré-requisitos
Os seguintes aplicativos serão usados ao longo deste tutorial:

Power BI Desktop , versão de maio de 2017 ou posterior


SDK do Power Query para Visual Studio
Fiddler - opcional, mas recomendado para ver e depurar as solicitações para o
serviço REST

É altamente recomendado que você avalie:

A instalação do SDK do PowerQuery


Início do desenvolvimento de conectores personalizados
Criar seu primeiro conector: Olá, mundo
Tratar o acesso de dados
Tratar a autenticação

7 Observação

É possível começar a registrar em log o seu trabalho a qualquer momento ao


habilitar o diagnóstico, que é descrito posteriormente neste tutorial. Para mais
informações, consulte: Ativação do diagnóstico

Partes
Parte Lição Detalhes

1 OData Criar um Conector de dados simples em um serviço OData


Parte Lição Detalhes

2 Rest Conectar-se à API REST que retorna uma resposta JSON

3 Tabelas de navegação Fornecer uma experiência de navegação para sua fonte

4 Caminhos da fonte de Como as credenciais são identificadas na sua fonte de dados


dados

5 Paginação Ler com uma resposta paginada desde um serviço Web

6 Aplicar esquema Aplicar tipos de dados de coluna e estrutura de tabela

7 Esquema avançado Aplicar dinamicamente a estrutura da tabela usando tipos M e


metadados externos

8 Diagnóstico Adicionar rastreamento detalhado ao conector

9 Testar Conexão Implementar um manipulador TestConnection para habilitar a


atualização por meio do gateway

10 Dobragem de consulta Implementar manipuladores de dobragem de consulta básica


básica
TripPin parte 1 – Conector de dados para
um serviço OData
Artigo • 23/03/2023

Este tutorial de várias partes aborda a criação de uma nova extensão de fonte de dados
para o Power Query. O tutorial deve ser seguido sequencialmente. Cada lição se baseia
no conector criado nas lições anteriores, adicionando incrementalmente novos recursos
ao conector.

Nesta lição, você vai:

" Criar um projeto de Conector de Dados usando o SDK do Visual Studio


" Criar uma função básica para extrair dados de uma fonte
" Testar seu conector no Visual Studio
" Registrar o conector no Power BI Desktop

Criando um conector OData básico


Nesta seção, você criará um projeto de Conector de Dados, fornecerá algumas
informações básicas e testará no Visual Studio.

Abra o Visual Studio e crie um projeto. Na pasta do Power Query, selecione o projeto
Conector de Dados. Para este exemplo, defina o nome do projeto como TripPin .

Abra o arquivo TripPin.pq e cole na definição do conector a seguir.


Power Query M

section TripPin;

[DataSource.Kind="TripPin", Publish="TripPin.Publish"]
shared TripPin.Feed = Value.ReplaceType(TripPinImpl, type function (url as
Uri.Type) as any);

TripPinImpl = (url as text) =>


let
source = OData.Feed(url)
in
source;

// Data Source Kind description


TripPin = [
Authentication = [
Anonymous = []
],
Label = "TripPin Part 1 - OData"
];

// Data Source UI publishing description


TripPin.Publish = [
Beta = true,
Category = "Other",
ButtonText = { "TripPin OData", "TripPin OData" }
];

Essa definição de conector contém:

Um registro de definição da Fonte de Dados para o conector do TripPin


Uma declaração de que Implícita (Anônima) é o único tipo de autenticação para
essa fonte
Uma função ( TripPinImpl ) com uma implementação que chama OData.Feed
Uma função compartilhada ( TripPin.Feed ) que define o tipo de parâmetro como
Uri.Type
Um registro de publicação da Fonte de Dados que permitirá que o conector
apareça na caixa de diálogo Obter Dados do Power BI

Abra o arquivo TripPin.query.pq. Substitua o conteúdo atual por uma chamada para a
função exportada.

Power Query M

TripPin.Feed("https://services.odata.org/v4/TripPinService/")

Selecione o botão Iniciar para iniciar o utilitário M Query.


O arquivo <project>.query.pq é usado para testar a extensão sem precisar implantá-la
na pasta bin do Power BI Desktop. Selecionar o botão Iniciar (ou pressionar F5) compila
automaticamente a extensão e inicia o utilitário M Query.

A primeira execução da sua consulta resultará em um erro de credencial. No Power


Query, o aplicativo de hospedagem converteria esse erro em um prompt de credencial.
No Visual Studio, você receberá um prompt semelhante que indicará qual fonte de
dados tem as credenciais ausentes e o caminho da fonte de dados. Selecione o mais
curto dos caminhos da fonte de dados ( https://services.odata.org/ ) – isso aplicará a
credencial a todas as URLs nesse caminho.

Selecione o tipo de credencial Anônima e selecione Definir Credencial.

Selecione OK para fechar a caixa de diálogo e selecione o botão Iniciar mais uma vez.
Você verá uma caixa de diálogo de status de execução de consulta e, por fim, uma
tabela resultados da consulta mostrando os dados retornados da consulta.

Você pode experimentar algumas URLs do OData diferentes no arquivo de teste para
ver como outros resultados são retornados. Por exemplo:

https://services.odata.org/v4/TripPinService/Me
https://services.odata.org/v4/TripPinService/GetPersonWithMostFriends()

https://services.odata.org/v4/TripPinService/People

O arquivo TripPin.query.pq pode conter instruções individuais, instruções let ou


documentos de seção completa.

Power Query M

let
Source = TripPin.Feed("https://services.odata.org/v4/TripPinService/"),
People = Source{[Name="People"]}[Data],
SelectColumns = Table.SelectColumns(People, {"UserName", "FirstName",
"LastName"})
in
SelectColumns

Abra o Fiddler para capturar o tráfego HTTP e execute a consulta. Você verá algumas
solicitações diferentes ao services.odata.org, geradas pelo processo de contêiner de
mashup. Veja que o acesso à URL raiz do serviço resulta em um status 302 e um
redirecionamento para a versão mais longa da URL. Os redirecionamentos a seguir são
outros comportamentos que você obtém "gratuitamente" das funções da biblioteca
básica.

Uma coisa a observar se você olhar para as URLs é que você poderá ver a dobragem de
consultas que aconteceu com a instrução SelectColumns .
https://services.odata.org/v4/TripPinService/People?

$select=UserName%2CFirstName%2CLastName

Se você adicionar transformações à sua consulta, verá como elas afetam a URL gerada.

Esse comportamento é importante de se observar. Embora você não tenha


implementado a lógica de dobragem explícita, seu conector herda esses recursos da
função OData.Feed. As instruções da M podem ser compostas; os contextos de filtro
fluirão de uma função para outra, sempre que possível. Isso tem conceito semelhante à
maneira como as funções da fonte de dados usadas no conector herdam o contexto e
as credenciais de autenticação. Em lições posteriores, você substituirá o uso do
OData.Feed, que tem funcionalidades de dobragem nativas, pelo Web.Contents, que
não as tem. Para obter o mesmo nível de funcionalidades, você precisará usar a interface
Table.View e implementar sua própria lógica de dobragem explícita.

Carregando sua extensão no Power BI Desktop


Para usar sua extensão no Power BI Desktop, você precisará copiar o arquivo de saída
do projeto do conector (TripPin.mez) para o diretório Conectores Personalizados.

1. No Visual Studio, selecione Compilar | Compilar Solução (F6) na barra de menus.


Isso gerará o arquivo .mez para seu projeto. Por padrão, ele vai para a pasta
bin\Debug do projeto.
2. Crie um diretório [My Documents]\Power BI Desktop\Custom Connectors .
3. Copie o arquivo de extensão neste diretório.
4. Verifique a opção (Não Recomendado) Permitir que qualquer extensão seja
carregada sem validação ou aviso no Power BI Desktop (em Arquivo>Opções e
configurações>Opções>Segurança>Extensões de Dados).
5. Reinicie o Power BI Desktop.
6. Selecione Obter Dados > Mais para abrir a caixa de diálogo Obter Dados.

Para localizar a extensão, digite o nome dela na caixa de pesquisa.

Selecione o nome da função e selecione Conectar. Uma mensagem de terceiros é


exibida; selecione Continuar para seguir. A caixa de diálogo de invocação de função
agora é exibida. Insira a URL raiz do serviço
( https://services.odata.org/v4/TripPinService/ ) e selecione OK.

Como esta é a primeira vez que você está acessando essa fonte de dados, você receberá
um prompt de credenciais. Verifique se a URL mais curta está selecionada e escolha
Conectar.
Observe que, em vez de obter uma tabela simples de dados, o navegador é exibido. Isso
ocorre porque a função OData.Feed retorna uma tabela com metadados especiais que a
experiência do Power Query sabe exibir como uma tabela de navegação. Este passo a
passo abordará como você faz para criar e personalizar sua própria tabela de navegação
em uma lição futura.

Selecione a tabela Me e selecione Transformar Dados. Observe que as colunas já têm


tipos atribuídos (bem, a maioria delas). Esse é outro recurso da função OData.Feed
subjacente. Se você observar as solicitações no Fiddler , verá que obteve o documento
$metadata do serviço. A implementação do OData do mecanismo faz isso
automaticamente para determinar o esquema, os tipos de dados e as relações do
serviço.
Conclusão
Esta lição mostrou a criação de um conector simples com base na função de biblioteca
OData.Feed. Como você viu, pouca lógica é necessária para habilitar um conector
totalmente funcional sobre a função base OData . Outras funções habilitadas para
extensibilidade, como ODBC.DataSource, fornecem recursos semelhantes.

Na próxima lição, você substituirá o uso de OData.Feed por uma função com menos
funcionalidades: Web.Contents. Cada lição implementará mais recursos de conector,
incluindo paginação, detecção de metadados/esquema e dobragem de consultas na
sintaxe da consulta do OData, até que seu conector personalizado dê suporte à mesma
variedade de recursos que o OData.Feed.

Próximas etapas
Parte 2 do TripPin – Conector de Dados para um serviço REST
TripPin parte 2 – Conector de dados
para um serviço REST
Artigo • 23/03/2023

Este tutorial de várias partes aborda a criação de uma extensão de fonte de dados para
o Power Query. O tutorial deve ser seguido sequencialmente. Cada lição se baseia no
conector criado nas lições anteriores, adicionando incrementalmente novos recursos ao
conector.

Nesta lição, você vai:

" Criar uma função base que chama uma API REST usando Web.Contents
" Saber como definir cabeçalhos de solicitação e processar uma resposta JSON
" Usar o Power BI Desktop para organizar a resposta em um formato amigável

Esta lição converte o conector baseado em OData para o serviço TripPin (criado na
lição anterior) em um conector que se assemelha a algo que você criaria para qualquer
API RESTful. O OData é uma API RESTful, mas com um conjunto fixo de convenções. A
vantagem do OData é que ele fornece um esquema, um protocolo de recuperação de
dados e uma linguagem de consulta padrão. A remoção do uso do OData.Feed exigirá
que criemos essas funcionalidades no conector por nossa conta.

Recapitulação do conector OData


Antes de remover as funções do OData do conector, vamos fazer uma revisão rápida do
que ele faz atualmente (principalmente nos bastidores) para recuperar dados do serviço.

Abra o projeto do conector do TripPin da Parte 1 no Visual Studio. Abra o arquivo de


consulta e cole na seguinte consulta:

TripPin.Feed("https://services.odata.org/v4/TripPinService/Me")

Abra o Fiddler e selecione o botão Iniciar no Visual Studio.

No Fiddler, você verá três solicitações para o servidor:


/Me – a URL real que você está solicitando.

/$metadata – uma chamada feita automaticamente pela função OData.Feed para


determinar informações de esquema e tipo sobre a resposta.
/Me/BestFriend – um dos campos que foi (precipitadamente) extraído quando
você listou o singleton /Me. Nesse caso, a chamada resultou em um status 204 No
Content .

A avaliação da M é essencialmente lenta. Na maioria dos casos, os valores de dados só


são recuperados/extraídos quando são necessários. Há cenários (como o caso
/Me/BestFriend) em que um valor é obtido precipitadamente. Isso tende a ocorrer
quando as informações de tipo são necessárias para um membro e o mecanismo não
tem outra maneira de determinar o tipo, a não se recuperar o valor e inspecioná-lo.
Fazer as coisas lentamente (ou seja, evitar pulls precipitados) é um dos principais
aspectos para que um conector da M seja considerado de bom desempenho.

Observe os cabeçalhos de solicitação que foram enviados junto com as solicitações e o


formato JSON da resposta da solicitação /Me.

JSON

{
"@odata.context":
"https://services.odata.org/v4/TripPinService/$metadata#Me",
"UserName": "aprilcline",
"FirstName": "April",
"LastName": "Cline",
"MiddleName": null,
"Gender": "Female",
"Age": null,
"Emails": [ "April@example.com", "April@contoso.com" ],
"FavoriteFeature": "Feature1",
"Features": [ ],
"AddressInfo": [
{
"Address": "P.O. Box 555",
"City": {
"Name": "Lander",
"CountryRegion": "United States",
"Region": "WY"
}
}
],
"HomeAddress": null
}

Quando a consulta terminar de avaliar, a janela Saída da Consulta da M deverá mostrar


o valor de Registro para o singleton Me.
Se você comparar os campos na janela de saída com os campos retornados na resposta
JSON bruta, observará que há uma incompatibilidade. O resultado da consulta tem
campos adicionais ( Friends , Trips , GetFriendsTrips ) que não aparecem em nenhum
lugar na resposta JSON. A função OData.Feed acrescentou automaticamente esses
campos ao registro com base no esquema retornado por $metadata. Este é um bom
exemplo de como um conector pode aumentar e/ou reformatar a resposta do serviço
para fornecer uma melhor experiência do usuário.

Criando um conector REST básico


Agora você adicionará uma nova função exportada ao conector, a qual vai chamar
Web.Contents.

Para fazer solicitações da Web bem-sucedidas para o serviço OData, no entanto, você
precisará definir alguns cabeçalhos OData padrão . Você fará isso definindo um
conjunto comum de cabeçalhos como uma nova variável em seu conector:

Power Query M

DefaultRequestHeaders = [
#"Accept" = "application/json;odata.metadata=minimal", // column name
and values only
#"OData-MaxVersion" = "4.0" // we only
support v4
];

Você alterará sua implementação da função TripPin.Feed para que, em vez de usar
OData.Feed , ela use Web.Contents para fazer uma solicitação da Web, e analise o
resultado como um documento JSON.

Power Query M

TripPinImpl = (url as text) =>


let
source = Web.Contents(url, [ Headers = DefaultRequestHeaders ]),
json = Json.Document(source)
in
json;

Agora você pode testar isso no Visual Studio usando o arquivo de consulta. O resultado
do registro /Me agora se assemelha ao JSON bruto que você viu na solicitação do
Fiddler.

Se você observar o Fiddler ao executar a nova função, também verá que agora a
avaliação faz uma única solicitação da Web, em vez de três. Parabéns, você conseguiu
um aumento de 300% no desempenho! É claro que agora você perdeu todas as
informações de tipo e esquema, mas ainda não há necessidade de se concentrar nessa
parte.

Atualize sua consulta para acessar algumas das Entidades/Tabelas do TripPin, como:

https://services.odata.org/v4/TripPinService/Airlines

https://services.odata.org/v4/TripPinService/Airports
https://services.odata.org/v4/TripPinService/Me/Trips

Você observará que os caminhos usados para retornar tabelas bem formatadas agora
retornam um campo de "valor" de nível superior com uma [Lista] inserida. Você
precisará fazer algumas transformações no resultado para torná-lo utilizável para
cenários do Power BI.
Criando transformações no Power Query
Embora certamente seja possível criar suas transformações da M manualmente, a
maioria das pessoas prefere usar o Power Query para moldar os dados. Você abrirá sua
extensão no Power BI Desktop e a usará para criar consultas e transformar a saída em
um formato mais amigável. Recompile sua solução, copie o novo arquivo de extensão
para o diretório de conectores de dados personalizados e reinicie o Power BI Desktop.

Inicie uma nova consulta em branco e cole o seguinte na barra de fórmulas:

= TripPin.Feed("https://services.odata.org/v4/TripPinService/Airlines")

Não se esqueça de incluir o sinal de =.

Manipule a saída até que ela se pareça com o feed original do OData – uma tabela com
duas colunas: AirlineCode e Name.

A consulta resultante deve uma aparência semelhante a esta:

Power Query M

let
Source =
TripPin.Feed("https://services.odata.org/v4/TripPinService/Airlines"),
value = Source[value],
toTable = Table.FromList(value, Splitter.SplitByNothing(), null, null,
ExtraValues.Error),
expand = Table.ExpandRecordColumn(toTable, "Column1", {"AirlineCode",
"Name"}, {"AirlineCode", "Name"})
in
expand
Dê um nome à consulta ("Companhias Aéreas").

Crie uma consulta em branco. Desta vez, use a função TripPin.Feed para acessar a
entidade /Airports. Aplique transformações até obter algo semelhante ao
compartilhamento mostrado abaixo. A consulta correspondente também pode ser
encontrada abaixo – dê a essa consulta um nome ("Aeroportos") também.

Power Query M

let
Source =
TripPin.Feed("https://services.odata.org/v4/TripPinService/Airports"),
value = Source[value],
#"Converted to Table" = Table.FromList(value, Splitter.SplitByNothing(),
null, null, ExtraValues.Error),
#"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table",
"Column1", {"Name", "IcaoCode", "IataCode", "Location"}, {"Name",
"IcaoCode", "IataCode", "Location"}),
#"Expanded Location" = Table.ExpandRecordColumn(#"Expanded Column1",
"Location", {"Address", "Loc", "City"}, {"Address", "Loc", "City"}),
#"Expanded City" = Table.ExpandRecordColumn(#"Expanded Location",
"City", {"Name", "CountryRegion", "Region"}, {"Name.1", "CountryRegion",
"Region"}),
#"Renamed Columns" = Table.RenameColumns(#"Expanded City",{{"Name.1",
"City"}}),
#"Expanded Loc" = Table.ExpandRecordColumn(#"Renamed Columns", "Loc",
{"coordinates"}, {"coordinates"}),
#"Added Custom" = Table.AddColumn(#"Expanded Loc", "Latitude", each
[coordinates]{1}),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "Longitude", each
[coordinates]{0}),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom1",
{"coordinates"}),
#"Changed Type" = Table.TransformColumnTypes(#"Removed Columns",
{{"Name", type text}, {"IcaoCode", type text}, {"IataCode", type text},
{"Address", type text}, {"City", type text}, {"CountryRegion", type text},
{"Region", type text}, {"Latitude", type number}, {"Longitude", type
number}})
in
#"Changed Type"

Você pode repetir esse processo para outros caminhos no serviço. Quando estiver
pronto, vá para a próxima etapa de criação de uma tabela de navegação (simulada).
Simulando uma tabela de navegação
Agora você vai criar uma tabela (usando o código da M) que apresenta suas entidades
TripPin bem formatadas.

Inicie uma consulta em branco e abra o Editor Avançado.

Cole a seguinte consulta:

Power Query M

let
source = #table({"Name", "Data"}, {
{ "Airlines", Airlines },
{ "Airports", Airports }
})
in
source

Se você não tiver definido a configuração de Níveis de Privacidade como "Sempre


ignorar configurações de nível de privacidade" (também conhecida como "Combinação
Rápida") você verá um prompt de privacidade.

Os prompts de privacidade aparecem quando você está combinando dados de várias


fontes e ainda não especificou um nível de privacidade para as fontes. Selecione o
botão Continuar e defina o nível de privacidade da principal fonte como Público.

Selecione Salvar e sua tabela será exibida. Embora esta ainda não seja uma tabela de
navegação, ela fornece a funcionalidade básica necessária para transformá-la durante
uma lição subsequente.

As verificações de combinação de dados não ocorrem ao acessar várias fontes de


dentro de uma extensão. Como todas as chamadas de fonte de dados feitas de dentro
da extensão herdam o mesmo contexto de autorização, supõe-se que elas sejam
"seguras" para serem combinadas. Sua extensão sempre será tratada como uma única
fonte de dados no que se refere a regras de combinação de dados. Os usuários
continuariam recebendo os prompts de privacidade regulares ao combinar sua origem
com outras fontes da M.

Se você executar o Fiddler e clicar no botão Atualizar Visualização no Editor de


Consultas, observará solicitações da Web separadas para cada item na tabela de
navegação. Isso indica que uma avaliação precipitada está ocorrendo, o que não é ideal
ao criar tabelas de navegação com muitos elementos. As lições subsequentes mostrarão
como criar uma tabela de navegação adequada que dê suporte à avaliação lenta.

Conclusão
Esta lição mostrou como criar um conector simples para um serviço REST. Nesse caso,
você transformou uma extensão existente do OData em uma extensão REST padrão
(usando Web.Contents), mas os mesmos conceitos se aplicam se você estiver criando
uma extensão do zero.

Na próxima lição, você pegará as consultas criadas nesta lição usando o Power BI
Desktop e as transformará em uma tabela de navegação verdadeira dentro da extensão.

Próximas etapas
TripPin Parte 3 – Tabelas de Navegação
TripPin parte 3 – Tabelas de navegação
Artigo • 29/04/2023

Este tutorial de várias partes aborda a criação de uma nova extensão de fonte de dados
para o Power Query. O tutorial deve ser seguido sequencialmente. Cada lição se baseia
no conector criado nas lições anteriores, adicionando incrementalmente novos recursos
ao conector.

Nesta lição, você vai:

" criar uma tabela de navegação para um conjunto fixo de consultas


" testar a tabela de navegação no Power BI Desktop

Esta lição adiciona uma tabela de navegação ao conector do TripPin criado na lição
anterior. Quando o conector usou a OData.Feed função (Parte 1), você recebeu a tabela
de navegação "gratuitamente", conforme derivado do documento $metadata do serviço
do OData. Quando você mudou para a Web.Contents função (Parte 2), você perdeu a
tabela de navegação interna. Nesta lição, você usará um conjunto de consultas fixas
criadas no Power BI Desktop e adicionará os metadados apropriados ao Power Query
para exibir a caixa de diálogo Navegador da sua função de fonte de dados.

Consulte a documentação da Tabela de navegação para obter mais informações sobre


como usar as tabelas de navegação.

Definindo consultas fixas no conector


Um conector simples para uma API REST pode ser considerado como um conjunto fixo
de consultas, cada uma retornando uma tabela. Essas tabelas podem ser encontradas
por meio da tabela de navegação do conector. Basicamente, cada item no navegador
está associado a uma URL específica e a um conjunto de transformações.

Você começará copiando as consultas que escreveu no Power BI Desktop (na lição
anterior) no arquivo do conector. Abrirá o projeto do Visual Studio no TripPin Visual e
colará as consultas de companhias aéreas e aeroportos no arquivo TripPin.pq.
Transformará essas consultas em funções que usam um único parâmetro de texto:

Power Query M

GetAirlinesTable = (url as text) as table =>


let
source = TripPin.Feed(url & "Airlines"),
value = source[value],
toTable = Table.FromList(value, Splitter.SplitByNothing(), null,
null, ExtraValues.Error),
expand = Table.ExpandRecordColumn(toTable, "Column1",
{"AirlineCode", "Name"}, {"AirlineCode", "Name"})
in
expand;

GetAirportsTable = (url as text) as table =>


let
source = TripPin.Feed(url & "Airports"),
value = source[value],
#"Converted to Table" = Table.FromList(value,
Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to
Table", "Column1", {"Name", "IcaoCode", "IataCode", "Location"}, {"Name",
"IcaoCode", "IataCode", "Location"}),
#"Expanded Location" = Table.ExpandRecordColumn(#"Expanded Column1",
"Location", {"Address", "Loc", "City"}, {"Address", "Loc", "City"}),
#"Expanded City" = Table.ExpandRecordColumn(#"Expanded Location",
"City", {"Name", "CountryRegion", "Region"}, {"Name.1", "CountryRegion",
"Region"}),
#"Renamed Columns" = Table.RenameColumns(#"Expanded City",
{{"Name.1", "City"}}),
#"Expanded Loc" = Table.ExpandRecordColumn(#"Renamed Columns",
"Loc", {"coordinates"}, {"coordinates"}),
#"Added Custom" = Table.AddColumn(#"Expanded Loc", "Latitude", each
[coordinates]{1}),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "Longitude",
each [coordinates]{0}),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom1",
{"coordinates"}),
#"Changed Type" = Table.TransformColumnTypes(#"Removed Columns",
{{"Name", type text}, {"IcaoCode", type text}, {"IataCode", type text},
{"Address", type text}, {"City", type text}, {"CountryRegion", type text},
{"Region", type text}, {"Latitude", type number}, {"Longitude", type
number}})
in
#"Changed Type";

Em seguida, importará a consulta de tabela de navegação simulada que você escreveu,


que criará uma tabela fixa vinculando a essas consultas de conjunto de dados. Nomeie
como TripPinNavTable :

Power Query M

TripPinNavTable = (url as text) as table =>


let
source = #table({"Name", "Data"}, {
{ "Airlines", GetAirlinesTable(url) },
{ "Airports", GetAirportsTable(url) }
})
in
source;
Por fim, você declarará uma nova função compartilhada, TripPin.Contents ,que será
usada como a principal função de fonte de dados. Você também removerá o valor
Publish de TripPin.Feed para que não seja mais mostrado na caixa de diálogo Obter

dados.

Power Query M

[DataSource.Kind="TripPin"]
shared TripPin.Feed = Value.ReplaceType(TripPinImpl, type function (url as
Uri.Type) as any);

[DataSource.Kind="TripPin", Publish="TripPin.Publish"]
shared TripPin.Contents = Value.ReplaceType(TripPinNavTable, type function
(url as Uri.Type) as any);

7 Observação

Sua extensão pode marcar várias funções como shared , com ou sem associá-las a
um DataSource.Kind . No entanto, quando você associa uma função a um específico
DataSource.Kind , cada função deve ter o mesmo conjunto de parâmetros

obrigatórios com o mesmo nome e tipo. Isso ocorre porque os parâmetros da


função de fonte de dados são combinados para criar uma "chave" usada para
pesquisar credenciais armazenadas em cache.

Você pode testar a função TripPin.Contents usando o arquivo TripPin.query.pq. A


execução da consulta de teste a seguir mostrará um prompt de credenciais e fornecerá
uma saída de tabela simples.

Power Query M

TripPin.Contents("https://services.odata.org/v4/TripPinService/")
Criando uma tabela de navegação
Você usará a função Table.ToNavigationTable útil para formatar sua tabela estática em
algo que Power Query reconhecerá como uma tabela de navegação. Como essa função
não faz parte da biblioteca padrão do Power Query, você precisará copiar seu código-
fonte para o arquivo .pq.

Com essa função auxiliar em vigor, atualize a TripPinNavTable função para adicionar os
campos da tabela de navegação.

Power Query M

TripPinNavTable = (url as text) as table =>


let
source = #table({"Name", "Data", "ItemKind", "ItemName", "IsLeaf"},
{
{ "Airlines", GetAirlinesTable(url), "Table", "Table", true },
{ "Airports", GetAirportsTable(url), "Table", "Table", true }
}),
navTable = Table.ToNavigationTable(source, {"Name"}, "Name", "Data",
"ItemKind", "ItemName", "IsLeaf")
in
navTable;

A execução da consulta de teste novamente fornecerá um resultado semelhante ao da


última vez, com mais algumas colunas adicionadas.
7 Observação

A janela do Navegador não aparecerá no Visual Studio. A janela Saída da consulta


M sempre exibirá a tabela subjacente.

Se você copiar sua extensão no conector personalizado do Power BI Desktop e invocar a


nova função na caixa de diálogo Obter dados, o seu navegador aparecerá.

Se você clicar com o botão direito do mouse na raiz da árvore de navegação e


selecionar Editar, verá a mesma tabela, da mesma forma que você fez no Visual Studio.
Conclusão
Neste tutorial, você adicionou uma Tabela de Navegação à sua extensão. As tabelas de
navegação são um recurso importante que facilita o uso de conectores. Neste exemplo,
sua tabela de navegação tem apenas um único nível, mas a interface do usuário do
Power Query suporta a exibição de tabelas de navegação com várias dimensões (mesmo
que irregulares).

Próximas etapas
TripPin parte 4 – Caminhos da fonte de dados
TripPin parte 4 – Caminhos da fonte de
dados
Artigo • 23/03/2023

Este tutorial de várias partes aborda a criação de uma extensão de fonte de dados para
o Power Query. O tutorial deve ser seguido sequencialmente. Cada lição se baseia no
conector criado nas lições anteriores, adicionando incrementalmente novos recursos ao
conector.

Nesta lição, você vai:

" Simplificar a lógica de conexão para o conector


" Melhorar a experiência da tabela de navegação

Esta lição simplifica o conector criado na lição anterior ao remover os parâmetros de


função necessários e melhorar a experiência do usuário movendo-se para uma tabela de
navegação gerada dinamicamente.

Para obter uma explicação detalhada de como as credenciais são identificadas, consulte
a seção Caminhos da fonte de dados de Manipulação de autenticação.

Caminhos da fonte de dados


Ao invocar uma função de fonte de dados, o mecanismo M identifica as credenciais a
serem usadas durante uma avaliação fazendo uma pesquisa com base nos valores Tipo
de Fonte de Dados e Caminho da Fonte de Dados.

Na lição anterior, você compartilhou duas funções de fonte de dados, ambas com um
único parâmetro Uri.Type.

Power Query M

[DataSource.Kind="TripPin"]
shared TripPin.Feed = Value.ReplaceType(TripPinImpl, type function (url as
Uri.Type) as any);

[DataSource.Kind="TripPin", Publish="TripPin.Publish"]
shared TripPin.Contents = Value.ReplaceType(TripPinNavTable, type function
(url as Uri.Type) as any);

Na primeira vez que você executar uma consulta que usa uma das funções, receberá um
prompt de credencial com listas suspensas que permite selecionar um caminho e um
tipo de autenticação.

Se você executar a mesma consulta novamente, com os mesmos parâmetros, o


mecanismo M poderá localizar as credenciais armazenadas em cache e nenhum prompt
de credencial será mostrado. Se você modificar o argumento url para sua função para
que o caminho base não corresponda mais, um novo prompt de credencial será exibido
para o novo caminho.

Você pode ver todas as credenciais armazenadas em cache na tabela Credenciais na


janela Saída da Consulta M.

Dependendo do tipo de alteração, modificar os parâmetros da função provavelmente


resultará em um erro de credencial.

Simplificando o conector
Agora, você simplificará seu conector ao remover os parâmetros para sua função de
fonte de dados ( TripPin.Contents ). Você também removerá o qualificador shared para
TripPin.Feed e deixará como uma função somente interna.
Uma das filosofias de design do Power Query é manter a caixa de diálogo da fonte de
dados inicial o mais simples possível. Se possível, você deverá fornecer ao usuário
opções no nível do Navegador, em vez da caixa de diálogo de conexão. Se um valor
fornecido pelo usuário pode ser determinado programaticamente, considere adicioná-lo
como o nível superior da tabela de navegação em vez de um parâmetro de função.

Por exemplo, ao se conectar a um banco de dados relacional, talvez seja necessário


nomes de servidor, banco de dados e tabela. Depois de conhecer o servidor ao qual se
conectar e as credenciais forem fornecidas, você poderá usar a API do banco de dados
para buscar uma lista de bancos de dados e uma lista de tabelas contidas em cada
banco de dados. Nesse caso, para manter a caixa de diálogo de conexão inicial o mais
simples possível, apenas o nome do servidor deve ser um parâmetro necessário —
Database e Table seriam níveis da tabela de navegação.

Como o serviço TripPin tem um ponto de extremidade de URL fixo, você não precisa
solicitar nenhum valor ao usuário. Você removerá o parâmetro url da função e definirá
uma variável BaseUrl no conector.

Power Query M

BaseUrl = "https://services.odata.org/v4/TripPinService/";

[DataSource.Kind="TripPin", Publish="TripPin.Publish"]
shared TripPin.Contents = () => TripPinNavTable(BaseUrl) as table;

Você manterá a função TripPin.Feed , mas não a tornará mais compartilhada, não a
associará a um Tipo de Fonte de Dados e simplificará sua declaração. A partir deste
ponto, você só a usará internamente neste documento de seção.

Power Query M

TripPin.Feed = (url as text) =>


let
source = Web.Contents(url, [ Headers = DefaultRequestHeaders ]),
json = Json.Document(source)
in
json;

Se você atualizar a chamada TripPin.Contents() em seu arquivo TripPin.query.pq e


executá-la no Visual Studio, verá um novo prompt de credencial. Observe que agora há
um único valor de Caminho da Fonte de Dados — TripPin.
Melhorando a tabela de navegação
No primeiro tutorial, você usou as funções internas OData para se conectar ao serviço
TripPin. Você recebeu uma tabela de navegação perfeita, com base no documento do
serviço TripPin, sem nenhum código adicional. A função OData.Feed fez
automaticamente o trabalho difícil para você. Como você está "preparando-a" com
Web.Contents em vez de OData.Feed, será necessário recriar essa tabela de navegação
por conta própria.
Você também pode fazer as seguintes alterações:

1. Definir uma lista de itens a serem mostrados na tabela de navegação


2. Eliminar as funções específicas da entidade ( GetAirlineTables e GetAirportsTable )

Gerando uma tabela de navegação de uma lista


Você listará as entidades que deseja expor na tabela de navegação e criará a URL
apropriada para acessá-las. Como todas as entidades estão no mesmo caminho raiz,
você poderá criar essas URLs dinamicamente.

Para simplificar o exemplo, você só vai expor os três conjuntos de entidades


(Companhias Aéreas, Aeroportos, Pessoas), que seriam expostos como Tabelas em M, e
ignorar o singleton (Me) que seria exposto como um Registro. Você ignorará a adição
das funções até uma lição posterior.

Power Query M

RootEntities = {
"Airlines",
"Airports",
"People"
};

Em seguida, atualize sua função TripPinNavTable para criar uma coluna de cada vez na
tabela. A coluna [Dados] de cada entidade é recuperada chamando TripPin.Feed com a
URL completa para a entidade.

Power Query M

TripPinNavTable = (url as text) as table =>


let
entitiesAsTable = Table.FromList(RootEntities,
Splitter.SplitByNothing()),
rename = Table.RenameColumns(entitiesAsTable, {{"Column1",
"Name"}}),
// Add Data as a calculated column
withData = Table.AddColumn(rename, "Data", each
TripPin.Feed(Uri.Combine(url, [Name])), Uri.Type),
// Add ItemKind and ItemName as fixed text values
withItemKind = Table.AddColumn(withData, "ItemKind", each "Table",
type text),
withItemName = Table.AddColumn(withItemKind, "ItemName", each
"Table", type text),
// Indicate that the node should not be expandable
withIsLeaf = Table.AddColumn(withItemName, "IsLeaf", each true, type
logical),
// Generate the nav table
navTable = Table.ToNavigationTable(withIsLeaf, {"Name"}, "Name",
"Data", "ItemKind", "ItemName", "IsLeaf")
in
navTable;

Ao criar caminhos de URL dinamicamente, verifique onde estão as barras (/)! Observe
que Uri.Combine usa as seguintes regras ao combinar caminhos:

Quando o parâmetro relativeUri começar com um /, ele substituirá todo o


caminho do parâmetro baseUri
Se o parâmetro relativeUri não começar com um / e baseUri terminar com um /,
o caminho será acrescentado
Se o parâmetro relativeUri não começar com um / e baseUri não terminar com
um /, o último segmento do caminho será substituído

A imagem a seguir mostra exemplos disso:

Remover as funções específicas da entidade


Para facilitar a manutenção do conector, você removerá as funções de formatação
específicas da entidade usadas na lição anterior – GetAirlineTables e GetAirportsTable .
Em vez disso, você atualizará TripPin.Feed para processar a resposta JSON de uma
maneira que funcionará para todas as suas entidades. Especificamente, você usa o
campo value do conteúdo JSON do OData retornado e o converte de uma lista de
registros em uma tabela.

Power Query M

TripPin.Feed = (url as text) =>


let
source = Web.Contents(url, [ Headers = DefaultRequestHeaders ]),
json = Json.Document(source),
// The response is a JSON record - the data we want is a list of
records in the "value" field
value = json[value],
asTable = Table.FromList(value, Splitter.SplitByNothing()),
// expand all columns from the record
fields = Record.FieldNames(Table.FirstValue(asTable, [Empty =
null])),
expandAll = Table.ExpandRecordColumn(asTable, "Column1", fields)
in
expandAll;

7 Observação

Uma desvantagem de usar uma abordagem genérica para processar suas entidades
é que você perde a boa formatação e as informações de tipo para as entidades.
Uma seção posterior neste tutorial mostra como impor o esquema nas chamadas à
API REST.

Conclusão
Neste tutorial, você limpou e simplificou o conector corrigindo o valor do Caminho da
Fonte de Dados e passando para um formato mais flexível para sua tabela de
navegação. Depois de concluir essas etapas (ou usar o código de exemplo neste
diretório), a função TripPin.Contents retorna uma tabela de navegação no Power BI
Desktop.
Próximas etapas
TripPin parte 5 – Paginação
TripPin parte 5 – Paginação
Artigo • 23/03/2023

Este tutorial de várias partes aborda a criação de uma nova extensão de fonte de dados
para o Power Query. O tutorial deve ser seguido sequencialmente. Cada lição se baseia
no conector criado nas lições anteriores, adicionando incrementalmente novos recursos
ao conector.

Nesta lição, você vai:

" Adicionar suporte de paginação ao conector

Muitas APIs Rest retornarão dados em "páginas", exigindo que os clientes façam várias
solicitações para costurar os resultados juntos. Embora haja algumas convenções
comuns para paginação (como RFC 5988 ), ela geralmente varia de API para API.
Felizmente, TripPin é um serviço OData e o padrão OData define uma maneira de
fazer paginação usando valores odata.nextLink retornados no corpo da resposta.

Para simplificar iterações anteriores do conector, a TripPin.Feed função não estava


ciente da página. Ele simplesmente analisou qualquer JSON retornado da solicitação e
formatou-o como uma tabela. Aqueles familiarizados com o protocolo OData podem
ter notado que várias suposições incorretas foram feitas no formato da resposta (por
exemplo, supondo que haja um value campo contendo uma matriz de registros).

Nesta lição, você melhorará sua lógica de tratamento de resposta, tornando-a ciente da
página. Tutoriais futuros tornarão a lógica de tratamento de página mais robusta e
capaz de lidar com vários formatos de resposta (incluindo erros do serviço).

7 Observação

Você não precisa implementar sua própria lógica de paginação com conectores
baseados em OData.Feed, pois ele manipula tudo para você automaticamente.

Lista de verificação de paginação


Ao implementar o suporte à paginação, você precisará saber as seguintes coisas sobre
sua API:

Como você solicita a próxima página de dados?


O mecanismo de paginação envolve o cálculo de valores ou você extrai a URL para
a próxima página da resposta?
Como você sabe quando parar a paginação?
Há parâmetros relacionados à paginação que você deve estar ciente? (como
"tamanho da página")

A resposta a essas perguntas afetará a maneira como você implementa sua lógica de
paginação. Embora haja alguma quantidade de reutilização de código em
implementações de paginação (como o uso de Table.GenerateByPage, a maioria dos
conectores acabará exigindo lógica personalizada.

7 Observação

Esta lição contém lógica de paginação para um serviço OData, que segue um
formato específico. Verifique a documentação da API para determinar as alterações
que você precisará fazer no conector para dar suporte ao formato de paginação.

Visão geral da paginação OData


A paginação OData é controlada por anotações nextLink contidas na carga de
resposta. O valor nextLink contém a URL para a próxima página de dados. Você saberá
se há outra página de dados procurando um campo odata.nextLink no objeto mais
externo na resposta. Se não houver campo odata.nextLink , você leu todos os seus
dados.

JSON

{
"odata.context": "...",
"odata.count": 37,
"value": [
{ },
{ },
{ }
],
"odata.nextLink": "...?$skiptoken=342r89"
}

Alguns serviços OData permitem que os clientes forneçam uma preferência máxima de
tamanho de página , mas cabe ao serviço honre-a ou não. O Power Query deve ser
capaz de lidar com respostas de qualquer tamanho, portanto, você não precisa se
preocupar em especificar uma preferência de tamanho de página, você pode dar
suporte a qualquer coisa que o serviço jogue em você.
Mais informações sobre paginação controlada por servidor podem ser encontradas na
especificação OData.

Testando o TripPin
Antes de corrigir a implementação de paginação, confirme o comportamento atual da
extensão do tutorial anterior. A consulta de teste a seguir recuperará a tabela Pessoas e
adicionará uma coluna de índice para mostrar a contagem de linhas atual.

Power Query M

let
source = TripPin.Contents(),
data = source{[Name="People"]}[Data],
withRowCount = Table.AddIndexColumn(data, "Index")
in
withRowCount

Ative o fiddler e execute a consulta no Visual Studio. Você observará que a consulta
retorna uma tabela com 8 linhas (índice 0 a 7).

Se você examinar o corpo da resposta do fiddler, verá que ele contém de fato um
@odata.nextLink campo, indicando que há mais páginas de dados disponíveis.

JSON

{
"@odata.context":
"https://services.odata.org/V4/TripPinService/$metadata#People",
"@odata.nextLink": "https://services.odata.org/v4/TripPinService/People?
%24skiptoken=8",
"value": [
{ },
{ },
{ }
]
}
Implementando a paginação para TripPin
Agora você fará as seguintes alterações em sua extensão:

1. Importar a função comum Table.GenerateByPage


2. Adicionar uma função GetAllPagesByNextLink que usa Table.GenerateByPage para
associar todas as páginas
3. Adicionar uma função GetPage que pode ler uma única página de dados
4. Adicionar uma função GetNextLink para extrair a próxima URL da resposta
5. Atualizar TripPin.Feed para usar as novas funções de leitor de página

7 Observação

Conforme indicado anteriormente neste tutorial, a lógica de paginação variará


entre fontes de dados. A implementação aqui tenta dividir a lógica em funções que
devem ser reutilizáveis para fontes que usam os próximos links retornados na
resposta.

Table.GenerateByPage
Para combinar as (potencialmente) várias páginas retornadas pela origem em uma única
tabela, usaremos Table.GenerateByPage. Essa função usa como argumento uma
getNextPage função que deve fazer exatamente o que seu nome sugere: buscar a
próxima página de dados. Table.GenerateByPage chamará repetidamente a getNextPage
função, cada vez que passar os resultados produzidos na última vez em que foi
chamada, até que ela retorne null para sinalizar de volta que não há mais páginas
disponíveis.

Como essa função não faz parte da biblioteca padrão do Power Query, você precisará
copiar seu código-fonte para o arquivo .pq.

Implementando GetAllPagesByNextLink
O corpo da função GetAllPagesByNextLink implementa o argumento de getNextPage
para Table.GenerateByPage. Ele chamará a função GetPage e recuperará a URL para a
próxima página de dados do campo NextLink do registro meta da chamada anterior.

Power Query M
// Read all pages of data.
// After every page, we check the "NextLink" record on the metadata of the
previous request.
// Table.GenerateByPage will keep asking for more pages until we return
null.
GetAllPagesByNextLink = (url as text) as table =>
Table.GenerateByPage((previous) =>
let
// if previous is null, then this is our first page of data
nextLink = if (previous = null) then url else
Value.Metadata(previous)[NextLink]?,
// if NextLink was set to null by the previous call, we know we
have no more data
page = if (nextLink <> null) then GetPage(nextLink) else null
in
page
);

Implementando GetPage
Sua função GetPage usará Web.Contents para recuperar uma única página de dados do
serviço TripPin e converter a resposta em uma tabela. Ele passa a resposta de
Web.Contents para a GetNextLink para extrair a URL da próxima página e a define no
meta da tabela retornada (página de dados).

Essa implementação é uma versão ligeiramente modificada da TripPin.Feed chamada


dos tutoriais anteriores.

Power Query M

GetPage = (url as text) as table =>


let
response = Web.Contents(url, [ Headers = DefaultRequestHeaders ]),
body = Json.Document(response),
nextLink = GetNextLink(body),
data = Table.FromRecords(body[value])
in
data meta [NextLink = nextLink];

Implementando GetNextLink
Sua função GetNextLink simplesmente verifica o corpo da resposta para um campo
@odata.nextLink e retorna seu valor.

Power Query M
// In this implementation, 'response' will be the parsed body of the
response after the call to Json.Document.
// Look for the '@odata.nextLink' field and simply return null if it doesn't
exist.
GetNextLink = (response) as nullable text => Record.FieldOrDefault(response,
"@odata.nextLink");

Juntando as peças
A etapa final para implementar sua lógica de paginação é atualizar TripPin.Feed para
usar as novas funções. Por enquanto, você está simplesmente chamando
GetAllPagesByNextLink , mas em tutoriais subsequentes, você adicionará novos recursos

(como impor um esquema e lógica de parâmetro de consulta).

Power Query M

TripPin.Feed = (url as text) as table => GetAllPagesByNextLink(url);

Se você executar novamente a mesma consulta de teste anteriormente no tutorial,


agora deverá ver o leitor de página em ação. Você também deve ver que tem 20 linhas
na resposta em vez de 8.

Se você examinar as solicitações no fiddler, agora verá solicitações separadas para cada
página de dados.
7 Observação

Você observará solicitações duplicadas para a primeira página de dados do serviço,


o que não é ideal. A solicitação extra é resultado do comportamento de verificação
de esquema do mecanismo M. Ignore esse problema por enquanto e resolva-o no
próximo tutorial, em que você aplicará um esquema explícito.

Conclusão
Esta lição mostrou como implementar o suporte à paginação para uma API Rest.
Embora a lógica provavelmente varie entre APIs, o padrão estabelecido aqui deve ser
reutilizável com pequenas modificações.

Na próxima lição, você examinará como aplicar um esquema explícito aos seus dados,
indo além dos tipos simples text e number de dados dos quais você obtém
Json.Document .

Próximas etapas
TripPin Parte 6 – Esquema
TripPin parte 6 – Esquema
Artigo • 23/03/2023

Este tutorial de várias partes aborda a criação de uma extensão de fonte de dados para
o Power Query. O tutorial deve ser seguido sequencialmente. Cada lição se baseia no
conector criado nas lições anteriores, adicionando incrementalmente novos recursos ao
conector.

Nesta lição, você vai:

" Definir um esquema fixo para uma API REST


" Definir dinamicamente tipos de dados para colunas
" Impor uma estrutura de tabela para evitar erros de transformação devido a colunas
ausentes
" Ocultar colunas do conjunto de resultados

Uma das grandes vantagens de um serviço OData em relação a uma API REST padrão é
sua definição de $metadata . O documento $metadata descreve os dados encontrados
nesse serviço, incluindo o esquema de todas as suas Entidades (Tabelas) e Campos
(Colunas). A função OData.Feed usa essa definição de esquema para definir
automaticamente informações de tipo de dados, portanto, em vez de obter todos os
campos de texto e número (como você faria em Json.Document ), os usuários finais
obterão datas, números inteiros, horas e assim por diante, fornecendo uma melhor
experiência geral do usuário.

Muitas APIs REST não têm uma forma de determinar programaticamente seu esquema.
Nesses casos, você precisará incluir definições de esquema no conector. Nesta lição,
você definirá um esquema simples e embutido em código para cada uma de suas
tabelas e imporá o esquema nos dados lidos do serviço.

7 Observação

A abordagem descrita aqui deve funcionar para muitos serviços REST. As próximas
lições se basearão nessa abordagem, impondo recursivamente esquemas em
colunas estruturadas (registro, lista, tabela) e fornecerão implementações de
exemplo que podem gerar programaticamente uma tabela de documentos de
esquema JSON ou CSDL.

No geral, a imposição de um esquema nos dados retornados pelo conector tem vários
benefícios, como:
Definir os tipos de dados corretos
Remover colunas que não precisam ser mostradas aos usuários finais (como IDs
internas ou informações de estado)
Garantir que cada página de dados tenha a mesma forma adicionando todas as
colunas que possam estar ausentes de uma resposta (uma forma comum para as
APIs REST indicarem que um campo deve ser nulo)

Exibindo o esquema existente com


Table.Schema
O conector criado na lição anterior exibe três tabelas do serviço TripPin: Airlines ,
Airports e People . Execute a consulta a seguir para exibir a tabela Airlines :

Power Query M

let
source = TripPin.Contents(),
data = source{[Name="Airlines"]}[Data]
in
data

Nos resultados, você verá quatro colunas retornadas:

@odata.id
@odata.editLink
AirlineCode
Nome
As colunas "@odata.*" fazem parte do protocolo OData e não é algo que você deseja
ou precisa mostrar aos usuários finais do conector. AirlineCode e Name são as duas
colunas que você vai querer manter. Se você examinar o esquema da tabela (usando a
função Table.Schema útil), poderá ver que todas as colunas da tabela têm um tipo de
dados Any.Type .

Power Query M

let
source = TripPin.Contents(),
data = source{[Name="Airlines"]}[Data]
in
Table.Schema(data)

Table.Schema retorna muitos metadados sobre as colunas em uma tabela, incluindo


nomes, posições, informações de tipo e muitas propriedades avançadas, como Precisão,
Escala e MaxLength. As próximas lições fornecerão padrões de design para definir essas
propriedades avançadas, mas por enquanto você só precisa se preocupar com o tipo
atribuído ( TypeName ), o tipo primitivo ( Kind ) e se o valor da coluna pode ser nulo
( IsNullable ).

Definindo uma tabela de esquema simples


Sua tabela de esquema será composta por duas colunas:

Coluna Detalhes

Nome O nome da coluna. Isso deve corresponder ao nome nos resultados retornados pelo
serviço.

Tipo O tipo de dados da linguagem M que você vai definir. Pode ser um tipo primitivo ( text ,
number , datetime e assim por diante) ou um tipo atribuído ( Int64.Type , Currency.Type
e assim por diante).

A tabela de esquema embutida em código para a tabela Airlines definirá as colunas


AirlineCode e Name como text e terá esta aparência:
Power Query M

Airlines = #table({"Name", "Type"}, {


{"AirlineCode", type text},
{"Name", type text}
});

A tabela Airports tem quatro campos que você deseja manter (incluindo um do tipo
record ):

Power Query M

Airports = #table({"Name", "Type"}, {


{"IcaoCode", type text},
{"Name", type text},
{"IataCode", type text},
{"Location", type record}
});

Por fim, a tabela People tem sete campos, incluindo listas ( Emails , AddressInfo ), uma
coluna anulável ( Gender ) e uma coluna com um tipo atribuído ( Concurrency ).

Power Query M

People = #table({"Name", "Type"}, {


{"UserName", type text},
{"FirstName", type text},
{"LastName", type text},
{"Emails", type list},
{"AddressInfo", type list},
{"Gender", type nullable text},
{"Concurrency", Int64.Type}
})

A função auxiliar SchemaTransformTable


A função auxiliar SchemaTransformTable descrita abaixo será usada para impor esquemas
em seus dados. Ele usa os seguintes parâmetros:

Parâmetro Type Descrição

tabela tabela A tabela de dados em que você deseja impor seu esquema.

esquema tabela A tabela de esquema da qual ler as informações da coluna, com o


seguinte tipo: type table [Name = text, Type = type] .
Parâmetro Type Descrição

enforceSchema número (opcional) Uma enumeração que controla o comportamento da


função.
O valor padrão ( EnforceSchema.Strict = 1 ) garante que a tabela de
saída corresponda à tabela de esquema fornecida adicionando
colunas ausentes e removendo colunas extras.
A opção EnforceSchema.IgnoreExtraColumns = 2 pode ser usada para
preservar colunas extras no resultado.
Quando EnforceSchema.IgnoreMissingColumns = 3 for usado, as
colunas ausentes e as colunas extras serão ignoradas.

A lógica para essa função tem esta aparência:

1. Determine se há colunas ausentes na tabela de origem.


2. Determinar se há colunas extras.
3. Ignorar colunas estruturadas (do tipo list , record e table ) e colunas definidas
como tipo type any .
4. Usar Table.TransformColumnTypes para definir cada tipo de coluna.
5. Reordenar colunas com base na ordem em que aparecem na tabela de esquema.
6. Definir o tipo na própria tabela usando Value.ReplaceType.

7 Observação

A última etapa para definir o tipo de tabela removerá a necessidade da interface do


usuário do Power Query inferir informações de tipo ao exibir os resultados no
editor de consultas. Isso remove o problema de solicitação dupla que você viu no
final do tutorial anterior.

O seguinte código auxiliar pode ser copiado e colado em sua extensão:

Power Query M

EnforceSchema.Strict = 1; // Add any missing columns, remove


extra columns, set table type
EnforceSchema.IgnoreExtraColumns = 2; // Add missing columns, do not
remove extra columns
EnforceSchema.IgnoreMissingColumns = 3; // Do not add or remove columns

SchemaTransformTable = (table as table, schema as table, optional


enforceSchema as number) as table =>
let
// Default to EnforceSchema.Strict
_enforceSchema = if (enforceSchema <> null) then enforceSchema else
EnforceSchema.Strict,
// Applies type transforms to a given table
EnforceTypes = (table as table, schema as table) as table =>
let
map = (t) => if Type.Is(t, type list) or Type.Is(t, type
record) or t = type any then null else t,
mapped = Table.TransformColumns(schema, {"Type", map}),
omitted = Table.SelectRows(mapped, each [Type] <> null),
existingColumns = Table.ColumnNames(table),
removeMissing = Table.SelectRows(omitted, each
List.Contains(existingColumns, [Name])),
primativeTransforms = Table.ToRows(removeMissing),
changedPrimatives = Table.TransformColumnTypes(table,
primativeTransforms)
in
changedPrimatives,

// Returns the table type for a given schema


SchemaToTableType = (schema as table) as type =>
let
toList = List.Transform(schema[Type], (t) => [Type=t,
Optional=false]),
toRecord = Record.FromList(toList, schema[Name]),
toType = Type.ForRecord(toRecord, false)
in
type table (toType),

// Determine if we have extra/missing columns.


// The enforceSchema parameter determines what we do about them.
schemaNames = schema[Name],
foundNames = Table.ColumnNames(table),
addNames = List.RemoveItems(schemaNames, foundNames),
extraNames = List.RemoveItems(foundNames, schemaNames),
tmp = Text.NewGuid(),
added = Table.AddColumn(table, tmp, each []),
expanded = Table.ExpandRecordColumn(added, tmp, addNames),
result = if List.IsEmpty(addNames) then table else expanded,
fullList =
if (_enforceSchema = EnforceSchema.Strict) then
schemaNames
else if (_enforceSchema = EnforceSchema.IgnoreMissingColumns)
then
foundNames
else
schemaNames & extraNames,

// Select the final list of columns.


// These will be ordered according to the schema table.
reordered = Table.SelectColumns(result, fullList,
MissingField.Ignore),
enforcedTypes = EnforceTypes(reordered, schema),
withType = if (_enforceSchema = EnforceSchema.Strict) then
Value.ReplaceType(enforcedTypes, SchemaToTableType(schema)) else
enforcedTypes
in
withType;
Atualizando o conector trippin
Agora você fará as alterações a seguir no conector para usar o novo código de
imposição de esquema.

1. Definir uma tabela de esquema mestre ( SchemaTable ) que contém todas as


definições de esquema.
2. Atualizar o TripPin.Feed , GetPage e GetAllPagesByNextLink para aceitar um
parâmetro schema .
3. Impor o esquema em GetPage .
4. Atualizar o código da tabela de navegação para encapsular cada tabela com uma
chamada para uma nova função ( GetEntity ) – isso lhe dará mais flexibilidade para
manipular as definições de tabela no futuro.

Tabela de esquema mestre


Agora você consolidará suas definições de esquema em uma única tabela e adicionará
uma função auxiliar ( GetSchemaForEntity ) que permitirá pesquisar a definição com base
em um nome de entidade (por exemplo, GetSchemaForEntity("Airlines") )

Power Query M

SchemaTable = #table({"Entity", "SchemaTable"}, {


{"Airlines", #table({"Name", "Type"}, {
{"AirlineCode", type text},
{"Name", type text}
})},

{"Airports", #table({"Name", "Type"}, {


{"IcaoCode", type text},
{"Name", type text},
{"IataCode", type text},
{"Location", type record}
})},

{"People", #table({"Name", "Type"}, {


{"UserName", type text},
{"FirstName", type text},
{"LastName", type text},
{"Emails", type list},
{"AddressInfo", type list},
{"Gender", type nullable text},
{"Concurrency", Int64.Type}
})}
});
GetSchemaForEntity = (entity as text) as table => try
SchemaTable{[Entity=entity]}[SchemaTable] otherwise error "Couldn't find
entity: '" & entity &"'";

Adicionando suporte de esquema a funções de dados


Agora você adicionará um parâmetro opcional schema às funções TripPin.Feed ,
GetPage e GetAllPagesByNextLink . Isso permitirá que você passe o esquema (quando

desejar) para as funções de paginação, em que ele será aplicado aos resultados que
você obterá do serviço.

Power Query M

TripPin.Feed = (url as text, optional schema as table) as table => ...


GetPage = (url as text, optional schema as table) as table => ...
GetAllPagesByNextLink = (url as text, optional schema as table) as table =>
...

Você também atualizará todas as chamadas para essas funções para garantir que você
passe o esquema corretamente.

Impor o esquema
A imposição real do esquema será feita em sua função GetPage .

Power Query M

GetPage = (url as text, optional schema as table) as table =>


let
response = Web.Contents(url, [ Headers = DefaultRequestHeaders ]),
body = Json.Document(response),
nextLink = GetNextLink(body),
data = Table.FromRecords(body[value]),
// enforce the schema
withSchema = if (schema <> null) then SchemaTransformTable(data,
schema) else data
in
withSchema meta [NextLink = nextLink];

[Observação] Essa implementação de GetPage usa Table.FromRecords para


converter a lista de registros da resposta JSON em uma tabela. Uma grande
desvantagem em usar Table.FromRecords é que ela pressupõe que todos os
registros da lista têm o mesmo conjunto de campos. Isso funciona no serviço
TripPin, uma vez que é garantido que os registros OData contém os mesmos
campos, mas isso pode não ser o caso de todas as APIs REST. Uma implementação
mais robusta usaria uma combinação de Table.FromList e
Table.ExpandRecordColumn. Os tutoriais posteriores alterarão a implementação
para obter a lista de colunas da tabela de esquema, garantindo que nenhuma
coluna seja perdida ou falte durante a conversão de JSON para M.

Adicionando a função GetEntity


A função GetEntity encapsulará sua chamada para TripPin.Feed. Ela pesquisará uma
definição de esquema com base no nome da entidade e criará a URL de solicitação
completa.

Power Query M

GetEntity = (url as text, entity as text) as table =>


let
fullUrl = Uri.Combine(url, entity),
schemaTable = GetSchemaForEntity(entity),
result = TripPin.Feed(fullUrl, schemaTable)
in
result;

Em seguida, você atualizará a função TripPinNavTable para chamar GetEntity , em vez


de fazer todas as chamadas em linha. A principal vantagem disso é que ela permitirá
que você continue modificando seu código de criação de entidade, sem precisar mexer
na lógica da tabela de navegação.

Power Query M

TripPinNavTable = (url as text) as table =>


let
entitiesAsTable = Table.FromList(RootEntities,
Splitter.SplitByNothing()),
rename = Table.RenameColumns(entitiesAsTable, {{"Column1",
"Name"}}),
// Add Data as a calculated column
withData = Table.AddColumn(rename, "Data", each GetEntity(url,
[Name]), type table),
// Add ItemKind and ItemName as fixed text values
withItemKind = Table.AddColumn(withData, "ItemKind", each "Table",
type text),
withItemName = Table.AddColumn(withItemKind, "ItemName", each
"Table", type text),
// Indicate that the node should not be expandable
withIsLeaf = Table.AddColumn(withItemName, "IsLeaf", each true, type
logical),
// Generate the nav table
navTable = Table.ToNavigationTable(withIsLeaf, {"Name"}, "Name",
"Data", "ItemKind", "ItemName", "IsLeaf")
in
navTable;

Juntando as peças
Depois que todas as alterações de código forem feitas, compile e execute novamente a
consulta de teste que chama Table.Schema para a tabela Linhas Aéreas.

Power Query M

let
source = TripPin.Contents(),
data = source{[Name="Airlines"]}[Data]
in
Table.Schema(data)

Agora você verá que a tabela Linhas Aéreas tem apenas as duas colunas que você
definiu no esquema:

Se você executar o mesmo código na tabela Pessoas...

Power Query M

let
source = TripPin.Contents(),
data = source{[Name="People"]}[Data]
in
Table.Schema(data)

Você verá que o tipo atribuído usado ( Int64.Type ) também foi definido corretamente.
Algo importante a observar é que essa implementação de SchemaTransformTable não
modifica os tipos das colunas list e record , mas as colunas Emails e AddressInfo
permanecem tipadas como list . Isso ocorre porque Json.Document mapeará
corretamente matrizes JSON para listas da M, e objetos JSON para registros da M. Se
você for expandir a lista ou a coluna de registro no Power Query, verá que todas as
colunas expandidas serão do tipo Qualquer. Os próximos tutoriais vão aprimorar a
implementação para definir recursivamente informações de tipo para tipos complexos
aninhados.

Conclusão
Este tutorial forneceu uma implementação de exemplo para impor um esquema em
dados JSON retornados de um serviço REST. Embora este exemplo use um formato de
tabela de esquema simples embutido em código, a abordagem pode ser expandida
criando dinamicamente uma definição de tabela de esquema de outra fonte, como um
arquivo de esquema JSON ou um serviço de metadados/ponto de extremidade exposto
pela fonte de dados.

Além de modificar tipos de coluna (e valores), seu código também está definindo as
informações de tipo corretas na própria tabela. Definir essas informações de tipo
beneficia o desempenho ao executar dentro do Power Query, pois a experiência do
usuário sempre tenta inferir informações de tipo para exibir as filas de interface do
usuário corretas para o usuário final, e as chamadas de inferência podem acabar
disparando chamadas adicionais para as APIs de dados subjacentes.

Se você exibir a tabela Pessoas usando o Conector TripPin da lição anterior, verá que
todas as colunas têm um ícone "tipo qualquer" (até mesmo as colunas que contêm
listas):
Executando a mesma consulta com o conector TripPin desta lição, agora você verá que
as informações de tipo são exibidas corretamente.

Próximas etapas
TripPin Parte 7 – Esquema avançado com Tipos da M
TripPin parte 7 - Esquema avançado
com tipos M
Artigo • 05/10/2023

Este tutorial de várias partes aborda a criação de uma nova extensão de fonte de dados
para o Power Query. O tutorial deve ser seguido sequencialmente; cada lição se baseia
no conector criado nas lições anteriores, adicionando incrementalmente novos recursos
a ele.

Nesta lição, você vai:

" Impor um esquema de tabela usando tipos M


" Definir tipos para listas e registros aninhados
" Refatorar códigos para reutilização e teste de unidade

Na lição anterior, você definiu seus esquemas de tabela usando um simples sistema de
"Tabela de Esquema". Essa abordagem de tabela de esquema funciona para muitas APIs
REST/conectores de dados, mas os serviços que retornam conjuntos de dados
completos ou profundamente aninhados podem se beneficiar da abordagem neste
tutorial, que utiliza o sistema de tipos M.

Esta lição abordará as seguintes etapas:

1. Adicionar testes de unidade.


2. Definir tipos M personalizados.
3. Impor um esquema usando tipos.
4. Refatorar códigos comuns em arquivos separados.

Adicionar testes de unidade


Antes de começar a usar a lógica de esquema avançada, você adicionará um conjunto
de testes de unidade ao conector para reduzir a chance de alguma interrupção
inadvertida. O teste de unidade funciona da seguinte maneira:

1. Copie o código comum do exemplo UnitTest para o seu TripPin.query.pq arquivo.


2. Adicione uma declaração de seção no topo do seu TripPin.query.pq arquivo.
3. Crie um registro compartilhado (chamado TripPin.UnitTest ).
4. Defina um Fact teste para cada um.
5. Chame Facts.Summarize() para executar todos os testes.
6. Referencie a chamada anterior como valor compartilhado, garantindo que seja
avaliado quando o projeto for executado no Visual Studio.

Power Query M

section TripPinUnitTests;

shared TripPin.UnitTest =
[
// Put any common variables here if you only want them to be evaluated
once
RootTable = TripPin.Contents(),
Airlines = RootTable{[Name="Airlines"]}[Data],
Airports = RootTable{[Name="Airports"]}[Data],
People = RootTable{[Name="People"]}[Data],

// Fact(<Name of the Test>, <Expected Value>, <Actual Value>)


// <Expected Value> and <Actual Value> can be a literal or let statement
facts =
{
Fact("Check that we have three entries in our nav table", 3,
Table.RowCount(RootTable)),
Fact("We have Airline data?", true, not Table.IsEmpty(Airlines)),
Fact("We have People data?", true, not Table.IsEmpty(People)),
Fact("We have Airport data?", true, not Table.IsEmpty(Airports)),
Fact("Airlines only has 2 columns", 2,
List.Count(Table.ColumnNames(Airlines))),
Fact("Airline table has the right fields",
{"AirlineCode","Name"},

Record.FieldNames(Type.RecordFields(Type.TableRow(Value.Type(Airlines))))
)
},

report = Facts.Summarize(facts)
][report];

Ao selecionar "executar" no projeto, avaliará todos os Fatos e fornecerá um relatório de


saída que se parece com este:
Usando alguns princípios do desenvolvimento controlado por teste , agora você
adicionará um teste que falhará, mas que será reimplementado e corrigido em breve
(até o final deste tutorial). Especificamente, você adicionará um teste que verificará um
dos registros aninhados (emails) que você obtém na entidade Pessoas.

Power Query M

Fact("Emails is properly typed", type text,


Type.ListItem(Value.Type(People{0}[Emails])))

Se você executar o código novamente, verá que há um teste com falha.

Agora você só precisa implementar a funcionalidade para que isso funcione.

Definir tipos M personalizados


A abordagem de imposição de esquema na lição anterior usou "tabelas de esquema"
definidas como pares Nome/Tipo. Ela funciona bem ao trabalhar com dados
achatados/relacionais, mas não dá suporte a tipos de configuração em
registros/tabelas/listas aninhados nem permite reutilizar definições de tipo entre
tabelas/entidades.

No caso do TripPin, os dados nas entidades Pessoas e Aeroportos contêm colunas


estruturadas e até compartilham um tipo ( Location ) para representar informações de
endereço. Em vez de definir pares nome/tipo em uma tabela de esquema, você definirá
cada uma dessas entidades usando declarações de tipo M personalizadas.

Veja a seguinte atualização rápida sobre os tipos na linguagem M na Especificação de


linguagem:

Um valor de tipo é um valor que classifica outros valores. Um valor classificado por
um tipo obedece a esse tipo. O sistema de tipos de M é composto pelas seguintes
categorias de tipos:

Tipos primitivos, que classificam valores primitivos ( binary , date , datetime ,


datetimezone , duration , list , logical , null , number , record , text , time ,

type ) e também incluem vários tipos abstratos ( function , table , any , none )

Tipos de registro, que classificam valores de registro com base em nomes de


campo e em tipos de valor
Tipos de lista, que classificam listas usando apenas um tipo de base de item
Tipos de função, que classificam valores de função com base nos tipos de seus
parâmetros e valores de retorno
Tipos de tabela, que classificam valores de tabela com base em nomes de
coluna, tipos de coluna e chaves
Tipos anuláveis, que classificam o valor nulo além de todos os valores
classificados por um tipo base
Tipos de tipo, que classificam valores que são tipos

Usando a saída JSON bruta que você recebe (e/ou pesquisando as definições nos
$metadata do serviço ), é possível definir os seguintes tipos de registro para
representar tipos OData complexos:

Power Query M

LocationType = type [
Address = text,
City = CityType,
Loc = LocType
];

CityType = type [
CountryRegion = text,
Name = text,
Region = text
];

LocType = type [
#"type" = text,
coordinates = {number},
crs = CrsType
];

CrsType = type [
#"type" = text,
properties = record
];

Observe como LocationType faz referência a CityType e a LocType para representar


suas colunas estruturadas.

Para as entidades de nível superior que você deseja representar como tabelas, é possível
definir tipos de tabela:

Power Query M

AirlinesType = type table [


AirlineCode = text,
Name = text
];

AirportsType = type table [


Name = text,
IataCode = text,
Location = LocationType
];

PeopleType = type table [


UserName = text,
FirstName = text,
LastName = text,
Emails = {text},
AddressInfo = {nullable LocationType},
Gender = nullable text,
Concurrency = Int64.Type
];

Em seguida, é possível atualizar sua variável SchemaTable (que você usará como uma
“tabela de pesquisa” para mapeamentos de entidade para tipo) a fim de usar essas
novas definições de tipo:

Power Query M
SchemaTable = #table({"Entity", "Type"}, {
{"Airlines", AirlinesType },
{"Airports", AirportsType },
{"People", PeopleType}
});

Impor um esquema usando tipos


É possível contar com uma função comum ( Table.ChangeType ) para impor um esquema
aos dados, assim como você fez usando SchemaTransformTable no exercício anterior. Ao
contrário de SchemaTransformTable , Table.ChangeType usa um tipo de tabela M real
como um argumento e aplica seu esquema recursivamente a todos os tipos aninhados.
A assinatura tem esta aparência:

Power Query M

Table.ChangeType = (table, tableType as type) as nullable table => ...

A listagem de código completa para a função Table.ChangeType pode ser encontrada no


arquivo Table.ChangeType.pqm .

7 Observação

Para obter flexibilidade, a função pode ser usada em tabelas e em listas de registros
(que é como as tabelas são representadas em um documento JSON).

Em seguida, você precisará atualizar o código do conector para alterar o parâmetro


schema de um table para um type e adicionar uma chamada a Table.ChangeType em
GetEntity .

Power Query M

GetEntity = (url as text, entity as text) as table =>


let
fullUrl = Uri.Combine(url, entity),
schema = GetSchemaForEntity(entity),
result = TripPin.Feed(fullUrl, schema),
appliedSchema = Table.ChangeType(result, schema)
in
appliedSchema;
GetPage é atualizado para usar a lista de campos do esquema (para saber os nomes do

que expandir quando você obtém os resultados), mas deixa a imposição real do
esquema para GetEntity .

Power Query M

GetPage = (url as text, optional schema as type) as table =>


let
response = Web.Contents(url, [ Headers = DefaultRequestHeaders ]),
body = Json.Document(response),
nextLink = GetNextLink(body),

// If we have no schema, use Table.FromRecords() instead


// (and hope that our results all have the same fields).
// If we have a schema, expand the record using its field names
data =
if (schema <> null) then
Table.FromRecords(body[value])
else
let
// convert the list of records into a table (single
column of records)
asTable = Table.FromList(body[value],
Splitter.SplitByNothing(), {"Column1"}),
fields =
Record.FieldNames(Type.RecordFields(Type.TableRow(schema))),
expanded = Table.ExpandRecordColumn(asTable, fields)
in
expanded
in
data meta [NextLink = nextLink];

Confirmar que tipos aninhados estão sendo definidos


A definição de PeopleType agora define o campo Emails como uma lista de texto
( {text} ). Se você estiver aplicando os tipos corretamente, a chamada para Type.ListItem
no teste de unidade agora deverá retornar type text em vez de type any .

Executar os testes de unidade novamente mostra que eles agora estão todos sendo
aprovados.
Refatorar códigos comuns em arquivos
separados

7 Observação

O mecanismo M terá suporte aprimorado para referenciar módulos


externos/códigos comuns no futuro, mas essa abordagem deve servir até lá.

Neste ponto, sua extensão tem quase tanto código "comum" quanto o código do
conector TripPin. No futuro, essas funções comuns farão parte da biblioteca de funções
padrão interna ou será possível referenciá-las de outra extensão. Por enquanto, você
refatora seu código da seguinte maneira:

1. Mova as funções reutilizáveis para arquivos separados (.pqm).


2. Defina a propriedade Ação de build no arquivo para Compilar a fim de garantir
que ela seja incluída no arquivo de extensão durante o build.
3. Defina uma função para carregar o código usando Expression.Evaluate.
4. Carregue cada uma das funções comuns que você deseja usar.

O código para isso está incluído no snippet abaixo:

Power Query M

Extension.LoadFunction = (fileName as text) =>


let
binary = Extension.Contents(fileName),
asText = Text.FromBinary(binary)
in
try
Expression.Evaluate(asText, #shared)
catch (e) =>
error [
Reason = "Extension.LoadFunction Failure",
Message.Format = "Loading '#{0}' failed - '#{1}': '#{2}'",
Message.Parameters = {fileName, e[Reason], e[Message]},
Detail = [File = fileName, Error = e]
];

Table.ChangeType = Extension.LoadFunction("Table.ChangeType.pqm");
Table.GenerateByPage = Extension.LoadFunction("Table.GenerateByPage.pqm");
Table.ToNavigationTable =
Extension.LoadFunction("Table.ToNavigationTable.pqm");

Conclusão
Este tutorial fez uma série de melhorias na maneira como você impõe um esquema nos
dados obtidos de uma API REST. No momento, o conector está codificando as
informações do esquema, que têm um benefício de desempenho no runtime, mas não
consegue se adaptar às alterações nos metadados do serviço ao longo do tempo.
Tutoriais futuros passarão para uma abordagem puramente dinâmica que inferirá o
esquema do documento $metadata do serviço.

Além das alterações de esquema, este tutorial adicionou testes de unidade para seu
código e refatorou as funções auxiliares comuns em arquivos separados a fim de
melhorar a legibilidade geral.

Próximas etapas
TripPin Part 8 – Adicionar diagnóstico
TripPin parte 8 – Adicionando
diagnóstico
Artigo • 23/03/2023

Este tutorial de várias partes aborda a criação de uma extensão de fonte de dados para
o Power Query. O tutorial deve ser seguido sequencialmente. Cada lição se baseia no
conector criado nas lições anteriores, adicionando incrementalmente novos recursos ao
conector.

Nesta lição, você vai:

" Saber mais sobre a função Diagnostics.Trace


" Usar as funções auxiliares de Diagnóstico para adicionar informações de
rastreamento para ajudar a depurar seu conector

Como habilitar o diagnóstico


Os usuários do Power Query podem habilitar o registro em log de rastreamento
marcando a caixa de seleção em Opções | Diagnóstico.
Depois de habilitado, todas as consultas subsequentes farão com que o mecanismo da
M emita informações de rastreamento para arquivos de log localizados em um diretório
de usuário fixo.

Ao executar consultas da M no SDK do Power Query, o rastreamento é habilitado no


nível do projeto. Na página de propriedades do projeto, há três configurações
relacionadas ao rastreamento:

Limpar log – quando essa configuração estiver definida como true , o log será
redefinido/limpo quando você executar suas consultas. Recomendamos que você
mantenha essa configuração definida como true .
Mostrar Rastreamentos do Mecanismo – essa configuração controla a saída de
rastreamentos internos do mecanismo da M. Esses rastreamentos geralmente são
úteis apenas para membros da equipe do Power Query, portanto, você
normalmente deixa definida como false .
Mostrar Rastreamentos do Usuário – essa configuração controla as informações
de rastreamento produzidas pelo conector. Você vai querer definir essa
configuração como true .

Depois de habilitado, você começará a ver entradas de log na janela Saída de Consulta
da M, na guia Log.

Diagnostics.Trace
A função Diagnostics.Trace é usada para registrar mensagens no log de rastreamento do
mecanismo da M.

Power Query M

Diagnostics.Trace = (traceLevel as number, message as text, value as any,


optional delayed as nullable logical as any) => ...

) Importante

A M é uma linguagem funcional com avaliação lenta. Ao usar Diagnostics.Trace ,


tenha em mente que a função só será chamada se a expressão da qual ela faz parte
for realmente avaliada. Exemplos disso podem ser encontrados mais adiante neste
tutorial.

O parâmetro traceLevel pode ser um dos seguintes valores (em ordem decrescente):
TraceLevel.Critical

TraceLevel.Error
TraceLevel.Warning

TraceLevel.Information
TraceLevel.Verbose

Quando o rastreamento está habilitado, o usuário pode selecionar o nível máximo de


mensagens que deseja ver. Todas as mensagens de rastreamento desse nível para
abaixo serão enviadas para o log. Por exemplo, se o usuário selecionar o nível "Aviso", as
mensagens de rastreamento TraceLevel.Warning , TraceLevel.Error e
TraceLevel.Critical aparecerão nos logs.

O parâmetro message é o texto real que será gerado para o arquivo de rastreamento.
Observe que o texto não conterá o parâmetro value , a menos que você o inclua
explicitamente no texto.

O parâmetro value é o que a função retornará. Se o parâmetro delayed for definido


como true , value será uma função de parâmetro zero que retornará o valor real que
você está avaliando. Quando delayed for definido como false , value será o valor real.
Um exemplo de como isso funciona pode ser encontrado abaixo.

Usando Diagnostics.Trace no conector do TripPin


Para obter um exemplo prático de como usar Diagnostics.Trace e o impacto do
parâmetro delayed , atualize a função GetSchemaForEntity do conector do TripPin para
encapsular a exceção error :

Power Query M

GetSchemaForEntity = (entity as text) as type =>


try
SchemaTable{[Entity=entity]}[Type]
otherwise
let
message = Text.Format("Couldn't find entity: '#{0}'", {entity})
in
Diagnostics.Trace(TraceLevel.Error, message, () => error
message, true);

Você pode forçar um erro durante a avaliação (para fins de teste!) passando um nome
de entidade inválido para a função GetEntity . Aqui você altera a linha withData na
função TripPinNavTable , substituindo [Name] por "DoesNotExist" .
Power Query M

TripPinNavTable = (url as text) as table =>


let
// Use our schema table as the source of top level items in the
navigation tree
entities = Table.SelectColumns(SchemaTable, {"Entity"}),
rename = Table.RenameColumns(entities, {{"Entity", "Name"}}),
// Add Data as a calculated column
withData = Table.AddColumn(rename, "Data", each GetEntity(url,
"DoesNotExist"), type table),
// Add ItemKind and ItemName as fixed text values
withItemKind = Table.AddColumn(withData, "ItemKind", each "Table",
type text),
withItemName = Table.AddColumn(withItemKind, "ItemName", each
"Table", type text),
// Indicate that the node should not be expandable
withIsLeaf = Table.AddColumn(withItemName, "IsLeaf", each true, type
logical),
// Generate the nav table
navTable = Table.ToNavigationTable(withIsLeaf, {"Name"}, "Name",
"Data", "ItemKind", "ItemName", "IsLeaf")
in
navTable;

Habilite o rastreamento para seu projeto e execute as consultas de teste. Na guia


Errors , você deverá ver o texto do erro gerado:

Além disso, na guia Log , você verá a mesma mensagem. Observe que, se você usar
valores diferentes para os parâmetros message e value , elas serão diferentes.
Observe também que o campo Action da mensagem de log contém o nome (Tipo de
Fonte de Dados) da sua extensão (nesse caso, Engine/Extension/TripPin ). Isso facilita a
localização das mensagens relacionadas à sua extensão quando há várias consultas
envolvidas e/ou o rastreamento do sistema (mecanismo de mashup) está habilitado.

Avaliação atrasada
Como exemplo do funcionamento do parâmetro delayed , você fará algumas
modificações e executará as consultas novamente.

Primeiro, defina o valor delayed como false , mas deixe o parâmetro value como está:

Power Query M

Diagnostics.Trace(TraceLevel.Error, message, () => error message, false);

Ao executar a consulta, você receberá um erro que "Não é possível converter um valor
do tipo Função em Tipo" e não o erro real gerado. Isso ocorre porque a chamada agora
está retornando um valor function , em vez do valor em si.

Em seguida, remova a função do parâmetro value :

Power Query M

Diagnostics.Trace(TraceLevel.Error, message, error message, false);


Ao executar a consulta, você receberá o erro correto, mas se verificar a guia Log, não
haverá mensagens. Isso ocorre porque o error acaba sendo gerado/avaliado durante a
chamada para Diagnostics.Trace , portanto, a mensagem nunca é realmente produzida.

Agora que você entende o impacto do parâmetro delayed , não se esqueça de


redefinir o conector de volta para um estado funcional antes de continuar.

Funções auxiliares de diagnóstico no


Diagnostics.pqm
O arquivo Diagnostics.pqm incluído neste projeto contém várias funções auxiliares
que facilitam o rastreamento. Conforme mostrado no tutorial anterior, você pode incluir
esse arquivo em seu projeto (lembrando de definir a Ação de Build como Compilar) e,
em seguida, carregá-lo no arquivo do conector. A parte inferior do arquivo do conector
agora deve estar semelhante ao snippet de código abaixo. Explore à vontade as várias
funções fornecidas por este módulo, mas neste exemplo, você só usará as funções
Diagnostics.LogValue e Diagnostics.LogFailure .

Power Query M

// Diagnostics module contains multiple functions. We can take the ones we


need.
Diagnostics = Extension.LoadFunction("Diagnostics.pqm");
Diagnostics.LogValue = Diagnostics[LogValue];
Diagnostics.LogFailure = Diagnostics[LogFailure];

Diagnostics.LogValue
A função Diagnostics.LogValue é muito semelhante à Diagnostics.Trace e pode ser
usada para gerar o valor do que você está avaliando.

Power Query M

Diagnostics.LogValue = (prefix as text, value as any) as any => ...

O parâmetro prefix é colocado antes da mensagem de log. Você usaria isso para
descobrir qual chamada gerou a mensagem. O parâmetro value é o que a função
retornará e também será gravado no rastreamento como uma representação de texto
do valor M. Por exemplo, se value for igual a um table com colunas A e B, o log
conterá a representação #table equivalente: #table({"A", "B"}, {{"row1 A", "row1
B"}, {"row2 A", row2 B"}})
7 Observação

Serializar valores de M em texto pode ser uma operação cara. Tome cuidado com o
tamanho potencial dos valores que você está gerando para o rastreamento.

7 Observação

A maioria dos ambientes do Power Query truncará mensagens de rastreamento


com um comprimento máximo.

Como exemplo, você atualizará a função TripPin.Feed para rastrear os argumentos url
e schema passados para a função.

Power Query M

TripPin.Feed = (url as text, optional schema as type) as table =>


let
_url = Diagnostics.LogValue("Accessing url", url),
_schema = Diagnostics.LogValue("Schema type", schema),
//result = GetAllPagesByNextLink(url, schema)
result = GetAllPagesByNextLink(_url, _schema)
in
result;

Observe que você precisa usar os novos valores _url e _schema na chamada para
GetAllPagesByNextLink . Se você usar os parâmetros originais da função, as chamadas

Diagnostics.LogValue nunca serão realmente avaliadas, e nenhuma mensagem será


gravada no rastreamento. A programação funcional é divertida!

Agora, ao executar suas consultas, você verá novas mensagens no log.

Acessando a URL:
Tipo de esquema:

Observe que você vê a versão serializada do parâmetro schema type , em vez do que
obteria ao fazer um simples Text.FromValue em um valor de tipo (o que resulta em
"tipo").

Diagnostics.LogFailure
A função Diagnostics.LogFailure pode ser usada para encapsular chamadas de função
e só gravará no rastreamento se a chamada de função falhar (ou seja, retornar um
error ).

Power Query M

Diagnostics.LogFailure = (text as text, function as function) as any => ...

Internamente, Diagnostics.LogFailure adiciona um operador try à chamada function .


Se a chamada falhar, o valor text será gravado no rastreamento antes de retornar o
error original. Se a chamada function for bem-sucedida, o resultado será retornado

sem gravar nada no rastreamento. Como os erros da M não contêm um rastreamento


de pilha completo (ou seja, você normalmente só vê a mensagem do erro), isso pode
ser útil quando você deseja identificar o local em que o erro foi realmente gerado.

Como um exemplo (ruim), modifique a linha withData da função TripPinNavTable para


forçar um erro mais uma vez:

Power Query M

withData = Table.AddColumn(rename, "Data", each


Diagnostics.LogFailure("Error in GetEntity", () => GetEntity(url,
"DoesNotExist")), type table),

No rastreamento, você pode encontrar a mensagem de erro resultante que contém seu
text e as informações de erro originais.
Não se esqueça de redefinir a função para um estado operacional antes de prosseguir
com o próximo tutorial.

Conclusão
Esta breve (mas importante) lição mostrou como usar as funções auxiliares de
diagnóstico para fazer registrar nos arquivos de rastreamento do Power Query. Quando
usadas corretamente, essas funções são extremamente úteis na depuração de
problemas no conector.

7 Observação

Como desenvolvedor de conector, é sua responsabilidade garantir que não haja


registro de informações confidenciais nem PII (de identificação pessoal) como parte
do log de diagnóstico. Você também deve ter cuidado para não gerar muitas
informações de rastreamento, pois elas podem ter um impacto negativo no
desempenho.

Próximas etapas
TripPin Parte 9 – TestConnection
TripPin parte 9 – TestConnection
Artigo • 23/03/2023

Este tutorial de várias partes aborda a criação de uma nova extensão de fonte de dados
para o Power Query. O tutorial deve ser seguido sequencialmente; cada lição se baseia
no conector criado nas lições anteriores, adicionando incrementalmente novos recursos
a ele.

Nesta aula, você vai:

" Adicionar um manipulador TestConnection


" Configurar o gateway de dados local (modo pessoal)
" Testar a atualização agendada por meio do serviço do Power BI

O suporte ao conector personalizado foi adicionado à versão de abril de 2018 do


gateway de dados local pessoal. Essa nova funcionalidade (versão prévia) permite a
Atualização Agendada de relatórios que usam seu conector personalizado.

Este tutorial abordará o processo de habilitação do conector para atualização e


fornecerá um passo a passo rápido das etapas para configurar o gateway.
Especificamente, você vai:

1. Adicione um manipulador TestConnection ao conector.


2. Instale o Gateway de Dados Local no modo Pessoal.
3. Habilite o suporte ao Conector Personalizado no Gateway.
4. Publique uma pasta de trabalho que usa o conector para PowerBI.com.
5. Configure a atualização agendada para testar o conector.

Acesse Manipulando o suporte do gateway para obter mais informações sobre o


manipulador TestConnection.

Tela de fundo
Há três pré-requisitos para configurar uma fonte de dados para atualização agendada
usando PowerBI.com:

Há suporte para a fonte de dados: isso significa que o ambiente de gateway de


destino está ciente de todas as funções contidas na consulta que você deseja
atualizar.
As credenciais são fornecidas: para apresentar a caixa de diálogo de entrada de
credencial correta, o Power BI precisa saber o mecanismo de autenticação de
suporte para uma determinada fonte de dados.
As credenciais são válidas: depois que o usuário fornece credenciais, ele é
validado chamando o manipulador da fonte de TestConnection dados.

Os dois primeiros itens são manipulados registrando seu conector com o gateway.
Quando o usuário tenta configurar a atualização agendada no PowerBI.com, as
informações de consulta são enviadas ao gateway pessoal para determinar se as fontes
de dados que não são reconhecidas pelo serviço do Power BI (ou seja, as personalizadas
que você criou) estão disponíveis lá. O terceiro item é tratado invocando o manipulador
TestConnection definido para sua fonte de dados.

Adicionando um manipulador TestConnection


O manipulador TestConnection é adicionado ao registro de declaração do Tipo de Fonte
de Dados (o mesmo local em que você declara seus tipos de autenticação com suporte).
O manipulador é um parâmetro único function de tipo any , que retorna um list . O
primeiro valor na lista é a função que será chamada para testar a conexão. Isso
geralmente é o mesmo que sua função principal de fonte de dados. Em alguns casos,
talvez seja necessário expor uma função separada shared para fornecer um teste de
conexão eficiente, no entanto, isso geralmente deve ser evitado.

Como a função de fonte de dados TripPin não tem argumentos necessários, a


implementação para TestConnection é bastante simples:

Power Query M

// Data Source Kind description


TripPin = [
// TestConnection is required to enable the connector through the
Gateway
TestConnection = (dataSourcePath) => { "TripPin.Contents" },
Authentication = [
Anonymous = []
],
Label = "TripPin Part 9 - TestConnection"
];

7 Observação

Versões futuras do SDK Power Query fornecerão uma maneira de validar o


manipulador TestConnection do Visual Studio. Atualmente, o único mecanismo que
usa TestConnection é o gateway de dados local.
Habilitando conectores personalizados no
gateway pessoal
Baixar e instalar o gateway de dados local. Ao executar o instalador, selecione o modo
pessoal.

Após a conclusão da instalação, inicie o gateway e entre no Power BI. O processo de


entrada registrará automaticamente seu gateway com os serviços do Power BI. Depois
de entrar, execute as seguintes etapas:

1. Selecione a guia Conectores.


2. Selecione a opção para habilitar o suporte para conectores de dados
personalizados.
3. Selecione o diretório do qual você deseja carregar conectores personalizados.
Normalmente, esse será o mesmo diretório que você usaria para Power BI
Desktop, mas o valor é configurável.
4. A página agora deve listar todos os arquivos de extensão no diretório de destino.
Acesse a documentação online para obter mais informações sobre o gateway.

Testar a atualização agendada


Abra Power BI Desktop e crie um relatório que importe dados usando o conector
TripPin.
Adicione um ou mais visuais à página do relatório (opcional) e, em seguida, publique o
relatório para PowerBI.com.

Após a publicação, acesse PowerBI.com e localize o conjunto de dados do relatório que


você acabou de publicar. Selecione as reticências e Agendar Atualização. Expanda a
conexão do Gateway e as seções de credenciais da fonte de dados .
7 Observação

Se a página de configuração do conjunto de dados disser que o relatório contém


fontes de dados desconhecidas, seu gateway/conector personalizado poderá não
estar configurado corretamente. Vá para a interface do usuário de configuração do
gateway pessoal e verifique se não há erros ao lado do conector TripPin. Talvez seja
necessário reiniciar o gateway (na guia Configurações de Serviço) para pegar a
configuração mais recente.

Selecione o link Editar credenciais para abrir a caixa de diálogo de autenticação e, em


seguida, selecione entrar.

7 Observação

Se você receber um erro semelhante ao que está abaixo ("Falha ao atualizar as


credenciais da fonte de dados"), provavelmente você tem um problema com o
manipulador TestConnection.
Após uma chamada bem-sucedida para TestConnection, as credenciais serão aceitas.
Agora você pode agendar a atualização ou selecionar a reticência do conjunto de dados
e, em seguida, selecionar Atualizar Agora. Você pode selecionar o link Atualizar
histórico para exibir o status da atualização (o que geralmente leva alguns minutos para
ser iniciado).

Conclusão
Parabéns! Agora você tem um conector personalizado pronto para produção que dá
suporte à atualização automatizada por meio do serviço do Power BI.

Próximas etapas
TripPin Parte 10 – Dobramento de consulta
TripPin parte 10 – Dobragem de
consulta básica
Artigo • 23/03/2023

Este tutorial de várias partes aborda a criação de uma extensão de fonte de dados para
o Power Query. O tutorial deve ser seguido sequencialmente. Cada lição se baseia no
conector criado nas lições anteriores, adicionando incrementalmente novos recursos ao
conector.

Nesta lição, você vai:

" Conhecer os conceitos básicos de dobragem de consultas


" Saber mais sobre a função Table.View
" Replicar manipuladores de dobragem de consultas OData para:

$top
$skip

$count
$select

$orderby

Um dos recursos avançados da linguagem M é sua capacidade de efetuar push do


trabalho de transformação para fontes de dados subjacentes. Essa funcionalidade é
conhecida como Dobragem de consultas (outras ferramentas/tecnologias também se
referem a uma função semelhante como Pushdown de Predicado ou Delegação de
Consultas).

Ao criar um conector personalizado que usa uma função M com recursos internos de
dobragem de consultas, como OData.Feed ou Odbc.DataSource, seu conector herdará
automaticamente essa funcionalidade sem custos.

Este tutorial replicará o comportamento interno de dobragem de consultas do OData


implementando manipuladores de funções para a função Table.View. Esta parte do
tutorial implementará alguns dos manipuladores mais fáceis de implementar (ou seja, os
que não exigem análise de expressão nem acompanhamento de estado).

Para entender mais sobre as funcionalidades de consulta que um serviço OData pode
oferecer, acesse Convenções de URL do OData v4 .

7 Observação
Conforme indicado acima, a função OData.Feed fornecerá automaticamente
recursos de dobragem de consultas. Como a série TripPin está tratando o serviço
OData como uma API REST regular, usando Web.Contents em vez de OData.Feed,
você precisará implementar os manipuladores de dobragem de consultas por conta
própria. No mundo real, recomendamos que você use OData.Feed sempre que
possível.

Acesse Dobragem de consultas do Power Query para obter mais informações sobre a
dobragem de consultas.

Usando Table.View
A função Table.View permite que um conector personalizado substitua manipuladores
de transformação padrão em sua fonte de dados. Uma implementação da Table.View
fornecerá uma função para um ou mais manipuladores com suporte. Se um
manipulador não for implementado ou retornar um error durante a avaliação, o
mecanismo da M fará fallback no manipulador padrão.

Quando um conector personalizado usa uma função que não dá suporte implícito à
dobragem de consultas, como Web.Contents, manipuladores de transformação padrão
sempre serão executados localmente. Se a API REST à qual você está se conectando dá
suporte a parâmetros de consulta como parte da consulta, a Table.View permite
adicionar otimizações que possibilitam que o trabalho de transformação seja enviado
por push para o serviço.

A função Table.View tem a seguinte assinatura:

Power Query M

Table.View(table as nullable table, handlers as record) as table

Sua implementação encapsulará a função de fonte de dados principal. Há dois


manipuladores necessários para a Table.View:

GetType – retorna o table type esperado do resultado da consulta


GetRows – retorna o resultado real table da função da fonte de dados

A implementação mais simples seria semelhantes ao seguinte:

Power Query M
TripPin.SuperSimpleView = (url as text, entity as text) as table =>
Table.View(null, [
GetType = () => Value.Type(GetRows()),
GetRows = () => GetEntity(url, entity)
]);

Atualize a função TripPinNavTable para chamar TripPin.SuperSimpleView em vez de


GetEntity :

Power Query M

withData = Table.AddColumn(rename, "Data", each TripPin.SuperSimpleView(url,


[Name]), type table),

Se você executar novamente os testes de unidade, verá que o comportamento da


função não foi alterado. Nesse caso, a implementação de Table.View está simplesmente
passando a chamada para GetEntity . Como você ainda não implementou nenhum
manipulador de transformação, o parâmetro original url permanece intocado.

Implementação inicial de Table.View


A implementação acima da Table.View é simples, mas não muito útil. A implementação
a seguir será usada como sua linha de base; ela não implementa nenhuma
funcionalidade de dobragem, mas tem o scaffolding que você precisará para fazê-lo.

Power Query M

TripPin.View = (baseUrl as text, entity as text) as table =>


let
// Implementation of Table.View handlers.
//
// We wrap the record with Diagnostics.WrapHandlers() to get some
automatic
// tracing if a handler returns an error.
//
View = (state as record) => Table.View(null,
Diagnostics.WrapHandlers([
// Returns the table type returned by GetRows()
GetType = () => CalculateSchema(state),

// Called last - retrieves the data from the calculated URL


GetRows = () =>
let
finalSchema = CalculateSchema(state),
finalUrl = CalculateUrl(state),
result = TripPin.Feed(finalUrl, finalSchema),
appliedType = Table.ChangeType(result, finalSchema)
in
appliedType,

//
// Helper functions
//
// Retrieves the cached schema. If this is the first call
// to CalculateSchema, the table type is calculated based on
// the entity name that was passed into the function.
CalculateSchema = (state) as type =>
if (state[Schema]? = null) then
GetSchemaForEntity(entity)
else
state[Schema],

// Calculates the final URL based on the current state.


CalculateUrl = (state) as text =>
let
urlWithEntity = Uri.Combine(state[Url], state[Entity])
in
urlWithEntity
]))
in
View([Url = baseUrl, Entity = entity]);

Se você examinar a chamada à Table.View, verá uma função de wrapper adicional ao


redor do registro handlers : Diagnostics.WrapHandlers . Essa função auxiliar é encontrada
no módulo Diagnóstico (que foi apresentado na lição de adição de diagnóstico) e
fornece uma forma útil de rastrear automaticamente os erros gerados por
manipuladores individuais.

As funções GetType e GetRows foram atualizadas para usar duas novas funções
auxiliares: CalculateSchema e CalculateUrl . No momento, as implementações dessas
funções são bastante simples: você observará que elas contêm partes do que foi feito
anteriormente pela função GetEntity .

Por fim, você observará que está definindo uma função interna ( View ) que aceita um
parâmetro state . À medida que você implementa mais manipuladores, eles chamarão
recursivamente a função interna View , atualizando e passando state à medida que são
executados.

Atualize a função TripPinNavTable mais uma vez, substituindo a chamada à


TripPin.SuperSimpleView por uma chamada para a nova função TripPin.View e execute

novamente os testes de unidade. Você ainda não verá nenhuma nova funcionalidade,
mas agora tem uma linha de base sólida para testar.
Implementando a dobragem de consulta
Como o mecanismo da M fará fallback automaticamente no processamento local
quando uma consulta não puder ser dobrada, você deverá executar algumas etapas
adicionais para validar se os manipuladores da Table.View estão funcionando
corretamente.

A forma manual de validar o comportamento de dobragem é observar as solicitações de


URL que os testes de unidade fazem usando uma ferramenta como o Fiddler. Como
alternativa, o log de diagnóstico que você adicionou ao TripPin.Feed emitirá a URL
completa que está sendo executada, que deve incluir os parâmetros de cadeia de
caracteres de consulta OData que seus manipuladores adicionarão.

Uma forma automatizada de validar a dobragem de consultas é forçar a execução do


teste de unidade a falhar caso uma consulta não seja totalmente dobrada. Você pode
fazer isso abrindo as propriedades do projeto e definindo Erro na Falha de Dobragem
como Verdadeiro. Com essa configuração habilitada, qualquer consulta que exija o
processamento local resultara no seguinte erro:

Não foi possível dobrar a expressão para a fonte. Tente uma expressão mais simples.

Você pode testar isso adicionando um novo Fact ao arquivo de teste de unidade que
contém uma ou mais transformações de tabela.

Power Query M

// Query folding tests


Fact("Fold $top 1 on Airlines",
#table( type table [AirlineCode = text, Name = text] , {{"AA", "American
Airlines"}} ),
Table.FirstN(Airlines, 1)
)

7 Observação

A configuração Erro na Falha de Dobragem é uma abordagem "tudo ou nada". Se


você quiser testar consultas que não foram projetadas para serem dobradas como
parte dos testes de unidade, será necessário adicionar alguma lógica condicional
para habilitar/desabilitar testes de acordo.

As seções restantes deste tutorial adicionarão um novo manipulador da Table.View.


Você usará uma abordagem TDD (Desenvolvimento Controlado por Teste) , na qual
primeiro adicionará testes de unidade com falha e, em seguida, implementará o código
da M para resolvê-los.

Cada seção abaixo descreverá a funcionalidade fornecida pelo manipulador, a sintaxe de


consulta equivalente do OData, os testes de unidade e a implementação. Usando o
código de scaffolding descrito acima, cada implementação de manipulador requer duas
alterações:

Adição do manipulador à Table.View que atualizará o registro state .


Modificação do CalculateUrl para recuperar os valores do state e adicionar à
URL e/ou aos parâmetros da cadeia de caracteres de consulta.

Manipulando Table.FirstN com OnTake


O manipulador OnTake recebe um parâmetro count , que é o número máximo de linhas
a serem retiradas de GetRows . Em termos de OData, você pode traduzir isso para o
parâmetro de consulta $top .

Você usará os seguintes testes de unidade:

Power Query M

// Query folding tests


Fact("Fold $top 1 on Airlines",
#table( type table [AirlineCode = text, Name = text] , {{"AA", "American
Airlines"}} ),
Table.FirstN(Airlines, 1)
),
Fact("Fold $top 0 on Airports",
#table( type table [Name = text, IataCode = text, Location = record] ,
{} ),
Table.FirstN(Airports, 0)
),

Esses testes usam Table.FirstN para filtrar o conjunto de resultados para o primeiro
número X de linhas. Se você executar esses testes com Erro na Falha de Dobragem
definido como False (o padrão), os testes deverão ter êxito, mas se você executar o
Fiddler (ou verificar os logs de rastreamento), observará que a solicitação enviada não
contém nenhum parâmetro de consulta OData.
Se você definir Erro na Falha de Dobragem como True , os testes falharão com o erro
Please try a simpler expression. . Para corrigir isso, você definirá seu primeiro
manipulador Table.View para OnTake .

O manipulador OnTake tem esta aparência:

Power Query M

OnTake = (count as number) =>


let
// Add a record with Top defined to our state
newState = state & [ Top = count ]
in
@View(newState),

A função CalculateUrl é atualizada para extrair o valor Top do registro state e definir
o parâmetro correto na cadeia de caracteres de consulta.

Power Query M

// Calculates the final URL based on the current state.


CalculateUrl = (state) as text =>
let
urlWithEntity = Uri.Combine(state[Url], state[Entity]),

// Uri.BuildQueryString requires that all field values


// are text literals.
defaultQueryString = [],

// Check for Top defined in our state


qsWithTop =
if (state[Top]? <> null) then
// add a $top field to the query string record
defaultQueryString & [ #"$top" = Number.ToText(state[Top]) ]
else
defaultQueryString,

encodedQueryString = Uri.BuildQueryString(qsWithTop),
finalUrl = urlWithEntity & "?" & encodedQueryString
in
finalUrl

Ao executar novamente os testes de unidade, você observará que a URL que você está
acessando agora contém o parâmetro $top . (Observe que, devido à codificação da URL,
$top aparece como %24top , mas o serviço OData é inteligente o suficiente para

convertê-lo automaticamente).

Manipulando Table.Skip com OnSkip


O manipulador OnSkip é muito parecido com OnTake . Ele recebe um parâmetro count ,
que é o número de linhas a serem ignoradas no conjunto de resultados. Isso se traduz
bem no parâmetro de consulta $skip do OData.

Testes de unidade:

Power Query M

// OnSkip
Fact("Fold $skip 14 on Airlines",
#table( type table [AirlineCode = text, Name = text] , {{"EK",
"Emirates"}} ),
Table.Skip(Airlines, 14)
),
Fact("Fold $skip 0 and $top 1",
#table( type table [AirlineCode = text, Name = text] , {{"AA", "American
Airlines"}} ),
Table.FirstN(Table.Skip(Airlines, 0), 1)
),

Implementação:

Power Query M

// OnSkip - handles the Table.Skip transform.


// The count value should be >= 0.
OnSkip = (count as number) =>
let
newState = state & [ Skip = count ]
in
@View(newState),

Correspondência das atualizações com CalculateUrl :

Power Query M

qsWithSkip =
if (state[Skip]? <> null) then
qsWithTop & [ #"$skip" = Number.ToText(state[Skip]) ]
else
qsWithTop,

Mais informações: Table.Skip

Manipulando Table.SelectColumns com OnSelectColumns


O manipulador OnSelectColumns é chamado quando o usuário seleciona ou remove
colunas do conjunto de resultados. O manipulador recebe uma list de valores text ,
representando as colunas a serem selecionadas.

Nos termos do OData, essa operação será mapeada para a opção de consulta $select .

A vantagem da dobragem da seleção de colunas se torna aparente quando você está


lidando com tabelas com muitas colunas. O operador $select removerá colunas não
selecionadas do conjunto de resultados, resultando em consultas mais eficientes.

Testes de unidade:

Power Query M
// OnSelectColumns
Fact("Fold $select single column",
#table( type table [AirlineCode = text] , {{"AA"}} ),
Table.FirstN(Table.SelectColumns(Airlines, {"AirlineCode"}), 1)
),
Fact("Fold $select multiple column",
#table( type table [UserName = text, FirstName = text, LastName = text],
{{"russellwhyte", "Russell", "Whyte"}}),
Table.FirstN(Table.SelectColumns(People, {"UserName", "FirstName",
"LastName"}), 1)
),
Fact("Fold $select with ignore column",
#table( type table [AirlineCode = text] , {{"AA"}} ),
Table.FirstN(Table.SelectColumns(Airlines, {"AirlineCode",
"DoesNotExist"}, MissingField.Ignore), 1)
),

Os dois primeiros testes selecionam números diferentes de colunas com


Table.SelectColumns e incluem uma chamada Table.FirstN para simplificar o caso de
teste.

7 Observação

Se o teste simplesmente retornar os nomes de coluna (usando


Table.ColumnNames e não dados, a solicitação para o serviço OData nunca será
realmente enviada. Isso ocorre porque a chamada para GetType retornará o
esquema, que contém todas as informações necessárias pelo mecanismo da M
para calcular o resultado.

O terceiro teste usa a opção MissingField.Ignore, que informa ao mecanismo da M para


ignorar as colunas selecionadas que não existem no conjunto de resultados. O
manipulador OnSelectColumns não precisa se preocupar com essa opção – o mecanismo
da M tratará disso automaticamente (ou seja, colunas ausentes não serão incluídas na
lista columns ).

7 Observação

A outra opção para Table.SelectColumns, MissingField.UseNull, requer um


conector para implementar o manipulador OnAddColumn . Isso será feito em uma
lição subsequente.

A implementação para OnSelectColumns faz duas coisas:


Adiciona a lista de colunas selecionadas ao state .
Calcula novamente o valor Schema para que você possa definir o tipo de tabela
correto.

Power Query M

OnSelectColumns = (columns as list) =>


let
// get the current schema
currentSchema = CalculateSchema(state),
// get the columns from the current schema (which is an M Type
value)
rowRecordType = Type.RecordFields(Type.TableRow(currentSchema)),
existingColumns = Record.FieldNames(rowRecordType),
// calculate the new schema
columnsToRemove = List.Difference(existingColumns, columns),
updatedColumns = Record.RemoveFields(rowRecordType,
columnsToRemove),
newSchema = type table (Type.ForRecord(updatedColumns, false))
in
@View(state &
[
SelectColumns = columns,
Schema = newSchema
]
),

CalculateUrl é atualizado para recuperar a lista de colunas do estado e combiná-las

(com um separador) para o parâmetro $select .

Power Query M

// Check for explicitly selected columns


qsWithSelect =
if (state[SelectColumns]? <> null) then
qsWithSkip & [ #"$select" = Text.Combine(state[SelectColumns], ",")
]
else
qsWithSkip,

Manipulando Table.Sort com OnSort


O manipulador OnSort recebe uma lista de registros do tipo:

Power Query M

type [ Name = text, Order = Int16.Type ]


Cada registro contém um campo Name , indicando o nome da coluna e um campo Order
igual a Order.Ascending ou Order.Descending.

Nos termos do OData, essa operação será mapeada para a opção de consulta
$orderby . A sintaxe $orderby tem o nome da coluna seguido por asc ou desc para
indicar a ordem crescente ou decrescente. Ao classificar em várias colunas, os valores
são separados com uma vírgula. Observe que, se o parâmetro columns contiver mais de
um item, é importante manter a ordem na qual eles aparecem.

Testes de unidade:

Power Query M

// OnSort
Fact("Fold $orderby single column",
#table( type table [AirlineCode = text, Name = text], {{"TK", "Turkish
Airlines"}}),
Table.FirstN(Table.Sort(Airlines, {{"AirlineCode", Order.Descending}}),
1)
),
Fact("Fold $orderby multiple column",
#table( type table [UserName = text], {{"javieralfred"}}),
Table.SelectColumns(Table.FirstN(Table.Sort(People, {{"LastName",
Order.Ascending}, {"UserName", Order.Descending}}), 1), {"UserName"})
)

Implementação:

Power Query M

// OnSort - receives a list of records containing two fields:


// [Name] - the name of the column to sort on
// [Order] - equal to Order.Ascending or Order.Descending
// If there are multiple records, the sort order must be maintained.
//
// OData allows you to sort on columns that do not appear in the result
// set, so we do not have to validate that the sorted columns are in our
// existing schema.
OnSort = (order as list) =>
let
// This will convert the list of records to a list of text,
// where each entry is "<columnName> <asc|desc>"
sorting = List.Transform(order, (o) =>
let
column = o[Name],
order = o[Order],
orderText = if (order = Order.Ascending) then "asc" else
"desc"
in
column & " " & orderText
),
orderBy = Text.Combine(sorting, ", ")
in
@View(state & [ OrderBy = orderBy ]),

Atualização no CalculateUrl :

Power Query M

qsWithOrderBy =
if (state[OrderBy]? <> null) then
qsWithSelect & [ #"$orderby" = state[OrderBy] ]
else
qsWithSelect,

Manipulando Table.RowCount com GetRowCount


Ao contrário dos outros manipuladores de consulta que você implementou, o
manipulador GetRowCount retornará um único valor: o número de linhas esperadas no
conjunto de resultados. Em uma consulta da M, isso normalmente seria o resultado da
transformação de Table.RowCount.

Você tem algumas opções diferentes para lidar com isso como parte de uma consulta
OData:

O parâmetro de consulta $count , que retorna a contagem como um campo


separado no conjunto de resultados.
O segmento de caminho /$count , que retornará apenas a contagem total, como
um valor escalar.

A desvantagem da abordagem do parâmetro de consulta é que você ainda precisará


enviar toda a consulta para o serviço OData. Como a contagem volta embutida como
parte do conjunto de resultados, você precisará processar a primeira página de dados
do conjunto de resultados. Embora isso ainda seja mais eficiente que a leitura de todo o
conjunto de resultados e a contagem das linhas, provavelmente ainda será mais
trabalho do que você desejaria fazer.

A vantagem da abordagem do segmento de caminho é que você receberá apenas um


valor escalar no resultado. Isso torna toda a operação muito mais eficiente. No entanto,
conforme descrito na especificação do OData, o segmento de caminho /$count
retornará um erro se você incluir outros parâmetros de consulta, como $top ou $skip ,
o que limita sua utilidade.
Neste tutorial, você implementará o manipulador GetRowCount usando a abordagem do
segmento de caminho. Para evitar os erros que você obteria se outros parâmetros de
consulta fossem incluídos, você verificará se há outros valores de estado e retornará um
"erro não implementado" ( ... ) se encontrar algum. O retorno de qualquer erro de um
manipulador Table.View informa ao mecanismo da M que a operação não pode ser
dobrada e que ele deve fazer fallback no manipulador padrão (que, nesse caso, estaria
contando o número total de linhas).

Primeiro, adicione um teste de unidade simples:

Power Query M

// GetRowCount
Fact("Fold $count", 15, Table.RowCount(Airlines)),

Como o segmento de caminho /$count retorna um único valor (em formato


simples/texto) em vez de um conjunto de resultados JSON, você também precisará
adicionar uma nova função interna ( TripPin.Scalar ) para fazer a solicitação e manipular
o resultado.

Power Query M

// Similar to TripPin.Feed, but is expecting back a scalar value.


// This function returns the value from the service as plain text.
TripPin.Scalar = (url as text) as text =>
let
_url = Diagnostics.LogValue("TripPin.Scalar url", url),

headers = DefaultRequestHeaders & [


#"Accept" = "text/plain"
],

response = Web.Contents(_url, [ Headers = headers ]),


toText = Text.FromBinary(response)
in
toText;

A implementação usará essa função (se nenhum outro parâmetro de consulta for
encontrado no state ):

Power Query M

GetRowCount = () as number =>


if (Record.FieldCount(Record.RemoveFields(state, {"Url", "Entity",
"Schema"}, MissingField.Ignore)) > 0) then
...
else
let
newState = state & [ RowCountOnly = true ],
finalUrl = CalculateUrl(newState),
value = TripPin.Scalar(finalUrl),
converted = Number.FromText(value)
in
converted,

A função CalculateUrl será atualizada para acrescentar /$count à URL se o campo


RowCountOnly estiver definido no state .

Power Query M

// Check for $count. If all we want is a row count,


// then we add /$count to the path value (following the entity name).
urlWithRowCount =
if (state[RowCountOnly]? = true) then
urlWithEntity & "/$count"
else
urlWithEntity,

Agora, o novo teste de unidade Table.RowCount deve ser aprovado.

Para testar o caso de fallback, você adicionará outro teste que forçará o erro.

Primeiro, adicione um método auxiliar que verifica o resultado de uma operação try
para um erro de dobragem.

Power Query M

// Returns true if there is a folding error, or the original record (for


logging purposes) if not.
Test.IsFoldingError = (tryResult as record) =>
if ( tryResult[HasError]? = true and tryResult[Error][Message] = "We
couldn't fold the expression to the data source. Please try a simpler
expression.") then
true
else
tryResult;

Em seguida, adicione um teste que usa Table.RowCount e Table.FirstN para forçar o


erro.

Power Query M

// test will fail if "Fail on Folding Error" is set to false


Fact("Fold $count + $top *error*", true, Test.IsFoldingError(try
Table.RowCount(Table.FirstN(Airlines, 3)))),
Uma observação importante aqui é que este teste retornará um erro se Erro no Erro de
Dobragem estiver definido como false , porque a operação Table.RowCount fará
fallback no manipulador local (padrão). Executar os testes com Erro no Erro de
Dobragem definido como true causará falha no Table.RowCount e permitirá que o teste
tenha êxito.

Conclusão
A implementação de Table.View em seu conector adiciona uma quantidade significativa
de complexidade ao código. Como o mecanismo da M pode processar todas as
transformações localmente, a adição de manipuladores Table.View não habilita novos
cenários para seus usuários, mas resultará em um processamento mais eficiente (e,
potencialmente, usuários mais felizes). Uma das principais vantagens dos manipuladores
Table.View serem opcionais é que isso permite adicionar incrementalmente novas
funcionalidades sem afetar a compatibilidade com versões anteriores do conector.

Para a maioria dos conectores, um manipulador importante (e básico) a ser


implementado é OnTake (o que se traduz no $top no OData), pois limita a quantidade
de linhas retornadas. A experiência do Power Query sempre executará uma OnTake de
1000 linhas ao exibir visualizações no navegador e no editor de consultas, para que os
usuários possam ver melhorias significativas de desempenho ao trabalhar com
conjuntos de dados maiores.
Exemplo do conector do GitHub
Artigo • 23/03/2023

A extensão do GitHub M mostra como adicionar suporte a um fluxo de autenticação de


protocolo OAuth 2.0. Saiba mais sobre as especificidades do fluxo de autenticação do
GitHub no site do Desenvolvedor do GitHub .

Antes de começar a criar uma extensão M, você precisa registrar um novo aplicativo no
GitHub e substituir os arquivos client_id e client_secret pelos valores apropriados
para seu aplicativo.

Observação sobre problemas de compatibilidade no Visual Studio:o SDK do Power


Query usa um controle baseado no Internet Explorer para abrir pop-up de caixas de
diálogo OAuth. O GitHub preteriu seu suporte para a versão do IE usada por esse controle,
o que impedirá que você conclua a concessão de permissão para seu aplicativo se for
executado no Visual Studio. Uma alternativa é carregar a extensão com o Power BI
Desktop e concluir o primeiro fluxo do OAuth lá. Depois que o aplicativo tiver recebido
acesso à sua conta, os logons subsequentes funcionarão bem no Visual Studio.

OAuth e Power BI
OAuth é uma forma de delegação de credenciais. Ao fazer logon no GitHub e autorizar
o "aplicativo" criado para o GitHub, o usuário permite que seu "aplicativo" faça logon
em seu nome para recuperar dados no Power BI. O "aplicativo" deve receber direitos
para recuperar dados (obter um access_token) e atualizar os dados em um
agendamento (obter e usar um refresh_token). Seu "aplicativo" nesse contexto é o
Conector de Dados usado para executar consultas no Power BI. O Power BI armazena e
gerencia o access_token e o refresh_token em seu nome.

7 Observação

Para permitir que o Power BI obtenha e use o access_token, você deve especificar a
url de redirecionamento como
https://oauth.powerbi.com/views/oauthredirect.html .

Quando você especificar essa URL e o GitHub autenticar e conceder permissões com
sucesso, o GitHub redirecionará para o ponto de extremidade oauthredirect do PowerBI
para que o Power BI possa recuperar o access_token e o refresh_token.
Como registrar um aplicativo GitHub
Sua extensão do Power BI precisa fazer logon no GitHub. Para habilitar isso, registre um
novo aplicativo OAuth com o GitHub em
https://github.com/settings/applications/new .

1. Application name : insira um nome para o aplicativo para sua extensão M.


2. Authorization callback URL : insira
https://oauth.powerbi.com/views/oauthredirect.html .
3. Scope : no GitHub, defina o escopo como user, repo .

7 Observação

Um aplicativo OAuth registrado recebe uma ID do Cliente e um Segredo do Cliente


exclusivos. O Segredo do Cliente não deve ser compartilhado. Você obtém a ID do
Cliente e o Segredo do Cliente na página do aplicativo GitHub. Atualize os arquivos
em seu projeto do Conector de Dados com a ID do Cliente (arquivo client_id ) e o
Segredo do Cliente (arquivo client_secret ).

Como implementar o GitHub OAuth


O exemplo guiará você pelas etapas a seguir:

1. Crie uma definição de Tipo de Fonte de Dados que declare que dá suporte ao
OAuth.
2. Forneça detalhes para que o mecanismo M possa iniciar o fluxo do OAuth
( StartLogin ).
3. Converta o código recebido do GitHub em um access_token ( FinishLogin e
TokenMethod ).

4. Defina funções que acessam a API do GitHub ( GithubSample.Contents ).

Etapa 1: criar uma definição de fonte de dados


Um Conector de Dados começa com um registro que descreve a extensão, incluindo seu
nome exclusivo (que é o nome do registro), tipos de autenticação com suporte e um
nome de exibição amigável (rótulo) para a fonte de dados. Ao dar suporte ao OAuth, a
definição contém as funções que implementam o contrato do OAuth, nesse caso,
StartLogin e FinishLogin .
//
// Data Source definition
//
GithubSample = [
Authentication = [
OAuth = [
StartLogin = StartLogin,
FinishLogin = FinishLogin
]
],
Label = Extension.LoadString("DataSourceLabel")
];

Etapa 2: fornecer detalhes para que o mecanismo M


possa iniciar o fluxo do OAuth
O fluxo do OAuth do GitHub é iniciado quando você direciona os usuários para a página
https://github.com/login/oauth/authorize . Para que o usuário faça logon, você precisa

especificar vários parâmetros de consulta:

Nome Type Descrição

client_id string Obrigatório. A ID do cliente que você recebeu do GitHub quando se


registrou.

redirect_uri string A URL no seu aplicativo para o qual os usuários serão enviados depois da
autorização. Veja detalhes abaixo sobre as URLs de redirecionamento. Para
extensões M, redirect_uri deve ser
"https://oauth.powerbi.com/views/oauthredirect.html".

scope string Lista de escopos separados por vírgulas Se não for fornecido, o escopo será
padrão para uma lista vazia de escopos para usuários que não têm um
token válido para o aplicativo. Para usuários que já têm um token válido
para o aplicativo, a página de autorização OAuth com a lista de escopos
não será exibida para o usuário. Em vez disso, essa etapa do fluxo será
concluída automaticamente com os mesmos escopos que foram usados na
última vez em que o usuário concluiu o fluxo.

state string Uma string aleatória indescritível. É usada para proteger contra ataques de
solicitação intersite forjada.

O snippet de código a seguir descreve como implementar uma função StartLogin para
iniciar o fluxo de logon. Uma função StartLogin usa um valor resourceUrl , state e
display . Na função, crie um AuthorizeUrl que concatena a URL de autorização do
GitHub com os seguintes parâmetros:
client_id : você obtém a ID do cliente depois de registrar sua extensão no GitHub

na página do aplicativo do GitHub.


scope : defina o escopo como " user, repo ". Isso define o escopo da autorização

(ou seja, o que seu aplicativo deseja acessar) para o usuário.


state : um valor interno que o mecanismo M passa.

redirect_uri : defina como https://oauth.powerbi.com/views/oauthredirect.html .

StartLogin = (resourceUrl, state, display) =>


let
AuthorizeUrl = "https://github.com/login/oauth/authorize?" &
Uri.BuildQueryString([
client_id = client_id,
scope = "user, repo",
state = state,
redirect_uri = redirect_uri])
in
[
LoginUri = AuthorizeUrl,
CallbackUri = redirect_uri,
WindowHeight = windowHeight,
WindowWidth = windowWidth,
Context = null
];

Se essa for a primeira vez que o usuário estiver fazendo logon com seu aplicativo
(identificado por seu valor client_id ), ele verá uma página que solicita que ele conceda
acesso ao seu aplicativo. As tentativas de logon subsequentes somente solicitarão suas
credenciais.

Etapa 3: converta o código recebido do GitHub em um


access_token
Se o usuário concluir o fluxo de autenticação, o GitHub o redirecionará de volta para a
URL de redirecionamento do Power BI com um código temporário em um parâmetro
code , bem como o estado que você forneceu na etapa anterior em um parâmetro
state . Sua função FinishLogin extrairá o código do parâmetro callbackUri e o trocará

por um token de acesso (usando a função TokenMethod ).

FinishLogin = (context, callbackUri, state) =>


let
Parts = Uri.Parts(callbackUri)[Query]
in
TokenMethod(Parts[code]);

Para obter um token de acesso do GitHub, passe o código temporário da resposta de


autorização do GitHub. Na função TokenMethod , você formula uma solicitação POST para
o ponto de extremidade de access_token do GitHub
( https://github.com/login/oauth/access_token ). Os seguintes parâmetros são
necessários para o ponto de extremidade do GitHub:

Nome Type Descrição

client_id string Obrigatório. A ID do cliente que você recebeu do GitHub quando se


registrou.

client_secret string Obrigatório. O segredo do cliente que você recebeu do GitHub quando se
registrou.

code string Obrigatório. O código que você recebeu em FinishLogin .

redirect_uri string A URL no seu aplicativo para o qual os usuários serão enviados depois da
autorização. Veja detalhes abaixo sobre as URLs de redirecionamento.

Aqui estão os detalhes usados para a chamada Web.Contents.

Argumento Descrição Valor

url A URL do site. https://github.com/login/oauth/access_token

opções Um registro para controlar o Não usado nesse caso


comportamento dessa
função.
Argumento Descrição Valor

Consulta Adicionar Content = Text.ToBinary(


programaticamente Uri.BuildQueryString(
parâmetros de consulta à [
URL. client_id = client_id,
client_secret = client_secret,
code = code,
redirect_uri = redirect_uri
]
))
Where

client_id : ID do cliente da página do


aplicativo GitHub.
client_secret : segredo do cliente da página
do aplicativo GitHub.
code : código na resposta de autorização do
GitHub.
redirect_uri : a URL no seu aplicativo para o
qual os usuários serão enviados depois da
autorização.

Cabeçalhos Um registro com mais Cabeçalhos= [


cabeçalhos para a solicitação #"Content-type" = "application/x-www-form-
HTTP. urlencoded",
#"Accept" = "application/json"
]

Este snippet de código descreve como implementar uma função TokenMethod para
trocar um código de autenticação por um token de acesso.

TokenMethod = (code) =>


let
Response =
Web.Contents("https://Github.com/login/oauth/access_token", [
Content = Text.ToBinary(Uri.BuildQueryString([
client_id = client_id,
client_secret = client_secret,
code = code,
redirect_uri = redirect_uri])),
Headers=[#"Content-type" = "application/x-www-form-
urlencoded",#"Accept" = "application/json"]]),
Parts = Json.Document(Response)
in
Parts;
A resposta JSON do serviço terá um campo access_token. O método TokenMethod
converte a resposta JSON em um registro M usando Json.Document e a retorna ao
mecanismo.

Exemplo de resposta:

JSON

{
"access_token":"e72e16c7e42f292c6912e7710c838347ae178b4a",
"scope":"user,repo",
"token_type":"bearer"
}

Etapa 4: defina funções que acessam a API do GitHub


O snippet de código a seguir exporta duas funções ( GithubSample.Contents e
GithubSample.PagedTable ) marcando-as como shared e as associa ao Tipo de Fonte de
Dados GithubSample .

[DataSource.Kind="GithubSample", Publish="GithubSample.UI"]
shared GithubSample.Contents = Value.ReplaceType(Github.Contents, type
function (url as Uri.Type) as any);

[DataSource.Kind="GithubSample"]
shared GithubSample.PagedTable = Value.ReplaceType(Github.PagedTable, type
function (url as Uri.Type) as nullable table);

A função GithubSample.Contents também é publicada na interface do usuário


(permitindo que ela apareça na caixa de diálogo Obter Dados). A função
Value.ReplaceType é usada para definir o parâmetro de função para o tipo Url.Type
atribuído.

Ao associar essas funções ao tipo de fonte de dados GithubSample , elas usarão


automaticamente as credenciais fornecidas pelo usuário. Todas as funções da biblioteca
M habilitadas para extensibilidade (como Web.Contents) também herdarão
automaticamente essas credenciais.

Para saber mais detalhes sobre como funciona a credencial e a autenticação, consulte
Como lidar com a autenticação.
URL de exemplo
Esse conector é capaz de recuperar dados formatados de qualquer um dos pontos de
extremidade da API REST do GitHub v3. Por exemplo, a consulta para efetuar pull de
todas as confirmações para o repositório de Conectores de Dados seria semelhante a
esta:

GithubSample.Contents("https://api.github.com/repos/microsoft/dataconnectors
/commits")
Lista de exemplos
Artigo • 23/03/2023

Mantemos uma lista de exemplos no repositório DataConnectors do GitHub. Cada um


dos links abaixo é vinculado a uma pasta no repositório de exemplo. Geralmente, essas
pastas incluem um leia-me, um ou mais arquivos .pq/.query.pq, um arquivo de projeto
para Visual Studio e, em alguns casos, ícones. Para abrir esses arquivos no Visual Studio,
verifique se você configurou o SDK corretamente e execute o arquivo .mproj na pasta
clonada ou baixada.

Funcionalidade
Amostra Descrição Link

Olá, Mundo Este exemplo simples mostra a estrutura básica de um conector. Link do
GitHub

Olá, Mundo Semelhante a Olá, Mundo, este exemplo mostra como adicionar Link do
com documentações a uma função compartilhada. GitHub
documentações

Tabelas de Este exemplo fornece dois modelos de como criar uma tabela de Link do
navegação navegação para o conector de dados usando a função GitHub
Table.ToNavigationTable .

Teste de Este exemplo mostra como adicionar testes de unidade simples ao Link do
Unidade arquivo <extension>.query.pq. GitHub

OAuth
Amostra Descrição Link

GitHub Este exemplo corresponde ao tutorial do conector do GitHub. Link do GitHub

ODBCODBC
Amostra Descrição Link

SQL Este exemplo de conector serve como um modelo para conectores Link do
ODBC. GitHub
Amostra Descrição Link

Redshift Este exemplo de conector usa o driver ODBC do Redshift e se baseia Link do
no modelo de conector. GitHub

LLAP do Este exemplo de conector usa o driver ODBC do Hive e se baseia no Link do
Hive modelo de conector. GitHub

Snowflake Este exemplo de conector usa o driver ODBC do Snowflake e se Link do


baseia no modelo de conector. GitHub

Impala Este exemplo de conector usa o driver ODBC do Cloudera Impala e se Link do
baseia no modelo de conector. GitHub

DirectQuery Este exemplo cria um conector personalizado e baseado em ODBC Link do


para SQL que habilita o DirectQuery para o SQL Server. GitHub

TripPin
Amostra Descrição Link

Parte 1 Este exemplo corresponde ao Tutorial do TripPin Parte 1 – OData. Link do


GitHub

Parte 2 Este exemplo corresponde ao Tutorial do TripPin Parte 2 – REST. Link do


GitHub

Parte 3 Este exemplo corresponde ao Tutorial do TripPin Parte 3 – Tabelas de Link do


navegação. GitHub

Parte 4 Este exemplo corresponde ao Tutorial do TripPin Parte 4 – Caminhos Link do


de fontes de dados. GitHub

Parte 5 Este exemplo corresponde ao Tutorial do TripPin Parte 5 – Paginação. Link do


GitHub

Parte 6 Este exemplo corresponde ao Tutorial do TripPin Parte 6 – Imposição Link do


de esquema. GitHub

Parte 7 Este exemplo corresponde ao Tutorial do TripPin Parte 7 – Esquema Link do


avançado com tipos M. GitHub

Parte 8 Este exemplo corresponde ao Tutorial do TripPin Parte 8 – Adição de Link do


diagnóstico. GitHub

Parte 9 Este exemplo corresponde ao Tutorial do TripPin Parte 9 – Testar Link do


conexão. GitHub

Parte 10 Este exemplo corresponde ao Tutorial do TripPin Parte 10 – Dobragem Link do


básica de consulta. GitHub
Lista de exemplos
Artigo • 23/03/2023

Mantemos uma lista de exemplos no repositório DataConnectors do GitHub. Cada um


dos links abaixo é vinculado a uma pasta no repositório de exemplo. Geralmente, essas
pastas incluem um leia-me, um ou mais arquivos .pq/.query.pq, um arquivo de projeto
para Visual Studio e, em alguns casos, ícones. Para abrir esses arquivos no Visual Studio,
verifique se você configurou o SDK corretamente e execute o arquivo .mproj na pasta
clonada ou baixada.

Funcionalidade
Amostra Descrição Link

Olá, Mundo Este exemplo simples mostra a estrutura básica de um conector. Link do
GitHub

Olá, Mundo Semelhante a Olá, Mundo, este exemplo mostra como adicionar Link do
com documentações a uma função compartilhada. GitHub
documentações

Tabelas de Este exemplo fornece dois modelos de como criar uma tabela de Link do
navegação navegação para o conector de dados usando a função GitHub
Table.ToNavigationTable .

Teste de Este exemplo mostra como adicionar testes de unidade simples ao Link do
Unidade arquivo <extension>.query.pq. GitHub

OAuth
Amostra Descrição Link

GitHub Este exemplo corresponde ao tutorial do conector do GitHub. Link do GitHub

ODBCODBC
Amostra Descrição Link

SQL Este exemplo de conector serve como um modelo para conectores Link do
ODBC. GitHub
Amostra Descrição Link

Redshift Este exemplo de conector usa o driver ODBC do Redshift e se baseia Link do
no modelo de conector. GitHub

LLAP do Este exemplo de conector usa o driver ODBC do Hive e se baseia no Link do
Hive modelo de conector. GitHub

Snowflake Este exemplo de conector usa o driver ODBC do Snowflake e se Link do


baseia no modelo de conector. GitHub

Impala Este exemplo de conector usa o driver ODBC do Cloudera Impala e se Link do
baseia no modelo de conector. GitHub

DirectQuery Este exemplo cria um conector personalizado e baseado em ODBC Link do


para SQL que habilita o DirectQuery para o SQL Server. GitHub

TripPin
Amostra Descrição Link

Parte 1 Este exemplo corresponde ao Tutorial do TripPin Parte 1 – OData. Link do


GitHub

Parte 2 Este exemplo corresponde ao Tutorial do TripPin Parte 2 – REST. Link do


GitHub

Parte 3 Este exemplo corresponde ao Tutorial do TripPin Parte 3 – Tabelas de Link do


navegação. GitHub

Parte 4 Este exemplo corresponde ao Tutorial do TripPin Parte 4 – Caminhos Link do


de fontes de dados. GitHub

Parte 5 Este exemplo corresponde ao Tutorial do TripPin Parte 5 – Paginação. Link do


GitHub

Parte 6 Este exemplo corresponde ao Tutorial do TripPin Parte 6 – Imposição Link do


de esquema. GitHub

Parte 7 Este exemplo corresponde ao Tutorial do TripPin Parte 7 – Esquema Link do


avançado com tipos M. GitHub

Parte 8 Este exemplo corresponde ao Tutorial do TripPin Parte 8 – Adição de Link do


diagnóstico. GitHub

Parte 9 Este exemplo corresponde ao Tutorial do TripPin Parte 9 – Testar Link do


conexão. GitHub

Parte 10 Este exemplo corresponde ao Tutorial do TripPin Parte 10 – Dobragem Link do


básica de consulta. GitHub
Lista de exemplos
Artigo • 23/03/2023

Mantemos uma lista de exemplos no repositório DataConnectors do GitHub. Cada um


dos links abaixo é vinculado a uma pasta no repositório de exemplo. Geralmente, essas
pastas incluem um leia-me, um ou mais arquivos .pq/.query.pq, um arquivo de projeto
para Visual Studio e, em alguns casos, ícones. Para abrir esses arquivos no Visual Studio,
verifique se você configurou o SDK corretamente e execute o arquivo .mproj na pasta
clonada ou baixada.

Funcionalidade
Amostra Descrição Link

Olá, Mundo Este exemplo simples mostra a estrutura básica de um conector. Link do
GitHub

Olá, Mundo Semelhante a Olá, Mundo, este exemplo mostra como adicionar Link do
com documentações a uma função compartilhada. GitHub
documentações

Tabelas de Este exemplo fornece dois modelos de como criar uma tabela de Link do
navegação navegação para o conector de dados usando a função GitHub
Table.ToNavigationTable .

Teste de Este exemplo mostra como adicionar testes de unidade simples ao Link do
Unidade arquivo <extension>.query.pq. GitHub

OAuth
Amostra Descrição Link

GitHub Este exemplo corresponde ao tutorial do conector do GitHub. Link do GitHub

ODBCODBC
Amostra Descrição Link

SQL Este exemplo de conector serve como um modelo para conectores Link do
ODBC. GitHub
Amostra Descrição Link

Redshift Este exemplo de conector usa o driver ODBC do Redshift e se baseia Link do
no modelo de conector. GitHub

LLAP do Este exemplo de conector usa o driver ODBC do Hive e se baseia no Link do
Hive modelo de conector. GitHub

Snowflake Este exemplo de conector usa o driver ODBC do Snowflake e se Link do


baseia no modelo de conector. GitHub

Impala Este exemplo de conector usa o driver ODBC do Cloudera Impala e se Link do
baseia no modelo de conector. GitHub

DirectQuery Este exemplo cria um conector personalizado e baseado em ODBC Link do


para SQL que habilita o DirectQuery para o SQL Server. GitHub

TripPin
Amostra Descrição Link

Parte 1 Este exemplo corresponde ao Tutorial do TripPin Parte 1 – OData. Link do


GitHub

Parte 2 Este exemplo corresponde ao Tutorial do TripPin Parte 2 – REST. Link do


GitHub

Parte 3 Este exemplo corresponde ao Tutorial do TripPin Parte 3 – Tabelas de Link do


navegação. GitHub

Parte 4 Este exemplo corresponde ao Tutorial do TripPin Parte 4 – Caminhos Link do


de fontes de dados. GitHub

Parte 5 Este exemplo corresponde ao Tutorial do TripPin Parte 5 – Paginação. Link do


GitHub

Parte 6 Este exemplo corresponde ao Tutorial do TripPin Parte 6 – Imposição Link do


de esquema. GitHub

Parte 7 Este exemplo corresponde ao Tutorial do TripPin Parte 7 – Esquema Link do


avançado com tipos M. GitHub

Parte 8 Este exemplo corresponde ao Tutorial do TripPin Parte 8 – Adição de Link do


diagnóstico. GitHub

Parte 9 Este exemplo corresponde ao Tutorial do TripPin Parte 9 – Testar Link do


conexão. GitHub

Parte 10 Este exemplo corresponde ao Tutorial do TripPin Parte 10 – Dobragem Link do


básica de consulta. GitHub
Funcionalidade adicional do conector
Artigo • 23/03/2023

Este artigo fornece informações sobre diferentes tipos de funcionalidade de conector


adicional em que os desenvolvedores de conectores podem querer investir. Para cada
tipo, este artigo descreve a disponibilidade e as instruções para habilitar a
funcionalidade.

Se houver funcionalidade de plataforma ou específica do conector que exija


envolvimento ou investimento direto da Microsoft, os usuários finais e os parceiros
desenvolvedores poderão expressar suas necessidades por meio do processo de
comentários padrão.

Autenticação
Embora a implementação da autenticação seja abordada no artigo de autenticação , há
outros métodos que os proprietários do conector podem estar interessados em
oferecer.

Autenticação do Windows
A autenticação do Windows tem suporte. Para habilitar a autenticação baseada no
Windows em seu conector, adicione a linha a seguir na seção Autenticação do conector.

Power Query M

Windows = [ SupportsAlternateCredentials = true ]

Essa alteração exporá autenticação do Windows como uma opção na experiência de


autenticação Power BI Desktop. O sinalizador SupportsAlternateCredentials exporá a
opção "Conectar usando credenciais alternativas". Depois que esse sinalizador estiver
habilitado, você poderá especificar credenciais explícitas da conta do Windows (nome
de usuário e senha). Você pode usar esse recurso para testar a representação
fornecendo suas próprias credenciais de conta.

Autenticação de logon único


Esta seção descreve as opções disponíveis para implementar a funcionalidade de SSO
(logon único) em seu conector certificado. Atualmente, não há suporte para
extensibilidade de "plug-and-play" para SSO. Habilitar o SSO exigiria alterações e
colaboração nos lados da Fonte de Dados ou do conector, portanto, entre em contato
com a Microsoft antes de começar a trabalhar.

SSO do Azure Active Directory

O SSO baseado em Azure Active Directory (Azure AD) tem suporte em cenários de
nuvem. A fonte de dados deve aceitar tokens de acesso Azure AD, pois o token de
usuário do Power BI Azure AD será trocado com um token de fonte de dados de Azure
AD. Se você tiver um conector certificado, entre em contato com o contato da Microsoft
para saber mais.

Kerberos SSO
Há suporte para logon único baseado em Kerberos em cenários de gateway. A fonte de
dados deve dar suporte a autenticação do Windows. Geralmente, esses cenários
envolvem relatórios baseados em Consulta Direta e um conector com base em um
driver ODBC. Os principais requisitos para o driver são que ele possa determinar as
configurações kerberos do contexto atual da thread e que ele dê suporte à
representação do usuário baseada em thread. O gateway deve ser configurado para dar
suporte à KCD (Delegação Restrita de Kerberos). Um exemplo pode ser encontrado no
conector de exemplo do Impala .

O Power BI enviará as informações atuais do usuário para o gateway. O gateway usará a


Delegação Restrita kerberos para invocar o processo de consulta como o usuário
representado.

Depois de fazer as alterações acima, o proprietário do conector pode testar os cenários


a seguir para validar a funcionalidade.

No Power BI Desktop: representação do Windows (usuário atual)


No Power BI Desktop: representação do Windows usando credenciais alternativas
No gateway: representação do Windows usando credenciais alternativas, pré-
configurando a fonte de dados com credenciais de conta do Windows no portal de
Administração do Gateway do Power BI.

Os desenvolvedores de conectores também podem usar esse procedimento para testar


a implementação do SSO baseado em Kerberos.

1. Configure um gateway de dados local com logon único habilitado usando


instruções no artigo de documentação do SSO kerberos do Power BI.

2. Valide a instalação ao testar com contas do SQL Server e do Windows. Gerenciador


de configuração do SQL Server Kerberos. Se você puder usar o SSO Kerberos com
SQL Server, o gateway de dados do Power BI também será configurado
corretamente para habilitar o SSO do Kerberos para outras fontes de dados.

3. Crie um aplicativo (por exemplo, uma ferramenta de linha de comando) que se


conecte ao servidor por meio do driver ODBC. Verifique se seu aplicativo pode
usar autenticação do Windows para a conexão.

4. Modifique seu aplicativo de teste para que ele possa usar um nome de usuário
(UPN) como um argumento e usar o construtor windowsIdentity com ele. Após a
conclusão, com os privilégios concedidos à conta de gateway configuradas na
Etapa 1, você poderá obter a propriedade AccessToken do usuário e representar
esse token.

5. Depois de fazer as alterações no aplicativo, verifique se você pode usar a


representação para carregar e conectar-se ao serviço por meio do driver ODBC.
Verifique se os dados podem ser recuperados. Se você quiser usar o código C ou
C++ nativo, precisará usar o LsaLoginUser para recuperar um token apenas com o
nome de usuário e usar a opção KERB_S4U_LOGON .

Depois que essa funcionalidade for validada, a Microsoft fará uma alteração para
colocar o UPN do Serviço do Power BI para baixo por meio do gateway. Uma vez no
gateway, ele agirá essencialmente da mesma maneira que seu aplicativo de teste para
recuperar dados.

Entre em contato com seu contato da Microsoft antes de começar a trabalhar para
saber mais sobre como solicitar essa alteração.

SSO do SAML

O SSO baseado em SAML geralmente não tem suporte por fontes de dados finais e não
é uma abordagem recomendada. Se o cenário exigir o uso do SSO baseado em SAML,
entre em contato com o contato da Microsoft ou visite nossa documentação para saber
mais.

Suporte à consulta de banco de dados nativo


Alguns conectores Power Query oferecem aos usuários finais a capacidade de
especificar consultas de banco de dados nativo emopções avançadas na experiência de
conexão. Os desenvolvedores de conectores personalizados podem estar interessados
em oferecer suporte à consulta de banco de dados nativo em seu conector.
Para obter informações sobre como implementar o suporte à consulta de banco de
dados nativo em seu conector, siga o passo a passo no artigo tratamento de suporte a
consultas nativas .
Lidando com a autenticação
Artigo • 05/10/2023

Tipos de autenticação
Uma extensão pode dar suporte a um ou mais tipos de Autenticação. Cada tipo de
autenticação é um tipo diferente de credencial. A interface do usuário de autenticação
exibida para usuários finais no Power Query é controlada pelo tipo de credenciais
compatíveis com uma extensão.

A lista de tipos de autenticação com suporte é definida como parte da definição do Tipo
de Fonte de Dados de uma extensão. Cada valor de Autenticação é um registro com
campos específicos. A tabela a seguir lista os campos esperados para cada tipo. Todos
os campos são obrigatórios, a menos que marcado de outra forma.

Tipo de Campo Descrição


autenticação

Anônima O tipo de autenticação Anônimo (também chamado Implicit )


não tem qualquer tipo de campo.

OAuth StartLogin Função que fornece a URL e as informações de estado para


iniciar um fluxo OAuth.

Vá para a seção Implementando um fluxo do OAuth.

FinishLogin Função que extrai o access_token e outras propriedades


relacionadas ao fluxo OAuth.

Atualizar (opcional) Função que recupera um novo token de acesso de


um token de atualização.

Logout (opcional) Função que invalida o token de acesso atual do


usuário.

Rótulo (opcional) Um valor de texto que permite substituir o rótulo


padrão para este AuthenticationKind.

Aad AuthorizationUri valor text ou função que retorna o ponto de extremidade da


autorização do Azure AD (exemplo:
"https://login.microsoftonline.com/common/oauth2/authorize" ).

Vá para a seção Autenticação do Azure Active Directory.

Recurso valor text ou função que retorna o valor do recurso do Azure


AD para seu serviço.
Tipo de Campo Descrição
autenticação

UsernamePassword userNameLabel (opcional) Um valor de texto para substituir o rótulo padrão


para a caixa de texto Nome de Usuário na interface do usuário
de credenciais.

PasswordLabel (opcional) Um valor de texto para substituir o rótulo padrão


para a caixa de texto Senha na interface do usuário de
credenciais.

Rótulo (opcional) Um valor de texto que permite substituir o rótulo


padrão para este AuthenticationKind.

Windows userNameLabel (opcional) Um valor de texto para substituir o rótulo padrão


para a caixa de texto Nome de Usuário na interface do usuário
de credenciais.

PasswordLabel (opcional) Um valor de texto para substituir o rótulo padrão


para a caixa de texto Senha na interface do usuário de
credenciais.

Rótulo (opcional) Um valor de texto que permite substituir o rótulo


padrão para este AuthenticationKind.

Chave KeyLabel (opcional) Um valor de texto para substituir o rótulo padrão


para a caixa de texto Chave de API na interface do usuário de
credenciais.

Rótulo (opcional) Um valor de texto que permite substituir o rótulo


padrão para este AuthenticationKind.

O exemplo a seguir mostra o registro de autenticação de um conector que oferece


suporte a credenciais do OAuth, Key, Windows, Basic (nome de usuário e senha) e
Anônimo.

Exemplo:

Power Query M

Authentication = [
OAuth = [
StartLogin = StartLogin,
FinishLogin = FinishLogin,
Refresh = Refresh,
Logout = Logout
],
Key = [],
UsernamePassword = [],
Windows = [],
Anonymous = []
]

Acessar as credenciais atuais


As credenciais atuais podem ser recuperadas usando a função
Extension.CurrentCredential .

As funções de fonte de dados do M que foram habilitadas para extensibilidade herdam


automaticamente o escopo de credenciais da extensão. Na maioria dos casos, você não
precisa acessar explicitamente as credenciais atuais, mas há exceções, como:

Passagem da credencial em um cabeçalho personalizado ou parâmetro de cadeia


de caracteres de consulta (como quando você está usando o tipo de autenticação
de Chave de API).
Definir propriedades da cadeia de conexão para extensões ODBC ou ADO.NET.
Verificar propriedades personalizadas em um token do OAuth.
Usar as credenciais como parte de um fluxo do OAuth v1.

A função Extension.CurrentCredential retorna um objeto de registro. Os campos que


ele contém são específicos do tipo de autenticação. A tabela a seguir contém detalhes.

Campo Descrição Usado Por

AuthenticationKind Contém o nome do tipo de autenticação atribuído a Tudo


essa credencial (UsernamePassword, OAuth e assim
por diante).

Nome de Usuário Valor de nome de usuário UsernamePassword,


Windows

Senha Valor da senha. Normalmente usado com Chave,


UsernamePassword, mas também é definido como UsernamePassword,
Key. Windows

access_token Valor do token de acesso OAuth. OAuth

Propriedades Um registro que contém outras propriedades OAuth


personalizadas para uma credencial específica.
Normalmente usado com o OAuth para armazenar
outras propriedades (como o refresh_token)
retornado com o access_token durante o fluxo de
autenticação.

Chave O valor da Chave de API. Observe que o valor da Chave


chave também está disponível no campo Senha. Por
Campo Descrição Usado Por

padrão, o mecanismo de mashup insere essa chave


em um cabeçalho Autorização como se esse valor
fosse uma senha de autenticação básica (sem nome
de usuário). Se esse tipo de comportamento não for
o desejado, você deverá especificar a opção
ManualCredentials = true no registro de opções.

EncryptConnection Um valor lógico que determinou se é necessário Tudo


uma conexão criptografada com a fonte de dados.
Esse valor está disponível para todos os tipos de
autenticação, mas só é definido se
EncryptConnection for especificado na definição de
fonte de dados.

O exemplo de código a seguir acessa a credencial atual de uma chave de API e a usa
para preencher um cabeçalho personalizado ( x-APIKey ).

Exemplo:

Power Query M

MyConnector.Raw = (_url as text) as binary =>


let
apiKey = Extension.CurrentCredential()[Key],
headers = [

#"x-APIKey" = apiKey,
Accept = "application/vnd.api+json",
#"Content-Type" = "application/json"
],
request = Web.Contents(_url, [ Headers = headers, ManualCredentials =
true ])
in
request

Implementando um fluxo do OAuth


O tipo de autenticação OAuth permite que uma extensão implemente a lógica
personalizada para o serviço. Para fazer isso, uma extensão fornece funções para
StartLogin (retornando o URI de autorização para iniciar o fluxo do OAuth) e

FinishLogin (trocando o código de autorização por um token de acesso). As extensões

também podem implementar Refresh (trocando um token de atualização por um novo


token de acesso) e Logout (expirando os tokens de atualização e acesso atuais).
7 Observação

As extensões do Power Query são avaliadas em aplicativos em execução em


computadores cliente. Os Conectores de Dados não devem usar segredos
confidenciais em seus fluxos OAuth, pois os usuários podem inspecionar a extensão
ou o tráfego de rede para saber o segredo. Vá para Troca de Chave por Código
pelo RFC de clientes públicos do OAuth (também conhecido como PKCE) para
obter mais detalhes sobre como fornecer fluxos que não dependem de segredos
compartilhados. Uma implementação de exemplo desse fluxo pode ser
encontrada em nosso site do GitHub.

Há dois conjuntos de assinaturas de função do OAuth: a assinatura original que contém


um número mínimo de parâmetros e uma assinatura avançada que aceita mais
parâmetros. A maioria dos fluxos OAuth pode ser implementada usando as assinaturas
originais. Você também pode misturar e combinar os tipos de assinatura em sua
implementação. As chamadas de função são correspondências com base no número de
parâmetros (e seus tipos). Os nomes dos parâmetros não são levados em consideração.

Acesse a amostra do GitHub para mais detalhes.

Assinaturas do OAuth originais


Power Query M

StartLogin = (dataSourcePath, state, display) => ...;

FinishLogin = (context, callbackUri, state) => ...;

Refresh = (dataSourcePath, refreshToken) => ...;

Logout = (accessToken) => ...;

Assinaturas do OAuth avançadas


Notas sobre as assinaturas avançadas:

Todas as assinaturas aceitam um valor de registro clientApplication , que é


reservado para uso futuro.
Todas as assinaturas aceitam uma dataSourcePath (também conhecida como
resourceUrl na maioria dos exemplos).
A função Refresh aceita um parâmetro oldCredential , que é o record anterior
retornado por sua função FinishLogin (ou chamada anterior para Refresh ).

Power Query M

StartLogin = (clientApplication, dataSourcePath, state, display) => ...;

FinishLogin = (clientApplication, dataSourcePath, context, callbackUri,


state) => ...;

Refresh = (clientApplication, dataSourcePath, oldCredential) => ...;

Logout = (clientApplication, dataSourcePath, accessToken) => ...;

Autenticação do Azure Active Directory


O tipo de autenticação Aad é uma versão especializada do OAuth para o Azure Active
Directory. Ele usa o mesmo cliente do Azure AD que os conectores do Power Query
internos que dão suporte à autenticação da Conta da Organização.

7 Observação

Se a fonte de dados exigir escopos diferentes de user_impersonation ou for


incompatível com o uso de user_impersonation , você deverá usar o tipo de
autenticação OAuth .

7 Observação

Se você implementar seu próprio fluxo OAuth para o Azure AD, os usuários com o
Acesso Condicional habilitado para seus locatários poderão encontrar problemas
ao atualizar usando o serviço do Power BI. Isso não afetará a atualização baseada
em gateway, mas afetará um conector certificado que dá suporte à atualização do
serviço do Power BI. Os usuários poderão ter um problema decorrente do conector
usando um aplicativo cliente público ao configurar credenciais baseadas na Web
por meio do serviço do Power BI. Dessa forma, o token de acesso gerado por esse
fluxo será usado em um computador diferente (ou seja, o serviço do Power BI em
um data center do Azure, não na rede da empresa) do que aquele usado para
autenticar originalmente (ou seja, o computador do usuário que configura as
credenciais da fonte de dados na rede da empresa). O tipo interno Aad resolve esse
problema usando um cliente do Azure AD diferente ao configurar credenciais no
serviço do Power BI. Essa opção não estará disponível para conectores que usam o
tipo de autenticação OAuth .

A maioria dos conectores precisa fornecer valores para os campos AuthorizationUri e


Resource . Ambos os campos podem ser valores text ou uma única função de

argumento que retorna um text value .

Power Query M

AuthorizationUri =
"https://login.microsoftonline.com/common/oauth2/authorize"

Power Query M

AuthorizationUri = (dataSourcePath) =>


FunctionThatDeterminesAadEndpointFromDataSourcePath(dataSourcePath)

Power Query M

Resource = "77256ee0-fe79-11ea-adc1-0242ac120002" // Azure AD resource


value for your service - Guid or URL

Power Query M

Resource = (dataSourcePath) =>


FunctionThatDeterminesResourceFromDataSourcePath(dataSourcePath)

Os conectores que usam um identificador baseado em Uri não precisam fornecer um


Resource valor. Por padrão, o valor é igual ao caminho raiz do parâmetro do Uri do

conector. Se o recurso do Azure AD da fonte de dados for diferente do valor do


domínio (por exemplo, ele usa um GUID), então um valor Resource precisará ser
fornecido.

Exemplos do tipo de autenticação do AAD


No caso a seguir, a fonte de dados dá suporte ao Azure AD de nuvem global usando o
locatário comum (sem suporte B2B do Azure).

Power Query M

Authentication = [
Aad = [
AuthorizationUri =
"https://login.microsoftonline.com/common/oauth2/authorize",
Resource = "77256ee0-fe79-11ea-adc1-0242ac120002" // Azure AD
resource value for your service - Guid or URL
]
]

No caso a seguir, a fonte de dados oferece suporte à descoberta de locatário com base
no OpenID Connect (OIDC) ou protocolo semelhante. Essa capacidade permite que o
conector determine o ponto de extremidade correto do Azure AD a ser usado com base
em um ou mais parâmetros no caminho da fonte de dados. Essa abordagem de
descoberta dinâmica permite que o conector dê suporte ao Azure B2B.

Power Query M

// Implement this function to retrieve or calculate the service URL based on


the data source path parameters
GetServiceRootFromDataSourcePath = (dataSourcePath) as text => ...;

GetAuthorizationUrlFromWwwAuthenticate = (url as text) as text =>


let
// Sending an unauthenticated request to the service returns
// a 302 status with WWW-Authenticate header in the response. The
value will
// contain the correct authorization_uri.
//
// Example:
// Bearer
authorization_uri="https://login.microsoftonline.com/{tenant_guid}/oauth2/au
thorize"
responseCodes = {302, 401},
endpointResponse = Web.Contents(url, [
ManualCredentials = true,
ManualStatusHandling = responseCodes
])
in
if (List.Contains(responseCodes, Value.Metadata(endpointResponse)
[Response.Status]?)) then
let
headers =
Record.FieldOrDefault(Value.Metadata(endpointResponse), "Headers", []),
wwwAuthenticate = Record.FieldOrDefault(headers, "WWW-
Authenticate", ""),
split = Text.Split(Text.Trim(wwwAuthenticate), " "),
authorizationUri = List.First(List.Select(split, each
Text.Contains(_, "authorization_uri=")), null)
in
if (authorizationUri <> null) then
// Trim and replace the double quotes inserted before
the url
Text.Replace(Text.Trim(Text.Trim(Text.AfterDelimiter(authorizationUri,
"=")), ","), """", "")
else
error Error.Record("DataSource.Error", "Unexpected WWW-
Authenticate header format or value during authentication.", [
#"WWW-Authenticate" = wwwAuthenticate
])
else
error Error.Unexpected("Unexpected response from server during
authentication.");

<... snip ...>

Authentication = [
Aad = [
AuthorizationUri = (dataSourcePath) =>
GetAuthorizationUrlFromWwwAuthenticate(
GetServiceRootFromDataSourcePath(dataSourcePath)
),
Resource = "https://myAadResourceValue.com", // Azure AD resource
value for your service - Guid or URL
]
]

Outros tipos de autenticação


Para obter informações sobre outros tipos de autenticação não abordados neste artigo,
como logon único baseado em Kerberos, acesse o artigo de funcionalidade de conector
adicional para saber mais.
Tratar acesso de dados
Artigo • 05/10/2023

Funções da fonte de dados


Um conector de dados encapsula e personaliza o comportamento de uma função de
fonte de dados na biblioteca M. Por exemplo, uma extensão para uma API REST usaria a
função Web.Contents para realizar solicitações HTTP. Atualmente, um conjunto limitado
de funções de fonte de dados foi habilitado para dar suporte à extensibilidade.

Web.Contents
OData.Feed
Odbc.DataSource
AdoDotNet.DataSource
OleDb.DataSource

Exemplo:

[DataSource.Kind="HelloWorld", Publish="HelloWorld.Publish"]
shared HelloWorld.Contents = (optional message as text) =>
let
message = if (message <> null) then message else "Hello world"
in
message;

Variante de Fonte de Dados


As funções marcadas como shared em sua extensão podem ser associadas a uma fonte
de dados específica incluindo um atributo literal DataSource.Kind na função com o
nome de um registro de definição de Fonte de Dados. O registro da Fonte de Dados
define os tipos de autenticação compatíveis com sua fonte de dados e informações
básicas de identidade visual (como o rótulo/nome de exibição). O nome do registro se
torna seu identificador exclusivo.

Cada função associada à mesma fonte de dados deve ter os mesmos parâmetros de
função necessários, incluindo nome, tipo e ordem. (Para fins de Tipo de Fonte de Dados,
um parâmetro não é considerado necessário se estiver marcado optional ou se seus
metadados contiverem DataSource.Path = false .)
As funções de um tipo de fonte de dados específico só podem usar credenciais
associadas a esse tipo. As credenciais são identificadas em runtime realizando uma
pesquisa com base na combinação dos parâmetros necessários da função. Para mais
informações sobre como as credenciais são identificadas, consulte Caminhos da Fonte
de Dados.

Exemplo:

HelloWorld = [
Authentication = [
Implicit = []
],
Label = Extension.LoadString("DataSourceLabel")
];

Propriedades
A tabela a seguir lista os campos do registro de definição da Fonte de Dados.

Campo Tipo Detalhes

Autenticação record Especifica um ou mais tipos de autenticação compatíveis com sua


fonte de dados. Pelo menos um tipo é necessário. Cada tipo será
exibido como uma opção no prompt de credenciais do Power
Query. Para mais informações, consulte Tipos de autenticação.

Rótulo text (opcional) Nome de exibição simpático para essa extensão em


caixas de diálogo de credenciais.

SupportsEncryption logical (opcional) Quando verdadeiro, a interface do usuário apresentará


a opção para se conectar à fonte de dados usando uma conexão
criptografada. Normalmente, isso é usado para fontes de dados
com um mecanismo de fallback não criptografado (geralmente
fontes baseadas em ODBC ou ADO.NET).

Publicar na interface do usuário


Semelhante ao registro de definição da Fonte de Dados, o registro Publicar fornece à
interface do usuário do Power Query as informações necessárias para expor esta
extensão na caixa de diálogo Obter Dados.

Exemplo:
HelloWorld.Publish = [
Beta = true,
ButtonText = { Extension.LoadString("FormulaTitle"),
Extension.LoadString("FormulaHelp") },
SourceImage = HelloWorld.Icons,
SourceTypeImage = HelloWorld.Icons
];

HelloWorld.Icons = [
Icon16 = { Extension.Contents("HelloWorld16.png"),
Extension.Contents("HelloWorld20.png"),
Extension.Contents("HelloWorld24.png"),
Extension.Contents("HelloWorld32.png") },
Icon32 = { Extension.Contents("HelloWorld32.png"),
Extension.Contents("HelloWorld40.png"),
Extension.Contents("HelloWorld48.png"),
Extension.Contents("HelloWorld64.png") }
];

Propriedades
A tabela a seguir lista os campos para seu registro de Publicação.

Campo Tipo Detalhes

ButtonText lista Lista de itens de texto. O primeiro item define o nome exibido ao
lado do ícone da fonte de dados na caixa de diálogo Obter
Dados do Power BI. O segundo item (opcional) define a dica de
ferramenta que será exibida quando o nome anterior for passado
com o mouse.

Categoria text Onde a extensão deve ser exibida na caixa de diálogo Obter
Dados. Atualmente, os únicos valores de categoria com entrega
especial são Azure e Database . Todos os outros valores irão para
a categoria Outros.

Beta logical (opcional) Quando definido como true, a interface do usuário


exibirá um identificador de Versão Prévia/Beta ao lado do nome
do conector e uma caixa de diálogo de aviso informando que a
implementação do conector está sujeita a alterações
interruptivas.

LearnMoreUrl text (opcional) URL para o site contendo mais informações sobre
essa fonte de dados ou conector.

SupportsDirectQuery logical (opcional) Habilita a consulta direta para sua extensão.


Campo Tipo Detalhes

SourceImage record (opcional) Um registro que contém uma lista de imagens


binárias (provenientes do arquivo de extensão usando o método
Extension.Contents). O registro contém dois campos (Icon16,
Icon32), cada um com sua própria lista. Cada ícone deve ter um
tamanho diferente.

SourceTypeImage record (opcional) Semelhante ao SourceImage, exceto que a convenção


para muitos conectores prontos para uso é exibir um ícone de
planilha com o ícone específico da fonte no canto inferior direito.
Ter um conjunto diferente de ícones para SourceTypeImage é
opcional. Muitas extensões simplesmente reutilizam o mesmo
conjunto de ícones para os dois campos.
Habilitar o DirectQuery para um
conector baseado em ODBC
Artigo • 13/05/2023

Usar a função Odbc.DataSource interna do M é a maneira recomendada de criar


conectores personalizados para fontes de dados que têm um driver ODBC existente
e/ou dar suporte a uma sintaxe de consulta SQL. Encapsular a função Odbc.DataSource
permite que o conector herde o comportamento de dobragem de consulta padrão de
acordo com os recursos relatados pelo driver. Isso permitirá que o mecanismo M gere
instruções SQL com base em filtros e outras transformações definidas pelo usuário na
experiência do Power Query, sem precisar fornecer essa lógica dentro do próprio
conector.

As extensões ODBC podem habilitar opcionalmente o modo DirectQuery, permitindo


que o Power BI gere consultas de forma dinâmica em runtime sem pré-armazenar em
cache o modelo de dados do usuário.

7 Observação

Habilitar o suporte do DirectQuery eleva o nível de dificuldade e complexidade do


conector. Quando o DirectQuery está habilitado, o Power BI impede que o
mecanismo M compense as operações que não podem ser totalmente enviadas
por push para a fonte de dados subjacente.

Este artigo pressupõe familiaridade com a criação de um conector personalizado básico.

Consulte o Exemplo de SqlODBC para obter a maioria dos exemplos de código nas
seções a seguir. Outros exemplos podem ser encontrados no diretório de exemplos do
ODBC.

Funções de extensibilidade de ODBC


O mecanismo M fornece duas funções de fonte de dados relacionadas ao ODBC:
Odbc.DataSource e Odbc.Query.

A função Odbc.DataSource fornece uma tabela de navegação padrão com todos os


bancos de dados, tabelas e exibições do sistema. Essa função também dá suporte à
dobragem de consulta e permite uma variedade de opções de personalização. A maioria
das extensões baseadas em ODBC usa essa função como sua função de extensibilidade
primária. A função aceita dois argumentos: uma cadeia de conexão e um registro de
opções, para fornecer substituições de comportamento.

A função Odbc.Query permite executar instruções SQL por meio de um driver ODBC. Ele
atua como uma passagem para a execução da consulta. Ao contrário da função
Odbc.DataSource , ela não fornece a funcionalidade de dobragem de consulta e exige
que as consultas SQL sejam fornecidas pelo conector (ou pelo usuário final). Ao criar um
conector personalizado, em geral, essa função é usada internamente para executar
consultas para recuperar metadados que talvez não sejam expostos por meio de canais
ODBC regulares. A função aceita dois argumentos: uma cadeia de conexão e uma
consulta SQL.

Diretrizes da função de fonte de dados


Os conectores personalizados podem aceitar qualquer número de argumentos de
função. Mas, para permanecer consistente com as funções de fonte de dados internas
enviadas com o Power Query, as seguintes diretrizes são recomendadas:

Exija o conjunto mínimo de parâmetros usados para estabelecer uma conexão com
o servidor. Quanto menos parâmetros os usuários finais precisarem fornecer, mais
fácil será o uso do conector.

Embora você possa definir parâmetros com um número fixo de valores (ou seja,
uma lista suspensa na interface do usuário), os parâmetros são inseridos antes que
o usuário seja autenticado. Todos os valores, que podem ser descobertos
programaticamente depois que o usuário é autenticado (como catálogo ou nome
de banco de dados), devem ser selecionáveis por meio do Navegador. O
comportamento padrão para a função Odbc.DataSource é retornar uma tabela de
navegação hierárquica que consiste em nomes de Catálogo (Banco de Dados),
Esquema e Tabela. No entanto, esse comportamento pode ser substituído em seu
conector.

Caso você perceba que os usuários normalmente sabem quais valores inserir para
itens que eles selecionariam no Navegador (como o nome do banco de dados),
torne esses parâmetros opcionais. Os parâmetros que podem ser descobertos
programaticamente não devem ser necessários.

O último parâmetro para sua função deve ser um registro opcional chamado
"opções". Esse parâmetro normalmente permite que usuários avançados definam
propriedades comuns relacionadas ao ODBC (como CommandTimeout ) e definam
substituições de comportamento específicas do conector. Também permite
extensibilidade futura sem afetar a compatibilidade com versões anteriores para
sua função.

Os argumentos relacionados à segurança/credencial nunca DEVEM fazer parte dos


parâmetros da função de fonte de dados, pois os valores inseridos na caixa de
diálogo de conexão serão persistidos para a consulta do usuário. Os parâmetros
relacionados à credencial devem ser especificados como parte dos métodos de
Autenticação compatíveis com o conector.

Por padrão, todos os parâmetros necessários para sua função de fonte de dados são
fatorados no valor Caminho da Fonte de Dados usado para identificar as credenciais de
usuário.

Embora a interface do usuário para a função interna Odbc.DataSource forneça uma lista
suspensa que permite que o usuário selecione um DSN, essa funcionalidade não está
disponível por meio da extensibilidade. Caso a configuração da fonte de dados seja
complexa o suficiente para exigir uma caixa de diálogo de configuração totalmente
personalizável, é recomendável que você exija que os usuários finais pré-configurem um
DSN do sistema e que sua função use o nome DSN como um campo de texto.

Próximas etapas
Parâmetros para Odbc.DataSource
Parâmetros para Odbc.DataSource
Artigo • 13/05/2023

A função Odbc.DataSource usa dois parâmetros: um connectionString para o driver e


um registro options que permite substituir vários comportamentos de driver. Por meio
do registro de opções, você pode substituir recursos e outras informações relatadas
pelo driver, controlar o comportamento do navegador e afetar as consultas SQL geradas
pelo mecanismo M.

Os campos de registros de opções compatíveis se enquadram em duas categorias:


aquelas que são públicas e sempre disponíveis, e aquelas que só estão disponíveis em
um contexto de extensibilidade.

A tabela a seguir descreve os campos públicos no registro de opções.

Campo Descrição

CommandTimeout Um valor de duração que controla por quanto tempo a consulta


do servidor tem permissão para ser executada antes do
cancelamento.

Padrão: 10 minutos

ConnectionTimeout Um valor de duração que controla por quanto tempo é necessário


esperar antes de abandonar a tentativa de fazer uma conexão com
o servidor.

Padrão: 15 segundos

CreateNavigationProperties Um valor lógico que define se as propriedades de navegação nos


valores retornados serão geradas. As propriedades de navegação
são baseadas em relações de chave estrangeira relatadas pelo
driver. Essas propriedades aparecem como colunas "virtuais" que
podem ser expandidas no editor de consultas, criando a junção
apropriada.

Se calcular dependências de chave estrangeira for uma operação


cara para o driver, convém definir esse valor como false.

Padrão: true
Campo Descrição

HierarchicalNavigation Um valor lógico que define se as tabelas agrupadas pelos


respectivos nomes de esquema serão exibidas. Quando definidas
como false, as tabelas são exibidas em uma lista simples em cada
banco de dados.

Padrão: false

SqlCompatibleWindowsAuth Um valor lógico que determina se as opções de cadeia de conexão


compatíveis com o SQL Server devem ser produzidas para a
autenticação do Windows: Trusted_Connection=Yes .

Se o driver for compatível com a Autenticação do Windows, mas


exigir configurações extras ou alternativas na cadeia de conexão,
defina esse valor como false e use o campo de registro de opções
CredentialConnectionString descrito na próxima tabela.

Padrão: true

A tabela a seguir descreve os campos de registro de opções que só estão disponíveis


por meio da extensibilidade. Campos que não são valores literais simples são descritos
em seções posteriores.

Campo Descrição

AstVisitor Um registro que contém uma ou mais substituições para controlar


a geração de consulta SQL. O uso mais comum desse campo é
fornecer lógica para gerar uma cláusula LIMIT/OFFSET para drivers
não compatíveis com TOP.

Os campos incluem Constant e LimitClause .

Mais informações: Substituir AstVisitor

CancelQueryExplicitly Um valor lógico que instrui o mecanismo M a cancelar


explicitamente todas as chamadas em execução por meio do driver
ODBC antes de encerrar a conexão com o servidor ODBC.

Esse campo é útil em situações em que a execução da consulta é


gerenciada independentemente das conexões de rede com o
servidor, por exemplo, em algumas implantações do Spark. Na
maioria dos casos, esse valor não precisa ser definido porque a
consulta no servidor é cancelada quando a conexão de rede com o
servidor é encerrada.

Padrão: false
Campo Descrição

ClientConnectionPooling Um valor lógico que permite o pool de conexões do lado do


cliente para o driver ODBC. A maioria dos drivers define esse valor
como true.

Padrão: false

CredentialConnectionString Um valor de texto ou registro usado para especificar propriedades


de cadeia de conexão relacionadas a credenciais.

HideNativeQuery Um valor lógico que controla se o conector mostra ou não


instruções SQL geradas na experiência do usuário no Power Query.
Só deve ser definido como true se a fonte de dados de back-end
tiver suporte nativo para SQL-92.

Padrão: false

ImplicitTypeConversions Um valor de tabela que contém conversões de tipo implícito


compatíveis com o driver ou o servidor de back-end. Os valores
nesta tabela são cumulativos às conversões relatadas pelo próprio
driver.

Esse campo normalmente é usado com o campo SQLGetTypeInfo


ao substituir informações de tipo de dados relatadas pelo driver.

OnError Uma função de tratamento de erro que recebe um parâmetro


errorRecord do tipo record .

Os usos comuns dessa função incluem lidar com falhas de conexão


SSL, fornecer um link de download se o driver não for encontrado
no sistema e relatar erros de autenticação.

SoftNumbers Permite que o mecanismo M selecione um tipo de dados


compatível quando a conversão entre dois tipos numéricos
específicos não for declarada como compatível nos recursos
SQL_CONVERT_*.

Padrão: false

SqlCapabilities Um registro que fornece várias substituições de recursos de driver


e uma maneira de especificar recursos que não são expressos por
meio do ODBC 3.8.

Mais informações: Substituir SqlCapabilities

SQLColumns Uma função que permite modificar metadados de coluna


retornados pela função SQLColumns .

Mais informações: Substituir SQLColumns


Campo Descrição

SQLGetFunctions Um registro que permite substituir valores retornados por


chamadas para SQLGetFunctions .

Um uso comum desse campo é desabilitar o uso da associação de


parâmetros ou especificar que as consultas geradas devem usar
CAST em vez de CONVERT.

Mais informações: Substituir SQLGetFunctions

SQLGetInfo Um registro que permite substituir valores retornados por


chamadas para SQLGetInfo .

Mais informações: Substituir SQLGetInfo

SQLGetTypeInfo Uma tabela ou função que retorna uma tabela que substitui as
informações de tipo retornadas por SQLGetTypeInfo .

Quando o valor é definido como uma tabela, o valor substitui


completamente as informações de tipo relatadas pelo driver.
SQLGetTypeInfo não será chamado.

Quando o valor é definido como uma função, sua função receberá


o resultado da chamada original à SQLGetTypeInfo , permitindo que
você modifique a tabela.

Normalmente, esse campo é usado quando há uma


incompatibilidade entre os tipos de dados relatados por
SQLGetTypeInfo e SQLColumns .

Mais informações: Substituir SQLGetTypeInfo

SQLTables Uma função que permite modificar os metadados da tabela


retornados por uma chamada para SQLTables .

TolerateConcatOverflow Permite que a concatenação de valores de texto ocorra mesmo


que o resultado possa ser truncado para caber dentro do intervalo
de um tipo disponível.

Por exemplo, ao concatenar um campo VARCHAR(4000) com um


campo VARCHAR(4000) em um sistema compatível com um
tamanho VARCHAR maximizado de 4000 e nenhum tipo CLOB, a
concatenação é dobrada mesmo que o resultado possa ser
truncado.

Padrão: false
Campo Descrição

UseEmbeddedDriver (uso interno): um valor lógico que controla se o driver ODBC deve
ser carregado de um diretório local (usando nova funcionalidade
definida na especificação ODBC 4.0). Esse valor geralmente é
definido apenas por conectores criados pela Microsoft integrados
ao Power Query.

Quando definido como false, o gerenciador de driver ODBC do


sistema é usado para localizar e carregar o driver.

A maioria dos conectores não precisa definir esse campo.

Padrão: false

Substituir AstVisitor
O campo AstVisitor é definido por meio do registro de opções Odbc.DataSource. Ele é
usado para modificar instruções SQL geradas para cenários de consulta específicos.

7 Observação

Os drivers compatíveis com cláusulas LIMIT e OFFSET (em vez de TOP) precisarão
substituir LimitClause por AstVisitor .

Constante
A substituição desse valor foi preterida e pode ser removida de implementações futuras.

LimitClause
Esse campo é uma função que recebe dois argumentos Int64.Type ( skip , take ) e
retorna um registro com dois campos de texto ( Text , Location ).

LimitClause = (skip as nullable number, take as number) as record => ...

O parâmetro skip é o número de linhas a serem ignoradas (ou seja, o argumento para
OFFSET). Se um deslocamento não for especificado, o valor ignorado será nulo. Se o
driver for compatível com LIMIT, mas não aceitar OFFSET, a função LimitClause deverá
retornar um erro não simplificado (...) quando o valor ignorado for maior que 0.

O parâmetro take é o número de linhas a serem consideradas (ou seja, o argumento


para LIMIT).

O campo Text do resultado contém o texto SQL a ser adicionado à consulta gerada.

O campo Location especifica onde inserir a cláusula. A tabela a seguir descreve os


valores compatíveis.

Valor Descrição Exemplo

AfterQuerySpecification A cláusula LIMIT é colocada no final do SQL SELECT a, b, c


gerado.
FROM table
Essa é a sintaxe LIMIT mais compatível.
WHERE a > 10

LIMIT 5

BeforeQuerySpecification A cláusula LIMIT é colocada antes da instrução LIMIT 5 ROWS


SQL gerada.
SELECT a, b, c

FROM table

WHERE a > 10

AfterSelect LIMIT fica após a instrução SELECT e depois de SELECT


qualquer modificador (como DISTINCT). DISTINCT LIMIT
5 a, b, c

FROM table

WHERE a > 10

AfterSelectBeforeModifiers LIMIT fica após a instrução SELECT, mas antes SELECT LIMIT 5
de qualquer modificador (como DISTINCT). DISTINCT a, b, c

FROM table

WHERE a > 10

O snippet de código a seguir fornece uma implementação de LimitClause para um


driver que espera uma cláusula LIMIT, com um OFFSET opcional, no seguinte formato:
[OFFSET <offset> ROWS] LIMIT <row_count>
LimitClause = (skip, take) =>
let
offset = if (skip > 0) then Text.Format("OFFSET #
{0} ROWS", {skip}) else "",
limit = if (take <> null) then Text.Format("LIMIT #
{0}", {take}) else ""
in
[
Text = Text.Format("#{0} #{1}", {offset, limit}),
Location = "AfterQuerySpecification"
]

O snippet de código a seguir fornece uma implementação LimitClause para um driver


que aceita LIMIT, mas não OFFSET. Formato: LIMIT <row_count> .

LimitClause = (skip, take) =>


if (skip > 0) then error "Skip/Offset not supported"
else
[
Text = Text.Format("LIMIT #{0}", {take}),
Location = "AfterQuerySpecification"
]

Substituir SqlCapabilities
Campo Detalhes

FractionalSecondsScale Um valor numérico que varia de 1 a 7 e indica o número de


casas decimais disponíveis para valores de milissegundos. Esse
valor deve ser definido por conectores que habilitam a
dobragem de consultas em valores de datetime.

Padrão: nulo

PrepareStatements Um valor lógico que indica que as instruções devem ser


preparadas usando SQLPrepare.

Padrão: false

SupportsTop Um valor lógico que indica que o driver é compatível com a


cláusula TOP para limitar o número de linhas retornadas.

Padrão: false
Campo Detalhes

StringLiteralEscapeCharacters Uma lista de valores de texto que especificam os caracteres a


serem usados ao escapar literais de cadeia de caracteres e
expressões LIKE.

Exemplo: {""}

Padrão: nulo

SupportsDerivedTable Um valor lógico que indica que o driver é compatível com


tabelas derivadas (submarcas).

Esse valor é considerado true para drivers que definem seu


nível de conformidade como SQL_SC_SQL92_FULL (relatado
pelo driver ou substituído com a configuração
sql92Conformance. Para todos os outros níveis de
conformidade, esse valor usa false como padrão.

Se o driver não relatar o nível de conformidade


SQL_SC_SQL92_FULL, mas fizer tabelas derivadas compatíveis,
defina esse valor como true.

A compatibilidade com tabelas derivadas é necessária para


muitos cenários do DirectQuery.

SupportsNumericLiterals Um valor lógico que indica se o SQL gerado deve incluir valores
de literais numéricos. Quando definidos como false, os valores
numéricos são sempre especificados usando a associação de
parâmetro.

Padrão: false

SupportsStringLiterals Um valor lógico que indica se o SQL gerado deve incluir valores
de literais de cadeia de caracteres. Quando definidos como
false, os valores de cadeia de caracteres são sempre
especificados usando a associação de parâmetro.

Padrão: false

SupportsOdbcDateLiterals Um valor lógico que indica se o SQL gerado deve incluir valores
de literais de data. Quando definidos como false, os valores de
data são sempre especificados usando a associação de
parâmetro.

Padrão: false
Campo Detalhes

SupportsOdbcTimeLiterals Um valor lógico que indica se o SQL gerado deve incluir valores
de literais de hora. Quando definidos como false, os valores de
hora são sempre especificados usando a associação de
parâmetro.

Padrão: false

SupportsOdbcTimestampLiterals Um valor lógico que indica se o SQL gerado deve incluir valores
de literais de carimbo de data/hora. Quando definidos como
false, os valores de carimbo de data/hora são sempre
especificados usando a associação de parâmetro.

Padrão: false

Substituir SQLColumns
SQLColumns é um manipulador de funções que recebe os resultados de uma chamada
ODBC para SQLColumns. O parâmetro de origem contém uma tabela com as
informações de tipo de dados. Normalmente, essa substituição é usada para corrigir
incompatibilidades de tipo de dados entre chamadas SQLGetTypeInfo e SQLColumns .

Para saber mais sobre o formato do parâmetro de tabela de origem, acesse Função
SQLColumns.

Substituir SQLGetFunctions
Esse campo é usado para substituir valores SQLFunctions retornados por um driver
ODBC. Ele contém um registro cujos nomes de campo são iguais às constantes
FunctionId definidas para a função ODBC SQLGetFunctions. Constantes numéricas para

cada um desses campos podem ser encontradas na especificação ODBC .

Campo Detalhes

SQL_CONVERT_FUNCTIONS Indica quais funções são aceitas ao fazer conversões de tipo. Por
padrão, o Mecanismo M tenta usar a função CONVERT. Os drivers que
preferem o uso do CAST podem substituir esse valor para relatar que há
compatibilidade apenas com SQL_FN_CVT_CAST (valor numérico de
0x2).
Campo Detalhes

SQL_API_SQLBINDCOL Um valor lógico (true/false) que indica se o mecanismo de mashup deve


usar a API SQLBindCol ao recuperar dados. Quando definido como false,
SQLGetData é usado.

Padrão: false

O snippet de código a seguir mostra um exemplo que diz explicitamente ao mecanismo


M para usar CAST em vez de CONVERT.

SQLGetFunctions = [
SQL_CONVERT_FUNCTIONS = 0x2 /* SQL_FN_CVT_CAST */
]

Substituir SQLGetInfo
Esse campo é usado para substituir valores SQLGetInfo retornados por um driver ODBC.
Ele contém um registro cujos campos são nomes são iguais às constantes InfoType
definidas para a função ODBC SQLGetInfo. Constantes numéricas para cada um desses
campos podem ser encontradas na especificação ODBC . A lista completa de
InfoTypes verificados pode ser encontrada nos arquivos de rastreamento do

mecanismo de mashup.

A tabela a seguir contém propriedades SQLGetInfo normalmente substituídas:

Campo Detalhes
Campo Detalhes

SQL_SQL_CONFORMANCE Um valor inteiro que indica o nível do SQL-92 compatível com o


driver:

(1) SQL_SC_SQL92_ENTRY: em conformidade com o SQL-92 de nível


de entrada.
(2) SQL_SC_FIPS127_2_TRANSITIONAL: em conformidade com o FIPS
127-2 de nível de transição.
(4) SQL_SC_ SQL92_INTERMEDIATE" em conformidade com o SQL-92
de nível intermediário.
(8) SQL_SC_SQL92_FULL: em conformidade com o SQL-92 de nível
completo.

Em cenários de Power Query, o conector é usado em um modo


somente leitura. A maioria dos drivers relata um nível de
conformidade SQL_SC_SQL92_FULL e substitui o comportamento de
geração de SQL específico usando propriedades SQLGetInfo e
SQLGetFunctions .

SQL_SQL92_PREDICATES Um bitmask que enumera os predicados compatíveis em uma


instrução SELECT, conforme definido no SQL-92.

Acesse Constantes SQL_SP_* na especificação ODBC.

SQL_AGGREGATE_FUNCTIONS Compatibilidade com enumeração de bitmask para funções de


agregação.

SQL_AF_ALL
SQL_AF_AVG
SQL_AF_COUNT
SQL_AF_DISTINCT
SQL_AF_MAX
SQL_AF_MIN
SQL_AF_SUM

Acesse Constantes SQL_AF_* na especificação ODBC.


Campo Detalhes

SQL_GROUP_BY Um valor inteiro que especifica o relacionamento entre as colunas em


uma cláusula GROUP BY e as colunas não agregadas na lista de
seleção:

SQL_GB_COLLATE: uma cláusula COLLATE pode ser especificada no


final de cada coluna de agrupamento.

SQL_GB_NOT_SUPPORTED: cláusulas GROUP BY não são compatíveis.

SQL_GB_GROUP_BY_EQUALS_SELECT: a cláusula GROUP BY deve


conter todas as colunas não agregadas na lista de seleção. Ela não
pode conter nenhuma outra coluna. Por exemplo, SELECT DEPT,
MAX(SALARY) FROM EMPLOYEE GROUP BY DEPT.

SQL_GB_GROUP_BY_CONTAINS_SELECT: a cláusula GROUP BY deve


conter todas as colunas não agregadas na lista de seleção. Ela pode
conter colunas que não estão na lista de seleção. Por exemplo, SELECT
DEPT, MAX(WAGE) FROM EMPLOYEE GROUP BY DEPT, AGE.

SQL_GB_NO_RELATION: as colunas na cláusula GROUP BY e na lista de


seleção não estão relacionadas. O significado de colunas não
agrupadas e não agregadas na lista de seleção depende da fonte de
dados. Por exemplo, SELECT DEPT, MAX(SALARY) FROM EMPLOYEE
GROUP BY DEPT.

Acesse Constantes SQL_GB_* na especificação ODBC.

Esta função auxiliar pode ser usada para criar valores de bitmask de uma lista de valores
inteiros:

Flags = (flags as list) =>


let
Loop = List.Generate(
()=> [i = 0, Combined = 0],
each [i] < List.Count(flags),

each [i = [i]+1, Combined =*Number.BitwiseOr([Combined], fla


gs{i})],
each [Combined]),
Result = List.Last(Loop, 0)
in
Result;
Substituir SQLGetTypeInfo
SQLGetTypeInfo pode ser especificado de duas maneiras:

Um valor fixo table que contém as mesmas informações de tipo que uma
chamada ODBC para SQLGetTypeInfo .
Uma função que aceita um argumento de tabela e retorna uma tabela. O
argumento contém os resultados originais da chamada ODBC para
SQLGetTypeInfo . Sua implementação de função pode modificar ou adicionar a esta

tabela.

A primeira abordagem é usada para substituir completamente os valores retornados


pelo driver ODBC. A segunda abordagem será usada se você quiser adicionar ou
modificar esses valores.

Para saber mais sobre o formato dos tipos de parâmetro de tabela e o valor de retorno
esperado, acesse Referência da função SQLGetTypeInfo.

SQLGetTypeInfo usando uma tabela estática


O snippet de código a seguir fornece uma implementação estática para SQLGetTypeInfo .

SQLGetTypeInfo = #table(
{ "TYPE_NAME", "DATA_TYPE", "COLUMN_SIZE", "LITERAL_PREF",
"LITERAL_SUFFIX", "CREATE_PARAS", "NULLABLE", "CASE_SENSITIVE",
"SEARCHABLE", "UNSIGNED_ATTRIBUTE", "FIXED_PREC_SCALE", "AUTO_UNIQUE_VALUE",
"LOCAL_TYPE_NAME", "MINIMUM_SCALE", "MAXIMUM_SCALE", "SQL_DATA_TYPE",
"SQL_DATETIME_SUB", "NUM_PREC_RADIX", "INTERNAL_PRECISION", "USER_DATA_TYPE"
}, {

{ "char", 1, 65535, "'", "'",


"max. length", 1, 1, 3, null,
0, null, "char", null,
null, -8, null, null, 0,
0 },
{ "int8", -5, 19, "'", "'",
null, 1, 0, 2, 0,
10, 0, "int8", 0,
0, -5, null, 2, 0,
0 },
{ "bit", -7, 1, "'", "'",
null, 1, 1, 3, null,
0, null, "bit", null,
null, -7, null, null, 0,
0 },
{ "bool", -7, 1, "'", "'",
null, 1, 1, 3, null,
0, null, "bit", null,
null, -7, null, null, 0,
0 },
{ "date", 9, 10, "'", "'",
null, 1, 0, 2, null,
0, null, "date", null,
null, 9, 1, null, 0,
0 },
{ "numeric", 3, 28, null, null,
null, 1, 0, 2, 0,
0, 0, "numeric", 0,
0, 2, null, 10, 0,
0 },
{ "float8", 8, 15, null, null,
null, 1, 0, 2, 0,
0, 0, "float8", null,
null, 6, null, 2, 0,
0 },
{ "float8", 6, 17, null, null,
null, 1, 0, 2, 0,
0, 0, "float8", null,
null, 6, null, 2, 0,
0 },
{ "uuid", -11, 37, null, null,
null, 1, 0, 2, null,
0, null, "uuid", null,
null, -11, null, null, 0,
0 },
{ "int4", 4, 10, null, null,
null, 1, 0, 2, 0,
0, 0, "int4", 0,
0, 4, null, 2, 0,
0 },
{ "text", -1, 65535, "'", "'",
null, 1, 1, 3, null,
0, null, "text", null,
null, -10, null, null, 0,
0 },
{ "lo", -4, 255, "'", "'",
null, 1, 0, 2, null,
0, null, "lo", null,
null, -4, null, null, 0,
0 },
{ "numeric", 2, 28, null, null,
"precision, scale", 1, 0, 2, 0,
10, 0, "numeric", 0,
6, 2, null, 10, 0,
0 },
{ "float4", 7, 9, null, null,
null, 1, 0, 2, 0,
10, 0, "float4", null,
null, 7, null, 2, 0,
0 },
{ "int2", 5, 19, null, null,
null, 1, 0, 2, 0,
10, 0, "int2", 0,
0, 5, null, 2, 0,
0 },
{ "int2", -6, 5, null, null,
null, 1, 0, 2, 0,
10, 0, "int2", 0,
0, 5, null, 2, 0,
0 },
{ "timestamp", 11, 26, "'", "'",
null, 1, 0, 2, null,
0, null, "timestamp", 0,
38, 9, 3, null, 0,
0 },
{ "date", 91, 10, "'", "'",
null, 1, 0, 2, null,
0, null, "date", null,
null, 9, 1, null, 0,
0 },
{ "timestamp", 93, 26, "'", "'",
null, 1, 0, 2, null,
0, null, "timestamp", 0,
38, 9, 3, null, 0,
0 },
{ "bytea", -3, 255, "'", "'",
null, 1, 0, 2, null,
0, null, "bytea", null,
null, -3, null, null, 0,
0 },
{ "varchar", 12, 65535, "'", "'",
"max. length", 1, 0, 2, null,
0, null, "varchar", null,
null, -9, null, null, 0,
0 },
{ "char", -8, 65535, "'", "'",
"max. length", 1, 1, 3, null,
0, null, "char", null,
null, -8, null, null, 0,
0 },
{ "text", -10, 65535, "'", "'",
"max. length", 1, 1, 3, null,
0, null, "text", null,
null, -10, null, null, 0,
0 },
{ "varchar", -9, 65535, "'", "'",
"max. length", 1, 1, 3, null,
0, null, "varchar", null,
null, -9, null, null, 0,
0 },
{ "bpchar", -8, 65535, "'", "'",
"max. length", 1, 1, 3, null,
0, null, "bpchar", null,
null, -9, null, null, 0,
0 } }
);
SQLGetTypeInfo usando uma função
Os snippets de código a seguir acrescentam o tipo bpchar aos tipos existentes
retornados pelo driver.

SQLGetTypeInfo = (types as table) as table =>


let
newTypes = #table(
{
"TYPE_NAME",
"DATA_TYPE",
"COLUMN_SIZE",
"LITERAL_PREF",
"LITERAL_SUFFIX",
"CREATE_PARAS",
"NULLABLE",
"CASE_SENSITIVE",
"SEARCHABLE",
"UNSIGNED_ATTRIBUTE",
"FIXED_PREC_SCALE",
"AUTO_UNIQUE_VALUE",
"LOCAL_TYPE_NAME",
"MINIMUM_SCALE",
"MAXIMUM_SCALE",
"SQL_DATA_TYPE",
"SQL_DATETIME_SUB",
"NUM_PREC_RADIX",
"INTERNAL_PRECISION",
"USER_DATA_TYPE"
},
// we add a new entry for each type we want to add
{
{
"bpchar",
-8,
65535,
"'",
"'",
"max. length",
1,
1,
3,
null,
0,
null,
"bpchar",
null,
null,
-9,
null,
null,
0,
0
}
}),
append = Table.Combine({types, newTypes})
in
append;

Configurar a cadeia de conexão


A cadeia de conexão para o driver ODBC é definida usando o primeiro argumento para
as funções Odbc.DataSource e Odbc.Query. O valor pode ser texto ou um registro M. Ao
usar o registro, cada campo no registro se tornará uma propriedade na cadeia de
conexão. Todas as cadeias de conexão exigem um campo Driver (ou campo DSN , se
você exigir que os usuários pré-configurem um DSN no nível do sistema). As
propriedades relacionadas à credencial são definidas separadamente. Outras
propriedades são específicas do driver.

O snippet de código abaixo mostra a definição de uma nova função de fonte de dados,
criação do registro ConnectionString e invocação da função Odbc.DataSource.

[DataSource.Kind="SqlODBC", Publish="SqlODBC.Publish"]
shared SqlODBC.Contents = (server as text) =>
let
ConnectionString = [
Driver = "SQL Server Native Client 11.0",
Server = server,
MultiSubnetFailover = "Yes",
ApplicationIntent = "ReadOnly",
APP = "PowerBICustomConnector"
],
OdbcDatasource = Odbc.DataSource(ConnectionString)
in
OdbcDatasource;

Próximas etapas
Testar e solucionar problemas de um conector baseado em ODBC
Testar e solucionar problemas de um
conector baseado em ODBC
Artigo • 13/05/2023

Ao criar seu conector baseado em ODBC, é uma boa ideia testá-lo ocasionalmente e
solucionar os problemas dele. Esta seção descreve como configurar e usar algumas
ferramentas de teste e solução de problemas.

Usar a ferramenta de rastreamento no Power BI


Desktop
Uma das ferramentas básicas para testar e solucionar problemas de um conector
baseado em ODBC é o rastreamento no Power BI Desktop, que determina por que erros
podem estar ocorrendo.

Habilitar o rastreamento no Power BI Desktop:

1. Acesse Arquivo > Opções e configurações > Opções.


2. Clique na guia Diagnóstico.
3. Selecione a opção Habilitar rastreamento.
4. Clique no link Abrir pasta de rastreamentos (deve ser
%LOCALAPPDATA%/Microsoft/Power BI Desktop/Traces ).

5. Exclua os arquivos de rastreamento existentes.


6. Faça seus testes.
7. Feche o Power BI Desktop para garantir que todos os arquivos de log sejam
liberados para o disco.

Veja as seguintes etapas para realizar o teste inicial no Power BI Desktop:

1. Feche o Power BI Desktop.


2. Limpe o diretório de rastreamento.
3. Abra o Power BI Desktop e habilite o rastreamento.
4. Conecte-se à fonte de dados e selecione o modo DirectQuery.
5. Selecione uma tabela no navegador e clique em Editar.
6. Manipule a consulta de várias maneiras, incluindo:

Use as primeiras N linhas (por exemplo, 10).


Defina filtros de igualdade em diferentes tipos de dados (int, string, bool e
assim por diante).
Defina outros filtros de intervalo (maior que, menor que).
Faça a filtragem para NULL/NOT NULL.
Selecione um subconjunto de colunas.
Agregar/Agrupar por combinações de colunas diferentes.
Adicione uma coluna calculada com base em outras colunas ([C] = [A] + [B]).
Em uma coluna, classifique várias colunas.

7. As expressões que não forem dobradas resultarão em uma barra de aviso. Observe
a falha, remova a etapa e passe para o próximo caso de teste. Os detalhes sobre a
causa da falha devem ser emitidos para os logs de rastreamento.
8. Feche o Power BI Desktop.
9. Copie os arquivos de rastreamento para um novo diretório.
10. Abra os arquivos de rastreamento no editor de texto de sua escolha.
11. Pesquise por entradas OdbcQuery/FoldingWarning nos arquivos de rastreamento.
Essas entradas devem conter mais informações sobre por que o mecanismo de
consulta acredita que a dobragem de consulta não é possível para essa operação.

Depois que as consultas simples estiverem funcionando, será possível experimentar


cenários do DirectQuery (por exemplo, criar relatórios nas Exibições de Relatório). As
consultas geradas no modo DirectQuery são significativamente mais complexas (ou seja,
com uso de submarcas, instruções COALESCE e agregações).

Concatenação de cadeias de caracteres no


modo DirectQuery
O mecanismo M faz a validação de limite de tamanho de tipo básico como parte da
lógica de dobramento de consulta. Se você receber um erro de dobragem ao tentar
concatenar duas cadeias de caracteres que potencialmente excedem o tamanho
máximo do tipo de banco de dados subjacente:

1. Verifique se o banco de dados pode dar suporte à conversão em tipos CLOB


quando em caso de um estouro de concatenação de cadeia de caracteres.
2. Defina a opção TolerateConcatOverflow para Odbc.DataSource como true .

7 Observação

Atualmente, a função DAX CONCATENATE não tem suporte nas extensões Power
Query/ODBC. Os autores da extensão devem garantir que a concatenação de
cadeia de caracteres funcione por meio do editor de consultas adicionando colunas
calculadas ( [stringCol1] & [stringCol2] ). Quando a capacidade de dobrar a
operação CONCATENATE for adicionada no futuro, ela deverá funcionar
perfeitamente com extensões existentes.
Tratamento de caminho de recurso
Artigo • 05/10/2023

O mecanismo da M identifica uma fonte de dados usando uma combinação de seu Tipo
e Caminho. Quando uma fonte de dados é encontrada durante uma avaliação de
consulta, o mecanismo M tenta encontrar credenciais correspondentes. Se nenhuma
credencial for encontrada, o mecanismo retornará um erro especial que resultará em um
prompt de credenciais no Power Query.

O valor Kind vem da definição do Tipo de Fonte de Dados.

O valor Path é derivado dos parâmetros necessários da função da fonte de dados.


Parâmetros opcionais não são levados em conta no identificador do caminho da fonte
de dados. Assim, todas as funções da fonte de dados associadas a um tipo de fonte de
dados devem ter os mesmos parâmetros. Há tratamento especial para funções que têm
um único parâmetro do tipo Uri.Type . Acesse Funções com um parâmetro URI para
obter detalhes.

Você pode ver um exemplo de como as credenciais são armazenadas na caixa de


diálogo Configurações da fonte de dados no Power BI Desktop. Nessa caixa de diálogo,
o Tipo é representado por um ícone e o valor Caminho é exibido como texto.
7 Observação

Se você alterar os parâmetros necessários da sua função da fonte de dados durante


o desenvolvimento, as credenciais armazenadas anteriormente deixarão de
funcionar (porque os valores de caminho não correspondem mais). Você deve
excluir todas as credenciais armazenadas sempre que alterar os parâmetros da
função da fonte de dados. Se forem encontradas credenciais incompatíveis, você
poderá receber um erro em runtime.

Formato do caminho da fonte de dados


O valor Path de uma fonte de dados é derivado dos parâmetros necessários da função
da fonte de dados. Os parâmetros necessários podem ser excluídos do caminho
adicionando DataSource.Path = false aos metadados da função. Para obter mais
informações, acesse Excluindo parâmetros necessários do caminho da sua fonte de
dados.

Por padrão, você pode ver o valor real da cadeia de caracteres na caixa de diálogo
Configurações da fonte de dados no Power BI Desktop e no prompt de credenciais. Se
a definição do Tipo de Fonte de Dados tiver incluído um valor Label , então você verá o
valor do rótulo.

Por exemplo, a função da fonte de dados no exemplo HelloWorldWithDocs tem a


seguinte assinatura:

Power Query M

HelloWorldWithDocs.Contents = (message as text, optional count as number) as


table => ...

A função tem um único parâmetro necessário ( message ) do tipo text , e é usado para
calcular o caminho da fonte de dados. O parâmetro opcional ( count ) é ignorado. O
caminho seria exibido da seguinte maneira:

Solicitação de credenciais
Interface do usuário das configurações da fonte de dados

Quando um valor Label é definido, o valor do caminho da fonte de dados não é


mostrado:
7 Observação

Atualmente, recomendamos que você não inclua um Rótulo para sua fonte de
dados se sua função tiver parâmetros necessários, pois os usuários não poderão
distinguir entre as diferentes credenciais inseridas. Esperamos melhorar isso no
futuro (ou seja, permitir que os conectores de dados exibam seus próprios
caminhos de fonte de dados personalizados).

Exclusão de parâmetros necessários do caminho da fonte


de dados
Se você quiser que um parâmetro de função seja obrigatório, mas que não seja incluído
como parte do caminho da fonte de dados, poderá adicionar DataSource.Path = false
aos metadados da função documentation. Essa propriedade pode ser adicionada a um
ou mais parâmetros em sua função. Esse campo remove o valor do caminho da fonte de
dados (o que significa que ele não é mais passado para sua função TestConnection ),
portanto, ele deve ser usado apenas para parâmetros que não são necessários para
identificar sua fonte de dados ou distinguir entre as credenciais do usuário.

Por exemplo, o conector no exemplo HelloWorldWithDocs exigiria credenciais


diferentes para valores diferentes de message . Adicionar DataSource.Path = false ao
parâmetro message o removeria do cálculo do caminho da fonte de dados, tornando
efetivamente o conector um "singleton". Todas as chamadas para
HelloWorldWithDocs.Contents são tratadas como a mesma fonte de dados, e o usuário

fornece credenciais apenas uma vez.

Power Query M

HelloWorldType = type function (


message as (type text meta [
DataSource.Path = false,
Documentation.FieldCaption = "Message",
Documentation.FieldDescription = "Text to display",
Documentation.SampleValues = {"Hello world", "Hola mundo"}
]),
optional count as (type number meta [
Documentation.FieldCaption = "Count",
Documentation.FieldDescription = "Number of times to repeat the
message",
Documentation.AllowedValues = { 1, 2, 3 }
]))
as table meta [
Documentation.Name = "Hello - Name",
Documentation.LongDescription = "Hello - Long Description",
Documentation.Examples = {[
Description = "Returns a table with 'Hello world' repeated 2
times",
Code = "HelloWorldWithDocs.Contents(""Hello world"", 2)",
Result = "#table({""Column1""}, {{""Hello world""}, {""Hello
world""}})"
],[
Description = "Another example, new message, new count!",
Code = "HelloWorldWithDocs.Contents(""Goodbye"", 1)",
Result = "#table({""Column1""}, {{""Goodbye""}})"
]}
];

Funções com um parâmetro de URI


Como as fontes de dados com um identificador baseado em URI são tão comuns, há um
tratamento especial na interface do usuário do Power Query ao lidar com caminhos de
fonte de dados baseados em URI. Quando uma fonte de dados baseada em URI é
encontrada, a caixa de diálogo de credenciais fornece uma lista suspensa, que permite
ao usuário selecionar o caminho base em vez do caminho completo (e todos os
caminhos intermediários).
Assim como Uri.Type é um tipo atribuído em vez de um tipo primitivo na linguagem M,
você precisará usar a função Value.ReplaceType para indicar que o parâmetro de texto
deve ser tratado como um URI.

Power Query M

shared GithubSample.Contents = Value.ReplaceType(Github.Contents, type


function (url as Uri.type) as any);
Paginamento
Artigo • 23/03/2023

As APIs REST normalmente têm algum mecanismo para transmitir grandes volumes de
registros divididos em páginas de resultados. O Power Query tem a flexibilidade de dar
suporte a vários mecanismos de paginação. No entanto, como cada mecanismo de
paginação é diferente, é provável que seja necessária alguma modificação nos exemplos
de paginação para se ajustarem à sua situação.

Padrões típicos
O trabalho pesado de compilação de todos os resultados da página em uma única
tabela é executado pela função auxiliar Table.GenerateByPage(), que geralmente pode
ser usada sem modificação. Os snippets de código apresentados na seção
Table.GenerateByPage() da função auxiliar descrevem como implementar alguns

padrões comuns de paginação. Independentemente do padrão, você precisará


entender:

1. Como você solicita a próxima página de dados?


2. O mecanismo de paginação envolve o cálculo de valores ou você extrai a URL para
a próxima página da resposta?
3. Como você sabe quando parar a paginação?
4. Há parâmetros relacionados à paginação (como "tamanho da página") que você
deve estar ciente?
Tratar transformações
Artigo • 23/03/2023

Nas situações em que a resposta da fonte de dados não é apresentada em um formato


que o Power BI consegue consumir diretamente, o Power Query pode ser usado para
executar uma série de transformações.

Transformações estáticas
Na maioria dos casos, os dados são apresentados de forma consistente pela fonte de
dados: nomes de coluna, tipos de dados e estrutura hierárquica são consistentes para
um determinado ponto de extremidade. Nessa situação, sempre é apropriado aplicar o
mesmo conjunto de transformações para obter dados em um formato que o Power BI
aceita.

Um exemplo de transformação estática pode ser encontrado no tutorial Parte 2 do


TripPin – Conector de dados para um serviço REST quando a fonte de dados é tratada
como um serviço REST padrão:

Power Query M

let
Source =
TripPin.Feed("https://services.odata.org/v4/TripPinService/Airlines"),
value = Source[value],
toTable = Table.FromList(value, Splitter.SplitByNothing(), null, null,
ExtraValues.Error),
expand = Table.ExpandRecordColumn(toTable, "Column1", {"AirlineCode",
"Name"}, {"AirlineCode", "Name"})
in
expand

As transformações neste exemplo são:

1. Source é um registro retornado de uma chamada para TripPin.Feed(...) .


2. O valor é extraído de um dos pares de valores-chave de Source . O nome da chave
é value , e o resultado é armazenado em uma variável chamada value .
3. value é uma lista, que é convertida em uma tabela. Cada elemento em value
torna-se uma linha na tabela, que pode se chamar toTable .
4. Cada elemento em value é um Registro. toTable tem tudo isso em uma única
coluna: "Column1" . Essa etapa traz todos os dados com a chave "AirlineCode" em
uma coluna chamada "AirlineCode" , e todos os dados com a chave "Name" em
uma coluna chamada "Name" , para cada linha em toTable . "Column1" é substituído
por essas duas novas colunas.

No final, o resultado são dados em um formato tabular simples que o Power BI pode
consumir e renderizar facilmente:

É importante observar que uma sequência de transformações estáticas dessa


especificidade é aplicável apenas a um único ponto de extremidade. No exemplo acima,
essa sequência de transformações funcionará somente se "AirlineCode" e "Name"
existirem na resposta do ponto de extremidade da REST, pois são codificadas no código
M. Portanto, essa sequência de transformações pode não funcionar se você tentar
alcançar o ponto de extremidade /Event .

Esse alto nível de especificidade pode ser necessário para enviar dados para uma tabela
de navegação, mas para funções de acesso a dados mais gerais, recomenda-se executar
apenas as transformações apropriadas para todos os pontos de extremidade.

7 Observação

Lembre-se de testar as transformações em uma variedade de circunstâncias de


dados. Se o usuário não tiver dados no ponto de extremidade /airlines , as
transformações resultarão em uma tabela vazia com o esquema correto? Ou
ocorrerá um erro durante a avaliação? Consulte a Parte 7 do TripPin: Esquema
avançado com tipos M para analisar uma discussão sobre os testes unitários.

Transformações dinâmicas
Às vezes, é necessária uma lógica mais complexa para converter respostas de API em
formas estáveis e consistentes, apropriadas para modelos de dados do Power BI.

Respostas inconsistentes de API


Geralmente os fluxos de controle M básicos (se forem instruções, códigos de status
HTTP, blocos de try... catch etc) são suficientes para administrar situações em que há
muitas maneiras pelas quais a API responde.
Como determinar o esquema em tempo real
Algumas APIs foram projetadas de modo que várias informações devem ser combinadas
para obter o formato tabular correto. Analise a /sheets resposta do ponto de
extremidade do Smartsheet que contém uma matriz de nomes de coluna e uma
matriz de linhas de dados. O conector do Smartsheet consegue analisar essa resposta
da seguinte maneira:

Power Query M

raw = Web.Contents(...),
columns = raw[columns],
columnTitles = List.Transform(columns, each [title]),
columnTitlesWithRowNumber = List.InsertRange(columnTitles, 0,
{"RowNumber"}),

RowAsList = (row) =>


let
listOfCells = row[cells],
cellValuesList = List.Transform(listOfCells, each if
Record.HasFields(_, "value") then [value]
else null),
rowNumberFirst = List.InsertRange(cellValuesList, 0,
{row[rowNumber]})
in
rowNumberFirst,

listOfRows = List.Transform(raw[rows], each RowAsList(_)),


result = Table.FromRows(listOfRows, columnTitlesWithRowNumber)

1. Primeiro, trate as informações de cabeçalho de coluna. É possível trazer o registro


title de cada coluna para dentro de uma lista, usando como prefixo a coluna

RowNumber , que sempre estará representada como a primeira coluna.


2. Em seguida, é possível definir uma função que permita analisar uma linha em uma
lista de células value . Novamente, é possível prefixar a informação rowNumber .
3. Aplique a função RowAsList() a cada um dos row retornados na resposta da API.
4. Converta a lista em uma tabela especificando os cabeçalhos de coluna.
Manipular esquema
Artigo • 05/10/2023

Dependendo da fonte de dados, as informações sobre tipos de dados e nomes de


colunas podem ou não ser fornecidas explicitamente. As APIs REST do OData
normalmente lidam com isso usando a definição de $metadata , e o método
OData.Feed do Power Query manipula automaticamente a análise dessas informações e
a aplicação aos dados retornados de uma fonte OData.

Muitas APIs REST não têm uma maneira de determinar programaticamente seu
esquema. Nesses casos, você precisará incluir uma definição de esquema no conector.

Abordagem simples codificada


A abordagem mais simples é codificar uma definição de esquema em seu conector. Isso
é suficiente para a maioria dos casos de uso.

No geral, a imposição de um esquema nos dados retornados pelo conector tem vários
benefícios, como:

Definir os tipos de dados corretos.


Remover colunas que não precisam ser mostradas aos usuários finais (como IDs
internas ou informações de estado).
Garantir que cada página de dados tenha a mesma forma adicionando todas as
colunas que possam estar ausentes em uma resposta (as APIs REST geralmente
indicam que os campos devem ser nulos ao omiti-los inteiramente).

Exibir o esquema existente com Table.Schema


Considere o seguinte código que retorna uma tabela simples do serviço de exemplo
TripPin OData :

Power Query M

let
url = "https://services.odata.org/TripPinWebApiService/Airlines",
source = Json.Document(Web.Contents(url))[value],
asTable = Table.FromRecords(source)
in
asTable
7 Observação

TripPin é uma fonte do OData; portanto, praticamente, faria mais sentido usar
apenas o tratamento automático de esquema da função OData.Feed . Neste
exemplo, você tratará a origem como uma API REST típica e usará Web.Contents
para demonstrar a técnica de codificação manual de um esquema.

Esta tabela é o resultado:

Você pode usar a função útil Table.Schema para verificar o tipo de dados das colunas:

Power Query M

let
url = "https://services.odata.org/TripPinWebApiService/Airlines",
source = Json.Document(Web.Contents(url))[value],
asTable = Table.FromRecords(source)
in
Table.Schema(asTable)

O Código de Companhia Aérea e o Nome são do tipo any . Table.Schema retorna muitos
metadados sobre as colunas em uma tabela, incluindo nomes, posições, informações de
tipo e muitas propriedades avançadas, como Precisão, Escala e Tamanho máximo. Por
enquanto, você só deve se preocupar com o tipo atribuído ( TypeName ), o tipo primitivo
( Kind ) e se o valor da coluna pode ser nulo ( IsNullable ).

Definir uma tabela de esquema simples


Sua tabela de esquema será composta por duas colunas:

Column Detalhes

Nome O nome da coluna. Isso deve corresponder ao nome nos resultados retornados pelo
serviço.
Column Detalhes

Tipo O tipo de dados da linguagem M que você vai definir. Pode ser um tipo primitivo
(texto, número, datetime e assim por diante) ou um tipo inscrito (Int64.Type,
Currency.Type e assim por diante).

A tabela de esquema codificada para a tabela Airlines definirá suas colunas


AirlineCode e Name como text e terá esta aparência:

Power Query M

Airlines = #table({"Name", "Type"}, {


{"AirlineCode", type text},
{"Name", type text}
})

Ao olhar para alguns dos outros pontos de extremidade, considere as seguintes tabelas
de esquema:

A tabela Airports tem quatro campos que você deseja manter (incluindo um do tipo
record ):

Power Query M

Airports = #table({"Name", "Type"}, {


{"IcaoCode", type text},
{"Name", type text},
{"IataCode", type text},
{"Location", type record}
})

A tabela People tem sete campos, incluindo list s ( Emails , AddressInfo ), uma coluna
anulável ( Gender ) e uma coluna com um tipo inscrito ( Concurrency ):

Power Query M

People = #table({"Name", "Type"}, {


{"UserName", type text},
{"FirstName", type text},
{"LastName", type text},
{"Emails", type list},
{"AddressInfo", type list},
{"Gender", type nullable text},
{"Concurrency", Int64.Type}
})
Você pode colocar todas essas tabelas em uma única tabela de esquema mestre
SchemaTable :

Power Query M

SchemaTable = #table({"Entity", "SchemaTable"}, {


{"Airlines", Airlines},
{"Airports", Airports},
{"People", People}
})

A função auxiliar SchemaTransformTable


A SchemaTransformTable função auxiliar descrita abaixo será usada para impor esquemas
em seus dados. Ele usa os seguintes parâmetros:

Parâmetro Type Descrição

tabela tabela A tabela de dados em que você deseja impor o esquema.

esquema tabela A tabela de esquema da qual ler as informações da coluna, com o


seguinte tipo: type table [Name = text, Type = type] .

enforceSchema number (opcional) Uma enumeração que controla o comportamento da


função.
O valor padrão ( EnforceSchema.Strict = 1 ) garante que a tabela de
saída corresponda à tabela de esquema fornecida adicionando
colunas ausentes e removendo colunas extras.
A opção EnforceSchema.IgnoreExtraColumns = 2 pode ser usada para
preservar colunas extras no resultado.
Quando EnforceSchema.IgnoreMissingColumns = 3 for usado, as
colunas ausentes e as colunas extras serão ignoradas.

A lógica para essa função tem esta aparência:

1. Determinar se há colunas ausentes na tabela de origem.


2. Determine se há colunas extras.
3. Ignore colunas estruturadas (do tipo list , record e table ) e colunas definidas
como tipo any .
4. Use Table.TransformColumnTypes para definir cada tipo de coluna.
5. Reordene colunas com base na ordem em que aparecem na tabela de esquema.
6. Defina o tipo na própria tabela usando Value.ReplaceType.

7 Observação

A última etapa para definir o tipo de tabela removerá a necessidade de a interface


do usuário do Power Query inferir informações de tipo ao exibir os resultados no
editor de consultas, o que às vezes pode resultar em uma chamada dupla para a
API.

Como reunir tudo


No contexto maior de uma extensão completa, o tratamento de esquema ocorrerá
quando uma tabela for retornada da API. Normalmente, essa funcionalidade ocorre no
nível mais baixo da função de paginação (se existir), com informações de entidade
passadas de uma tabela de navegação.

Como grande parte da implementação de tabelas de paginação e navegação é


específica do contexto, o exemplo completo da implementação de um mecanismo de
tratamento de esquema codificado não será mostrado aqui. Este exemplo do TripPin
demonstra como uma solução de ponta a ponta pode parecer.

Abordagem sofisticada
A implementação codificada discutida acima faz um bom trabalho de garantir que os
esquemas permaneçam consistentes para respostas JSON simples, mas está limitada à
análise do primeiro nível da resposta. Conjuntos de dados profundamente aninhados se
beneficiariam da abordagem a seguir, que aproveita os Tipos M.

Aqui está uma atualização rápida sobre os tipos na linguagem M da Especificação de


linguagem:

Um valor de tipo é um valor que classifica outros valores. Um valor classificado por
um tipo obedece a esse tipo. O sistema de tipos de M é composto pelas seguintes
categorias de tipos:

Tipos primitivos, que classificam valores primitivos ( binary , date , datetime ,


datetimezone , duration , list , logical , null , number , record , text , time ,
type ) e incluem alguns tipos abstratos ( function , table , any e none ).

Tipos de registro, que classificam valores de registro com base em nomes de


campo e em tipos de valor.
Tipos de lista, que classificam listas usando apenas um tipo de base de item.
Função types, que classifica valores de função com base nos tipos de seus
parâmetros e valores de retorno.
Tipos de tabela, que classificam valores de tabela com base em nomes de
coluna, tipos de coluna e chaves.
Tipos anuláveis, que classificam o valor nulo além de todos os valores
classificados por um tipo base.
Tipos de tipo, que classificam valores que são tipos.

Usando a saída JSON bruta que você obtém (e/ou pesquisando as definições no
$metadata do serviço ), você pode definir os seguintes tipos de registro para
representar tipos complexos OData:

Power Query M

LocationType = type [
Address = text,
City = CityType,
Loc = LocType
];

CityType = type [
CountryRegion = text,
Name = text,
Region = text
];

LocType = type [
#"type" = text,
coordinates = {number},
crs = CrsType
];

CrsType = type [
#"type" = text,
properties = record
];

Observe como LocationType faz referência a CityType e LocType para representar suas
colunas estruturadas.

Para as entidades de nível superior que você deseja representar como Tabelas, é
possível definir tipos de tabela:
Power Query M

AirlinesType = type table [


AirlineCode = text,
Name = text
];
AirportsType = type table [
Name = text,
IataCode = text,
Location = LocationType
];
PeopleType = type table [
UserName = text,
FirstName = text,
LastName = text,
Emails = {text},
AddressInfo = {nullable LocationType},
Gender = nullable text,
Concurrency Int64.Type
];

Em seguida, é possível atualizar sua variável SchemaTable (que você pode usar como uma
tabela de pesquisa para mapeamentos de entidade para tipo) para usar essas novas
definições de tipo:

Power Query M

SchemaTable = #table({"Entity", "Type"}, {


{"Airlines", AirlinesType},
{"Airports", AirportsType},
{"People", PeopleType}
});

Você pode contar com uma função comum (Table.ChangeType) para impor um esquema
em seus dados, assim como você usou SchemaTransformTable no exercício anterior. Ao
contrário de SchemaTransformTable , Table.ChangeType usa um tipo de tabela M real
como um argumento e aplicará seu esquema recursivamente em todos os tipos
aninhados. Sua assinatura é:

Power Query M

Table.ChangeType = (table, tableType as type) as nullable table => ...

7 Observação
Para obter flexibilidade, a função pode ser usada em tabelas e em listas de registros
(que é como as tabelas são representadas em um documento JSON).

Em seguida, você precisará atualizar o código do conector para alterar o parâmetro


schema de um table para um type e adicionar uma chamada a Table.ChangeType .

Novamente, os detalhes para fazer isso são muito específicos da implementação e,


portanto, não vale a pena entrar em detalhes aqui. Este exemplo de conector TripPin
estendido demonstra uma solução de ponta a ponta implementando essa abordagem
mais sofisticada para lidar com o esquema.
Tratamento de código de status com
Web.Contents
Artigo • 05/10/2023

A função Web.Contents tem algumas funcionalidades internas para tratar determinados


códigos de status de HTTP. O comportamento padrão pode ser substituído na extensão
usando o campo ManualStatusHandling no registro de opções.

A repetição automática
Web.Contents repetirá automaticamente as solicitações que falharem com um dos
seguintes códigos de status:

Código Status

408 Tempo Limite da Solicitação

429 Número Excessivo de Solicitações

503 Serviço indisponível

504 Tempo Limite do Gateway

509 Limite de Largura de Banda Excedido

As solicitações serão repetidas até três vezes antes de falhar. O mecanismo usa um
algoritmo de back-off exponencial para determinar quanto tempo deve aguardar até a
próxima repetição, a menos que a resposta contenha um cabeçalho Retry-after .
Quando o cabeçalho é encontrado, o mecanismo aguarda o número especificado de
segundos antes da próxima repetição. O tempo mínimo de espera suportado é de 0,5
segundos, e o valor máximo é de 120 segundos.

7 Observação

O valor Retry-after deve estar no formato delta-seconds . O formato HTTP-date


não é suportado no momento.

Exceções de autenticação
Os códigos de status a seguir resultarão em uma exceção de credenciais, causando um
prompt de autenticação solicitando que o usuário forneça credenciais (ou entre
novamente no caso de um token OAuth expirado).

Código Status

401 Não Autorizado

403 Proibido

7 Observação

As extensões podem usar a opção ManualStatusHandling com os códigos de status


401 e 403, o que não é algo que pode ser feito em chamadas Web.Contents feitas
fora de um conector de dados personalizado (ou seja, diretamente do Power
Query).

Redirecionamento
Os seguintes códigos de status resultarão em um redirecionamento automático para o
URI especificado no cabeçalho Location . A falta do cabeçalho Location resultará em
um erro.

Código Status

300 Várias opções

301 Movido Permanentemente

302 Encontrado

303 Ver outro

307 Redirecionamento Temporário

7 Observação

Somente o código de status 307 manterá um método de solicitação POST . Todos os


outros códigos de status de redirecionamento resultarão em uma mudança para
GET .
Padrão de esperar e tentar novamente
Artigo • 23/03/2023

Em algumas situações, o comportamento de uma fonte de dados não corresponde ao


esperado pelo tratamento de código HTTP padrão do Power Query. Os exemplos abaixo
mostram como contornar essa situação.

Nesse cenário, você trabalhará com uma API REST que ocasionalmente retorna um
código de status 500, indicando um erro interno do servidor. Nesses casos, você pode
esperar alguns segundos e tentar novamente, potencialmente algumas vezes antes de
desistir.

ManualStatusHandling
Se Web.Contents obtém uma resposta de código de status de 500, ela gera
DataSource.Error por padrão. Você pode substituir esse comportamento ao fornecer

uma lista de códigos como um argumento opcional para Web.Contents :

response = Web.Contents(url, [ManualStatusHandling={404, 500}])

Ao especificar os códigos de status dessa forma, o Power Query continuará processando


a resposta da Web normalmente. No entanto, o processamento de resposta normal
geralmente não é apropriado nesses casos. Você precisará entender que um código de
resposta anormal foi recebido e executar uma lógica especial para lidar com ele. Para
determinar o código de resposta retornado do serviço Web, você pode acessá-lo no
registro meta que acompanha a resposta:

responseCode = Value.Metadata(response)[Response.Status]

Considerando que responseCode é 200 ou 500, você pode processar o resultado


normalmente ou seguir sua lógica de repetição de espera que você criará na próxima
seção.

IsRetry
O Power Query tem um cache local que armazena os resultados de chamadas anteriores
para Web.Contents. Ao sondar a mesma URL para uma nova resposta ou ao tentar
novamente após um status de erro, você precisará garantir que a consulta ignore os
resultados armazenados em cache. Você pode fazer isso incluindo a opção IsRetry na
chamada para a função Web.Contents . Neste exemplo, definiremos IsRetry como true
após a primeira iteração do loop Value.WaitFor .

Value.WaitFor
Value.WaitFor() é uma função auxiliar padrão que geralmente pode ser usada sem

modificação. Ela cria uma lista de tentativas de repetição.

Argumento producer
Isso contém a tarefa a ser (possivelmente) repetida novamente. É representada como
uma função para que o número de iteração possa ser usado na lógica producer . O
comportamento esperado producer retornará null se uma nova tentativa for
determinada como necessária. Se algo diferente de null for retornado por producer ,
esse valor será retornado por Value.WaitFor .

Argumento delay
Contém a lógica a ser executada entre novas tentativas. É representada como uma
função para que o número de iteração possa ser usado na lógica delay . O
comportamento esperado é que delay retorne uma duração.

count Argumento (opcional)

Um número máximo de tentativas pode ser definido fornecendo um número para o


argumento count .

Juntando todas as peças


O exemplo a seguir mostra como ManualStatusHandling e Value.WaitFor podem ser
usados para implementar uma repetição atrasada no caso de uma resposta 500. O
tempo de espera entre novas tentativas é duplo com cada tentativa, com no máximo
cinco tentativas.
let
waitForResult = Value.WaitFor(
(iteration) =>
let
result = Web.Contents(url, [ManualStatusHandling = {500},
IsRetry = iteration > 0]),
status = Value.Metadata(result)[Response.Status],
actualResult = if status = 500 then null else result
in
actualResult,
(iteration) => #duration(0, 0, 0, Number.Power(2, iteration)),
5)
in
if waitForResult = null then
error "Value.WaitFor() Failed after multiple retry attempts"
else
waitForResult
Tratamento de testes unitários
Artigo • 05/10/2023

Os testes unitários de conectores simples e complexos são uma melhor prática e é


altamente recomendado.

O teste unitário é realizado no contexto do SDK de Power Query do Visual Studio.


Cada teste é definido como um Fact que tem um nome, um valor esperado e um valor
real. Na maioria dos casos, o "valor real" será uma expressão M que testa parte da
expressão.

Considere uma extensão muito simples que exporta três funções:

Power Query M

section Unittesting;

shared UnitTesting.ReturnsABC = () => "ABC";


shared UnitTesting.Returns123 = () => "123";
shared UnitTesting.ReturnTableWithFiveRows = () =>
Table.Repeat(#table({"a"},{{1}}),5);

Esse código de teste unitário é composto por vários Fatos e vários códigos comuns para
a estrutura de teste unitário ( ValueToText , Fact , Facts , Facts.Summarize ). O seguinte
código fornece um conjunto de exemplos de fatos (acesse UnitTesting.query.pq para
o código comum):

Power Query M

section UnitTestingTests;

shared MyExtension.UnitTest =
[
// Put any common variables here if you only want them to be evaluated
once

// Fact(<Name of the Test>, <Expected Value>, <Actual Value>)


facts =
{
Fact("Check that this function returns 'ABC'", // name of the test
"ABC", // expected value
UnitTesting.ReturnsABC() // expression to
evaluate (let or single statement)
),
Fact("Check that this function returns '123'",
"123",
UnitTesting.Returns123()
),
Fact("Result should contain 5 rows",
5,
Table.RowCount(UnitTesting.ReturnTableWithFiveRows())
),
Fact("Values should be equal (using a let statement)",
"Hello World",
let
a = "Hello World"
in
a
)
},
report = Facts.Summarize(facts)
][report];

A execução do exemplo no Visual Studio avaliará todos os Fatos e fornecerá um resumo


visual das taxas de aprovação:

A implementação dos testes unitários no início do processo de desenvolvimento do


conector permite que você siga os princípios do desenvolvimento orientado por testes.
Imagine que você precisa escrever uma função chamada Uri.GetHost que retorna
apenas os dados do host de um URI. Você pode começar escrevendo um caso de teste
para verificar se a função executa adequadamente a função esperada:

Power Query M

Fact("Returns host from URI",


"https://bing.com",
Uri.GetHost("https://bing.com/subpath/query?param=1&param2=hello")
),
Fact("Handles port number appropriately",
"https://bing.com:8080",
Uri.GetHost("https://bing.com:8080/subpath/query?param=1&param2=hello")
)
Testes adicionais podem ser gravados para garantir que a função manipule
adequadamente os casos extremos.

Uma versão inicial da função pode passar em alguns, mas não em todos os testes:

Power Query M

Uri.GetHost = (url) =>


let
parts = Uri.Parts(url)
in
parts[Scheme] & "://" & parts[Host]

A versão final da função deve passar em todos os testes unitários. Isso também ajuda a
garantir que atualizações futuras da função não removam acidentalmente nenhuma de
suas funcionalidades básicas.
Funções auxiliares
Artigo • 23/03/2023

Este tópico inclui várias funções auxiliares comumente usadas em extensões M. Essas
funções podem eventualmente ser transferidas para a biblioteca oficial M, mas por
enquanto podem ser copiadas para o código de arquivo de extensão. Não marque
nenhuma dessas funções como shared dentro do código de extensão.

Tabelas de navegação

Table.ToNavigationTable
Essa função adiciona os metadados de tipo de tabela necessários para que sua extensão
retorne um valor de tabela que Power Query possa reconhecer como Árvore de
Navegação. Consulte as Tabelas de Navegação para obter mais informações.

Power Query M

Table.ToNavigationTable = (
table as table,
keyColumns as list,
nameColumn as text,
dataColumn as text,
itemKindColumn as text,
itemNameColumn as text,
isLeafColumn as text
) as table =>
let
tableType = Value.Type(table),
newTableType = Type.AddTableKey(tableType, keyColumns, true) meta
[
NavigationTable.NameColumn = nameColumn,
NavigationTable.DataColumn = dataColumn,
NavigationTable.ItemKindColumn = itemKindColumn,
Preview.DelayColumn = itemNameColumn,
NavigationTable.IsLeafColumn = isLeafColumn
],
navigationTable = Value.ReplaceType(table, newTableType)
in
navigationTable;

Parâmetro Detalhes

tabela Sua tabela de navegação.


Parâmetro Detalhes

keyColumns Lista de nomes de coluna que atuam como chave primária na sua tabela de
navegação.

nameColumn Nome da coluna que deve ser usada como o nome de exibição no
navegador.

dataColumn Nome da coluna que contém a tabela ou a função exibida.

itemKindColumn Nome da coluna usada para determinar o tipo de ícone a ser exibido. Os
valores válidos para a coluna estão listados no artigo Manipulando
navegação.

itemNameColumn O nome da coluna usada para determinar o tipo de ícone exibido. Os valores
válidos para a coluna são Table e Function .

isLeafColumn O nome da coluna usada para determinar se esse é um nó folha ou se o nó


pode ser expandido para mostrar outra tabela de navegação.

Exemplo de uso:

Power Query M

shared MyExtension.Contents = () =>


let
objects = #table(
{"Name", "Key", "Data",
"ItemKind", "ItemName", "IsLeaf"},{
{"Item1", "item1", #table({"Column1"}, {{"Item1"}}),
"Table", "Table", true},
{"Item2", "item2", #table({"Column1"}, {{"Item2"}}),
"Table", "Table", true},
{"Item3", "item3", FunctionCallThatReturnsATable(),
"Table", "Table", true},
{"MyFunction", "myfunction", AnotherFunction.Contents(),
"Function", "Function", true}
}),
NavTable = Table.ToNavigationTable(objects, {"Key"}, "Name", "Data",
"ItemKind", "ItemName", "IsLeaf")
in
NavTable;

Manipulação de URI

Uri.FromParts
Essa função constrói uma URL completa baseando-se em campos individuais no
registro. Ela atua como o inverso de Uri.Parts.

Power Query M

Uri.FromParts = (parts) =>


let
port = if (parts[Scheme] = "https" and parts[Port] = 443) or
(parts[Scheme] = "http" and parts[Port] = 80) then "" else ":" &
Text.From(parts[Port]),
div1 = if Record.FieldCount(parts[Query]) > 0 then "?" else "",
div2 = if Text.Length(parts[Fragment]) > 0 then "#" else "",
uri = Text.Combine({parts[Scheme], "://", parts[Host], port,
parts[Path], div1, Uri.BuildQueryString(parts[Query]), div2,
parts[Fragment]})
in
uri;

Uri.GetHost
Essa função retorna o esquema, o host e a porta padrão (para HTTP/HTTPS) para uma
determinada URL. Por exemplo, https://bing.com/subpath/query?param=1&param2=hello
se tornaria https://bing.com:443 .

Isso é particularmente útil para construção ResourcePath .

Power Query M

Uri.GetHost = (url) =>


let
parts = Uri.Parts(url),
port = if (parts[Scheme] = "https" and parts[Port] = 443) or
(parts[Scheme] = "http" and parts[Port] = 80) then "" else ":" &
Text.From(parts[Port])
in
parts[Scheme] & "://" & parts[Host] & port;

ValidateUrlScheme
Essa função verifica se o usuário inseriu uma URL HTTPS e gera um erro, caso não tenha
inserido. Isso é necessário para as URLs inseridas pelo usuário para conectores
certificados.

Power Query M
ValidateUrlScheme = (url as text) as text => if (Uri.Parts(url)[Scheme] <>
"https") then error "Url scheme must be HTTPS" else url;

Para aplicá-la, basta encapsular o parâmetro url na função de acesso a dados.

Power Query M

DataAccessFunction = (url as text) as table =>


let
_url = ValidateUrlScheme(url),
source = Web.Contents(_url)
in
source;

Recuperando dados

Value.WaitFor
Essa função é útil ao fazer uma solicitação HTTP assíncrona. Você precisa sondar o
servidor até que a solicitação seja concluída.

Power Query M

Value.WaitFor = (producer as function, interval as function, optional count


as number) as any =>
let
list = List.Generate(
() => {0, null},
(state) => state{0} <> null and (count = null or state{0} <
count),
(state) => if state{1} <> null then {null, state{1}} else {1 +
state{0}, Function.InvokeAfter(() => producer(state{0}),
interval(state{0}))},
(state) => state{1})
in
List.Last(list);

Table.GenerateByPage
Essa função é usada quando uma API retorna dados em um formato incremental/paged,
o que é comum para muitas APIs REST. O argumento getNextPage é uma função que
usa um único parâmetro, que será o resultado da chamada anterior para getNextPage e
deve retornar um nullable table .
Power Query M

getNextPage = (lastPage) as nullable table => ...`

getNextPage é chamado repetidamente até retornar null . A função agrupa todas as

páginas em uma única tabela. Quando o resultado da primeira chamada para


getNextPage é nulo, uma tabela vazia é retornada.

Power Query M

// The getNextPage function takes a single argument and is expected to


return a nullable table
Table.GenerateByPage = (getNextPage as function) as table =>
let
listOfPages = List.Generate(
() => getNextPage(null), // get the first page of
data
(lastPage) => lastPage <> null, // stop when the function
returns null
(lastPage) => getNextPage(lastPage) // pass the previous page to
the next function call
),
// concatenate the pages together
tableOfPages = Table.FromList(listOfPages,
Splitter.SplitByNothing(), {"Column1"}),
firstRow = tableOfPages{0}?
in
// if we didn't get back any pages of data, return an empty table
// otherwise set the table type based on the columns of the first
page
if (firstRow = null) then
Table.FromRows({})
// check for empty first table
else if (Table.IsEmpty(firstRow[Column1])) then
firstRow[Column1]
else
Value.ReplaceType(
Table.ExpandTableColumn(tableOfPages, "Column1",
Table.ColumnNames(firstRow[Column1])),
Value.Type(firstRow[Column1])
);

Observações adicionais:

A função getNextPage precisará recuperar a URL da próxima página (ou número de


página ou quaisquer outros valores usados para implementar a lógica de
paginação). Isso geralmente é feito ao adicionar valores meta à página antes de
devolvê-la.
As colunas e o tipo de tabela da tabela combinada (ou seja, todas as páginas
juntas) são derivadas da primeira página de dados. A função getNextPage deve
normalizar cada página de dados.
A primeira chamada a getNextPage recebe um parâmetro nulo.
getNextPage deve retornar com resultado nulo quando não houver páginas

restantes.

Um exemplo de uso dessa função pode ser encontrado no exemplo do Github e no


exemplo de paginação TripPin.

Power Query M

Github.PagedTable = (url as text) => Table.GenerateByPage((previous) =>


let
// If we have a previous page, get its Next link from metadata on
the page.
next = if (previous <> null) then Value.Metadata(previous)[Next]
else null,
// If we have a next link, use it, otherwise use the original URL
that was passed in.
urlToUse = if (next <> null) then next else url,
// If we have a previous page, but don't have a next link, then
we're done paging.
// Otherwise retrieve the next page.
current = if (previous <> null and next = null) then null else
Github.Contents(urlToUse),
// If we got data back from the current page, get the link for the
next page
link = if (current <> null) then Value.Metadata(current)[Next] else
null
in
current meta [Next=link]);

SchemaTransformTable
Power Query M

EnforceSchema.Strict = 1; // Add any missing columns, remove


extra columns, set table type
EnforceSchema.IgnoreExtraColumns = 2; // Add missing columns, do not
remove extra columns
EnforceSchema.IgnoreMissingColumns = 3; // Do not add or remove columns

SchemaTransformTable = (table as table, schema as table, optional


enforceSchema as number) as table =>
let
// Default to EnforceSchema.Strict
_enforceSchema = if (enforceSchema <> null) then enforceSchema else
EnforceSchema.Strict,
// Applies type transforms to a given table
EnforceTypes = (table as table, schema as table) as table =>
let
map = (t) => if Type.Is(t, type list) or Type.Is(t, type
record) or t = type any then null else t,
mapped = Table.TransformColumns(schema, {"Type", map}),
omitted = Table.SelectRows(mapped, each [Type] <> null),
existingColumns = Table.ColumnNames(table),
removeMissing = Table.SelectRows(omitted, each
List.Contains(existingColumns, [Name])),
primativeTransforms = Table.ToRows(removeMissing),
changedPrimatives = Table.TransformColumnTypes(table,
primativeTransforms)
in
changedPrimatives,

// Returns the table type for a given schema


SchemaToTableType = (schema as table) as type =>
let
toList = List.Transform(schema[Type], (t) => [Type=t,
Optional=false]),
toRecord = Record.FromList(toList, schema[Name]),
toType = Type.ForRecord(toRecord, false)
in
type table (toType),

// Determine if we have extra/missing columns.


// The enforceSchema parameter determines what we do about them.
schemaNames = schema[Name],
foundNames = Table.ColumnNames(table),
addNames = List.RemoveItems(schemaNames, foundNames),
extraNames = List.RemoveItems(foundNames, schemaNames),
tmp = Text.NewGuid(),
added = Table.AddColumn(table, tmp, each []),
expanded = Table.ExpandRecordColumn(added, tmp, addNames),
result = if List.IsEmpty(addNames) then table else expanded,
fullList =
if (_enforceSchema = EnforceSchema.Strict) then
schemaNames
else if (_enforceSchema = EnforceSchema.IgnoreMissingColumns)
then
foundNames
else
schemaNames & extraNames,

// Select the final list of columns.


// These will be ordered according to the schema table.
reordered = Table.SelectColumns(result, fullList,
MissingField.Ignore),
enforcedTypes = EnforceTypes(reordered, schema),
withType = if (_enforceSchema = EnforceSchema.Strict) then
Value.ReplaceType(enforcedTypes, SchemaToTableType(schema)) else
enforcedTypes
in
withType;

Table.ChangeType
Power Query M

let
// table should be an actual Table.Type, or a List.Type of Records
Table.ChangeType = (table, tableType as type) as nullable table =>
// we only operate on table types
if (not Type.Is(tableType, type table)) then error "type argument
should be a table type" else
// if we have a null value, just return it
if (table = null) then table else
let
columnsForType = Type.RecordFields(Type.TableRow(tableType)),
columnsAsTable = Record.ToTable(columnsForType),
schema = Table.ExpandRecordColumn(columnsAsTable, "Value",
{"Type"}, {"Type"}),
previousMeta = Value.Metadata(tableType),

// make sure we have a table


parameterType = Value.Type(table),
_table =
if (Type.Is(parameterType, type table)) then table
else if (Type.Is(parameterType, type list)) then
let
asTable = Table.FromList(table,
Splitter.SplitByNothing(), {"Column1"}),
firstValueType =
Value.Type(Table.FirstValue(asTable, null)),
result =
// if the member is a record (as expected), then
expand it.
if (Type.Is(firstValueType, type record)) then
Table.ExpandRecordColumn(asTable, "Column1",
schema[Name])
else
error Error.Record("Error.Parameter", "table
argument is a list, but not a list of records", [ ValueType = firstValueType
])
in
if (List.IsEmpty(table)) then
#table({"a"}, {})
else result
else
error Error.Record("Error.Parameter", "table argument
should be a table or list of records", [ValueType = parameterType]),

reordered = Table.SelectColumns(_table, schema[Name],


MissingField.UseNull),
// process primitive values - this will call
Table.TransformColumnTypes
map = (t) => if Type.Is(t, type table) or Type.Is(t, type list)
or Type.Is(t, type record) or t = type any then null else t,
mapped = Table.TransformColumns(schema, {"Type", map}),
omitted = Table.SelectRows(mapped, each [Type] <> null),
existingColumns = Table.ColumnNames(reordered),
removeMissing = Table.SelectRows(omitted, each
List.Contains(existingColumns, [Name])),
primativeTransforms = Table.ToRows(removeMissing),
changedPrimatives = Table.TransformColumnTypes(reordered,
primativeTransforms),

// Get the list of transforms we'll use for Record types


recordColumns = Table.SelectRows(schema, each Type.Is([Type],
type record)),
recordTypeTransformations = Table.AddColumn(recordColumns,
"RecordTransformations", each (r) => Record.ChangeType(r, [Type]), type
function),
recordChanges =
Table.ToRows(Table.SelectColumns(recordTypeTransformations, {"Name",
"RecordTransformations"})),

// Get the list of transforms we'll use for List types


listColumns = Table.SelectRows(schema, each Type.Is([Type], type
list)),
listTransforms = Table.AddColumn(listColumns,
"ListTransformations", each (t) => List.ChangeType(t, [Type]),
Function.Type),
listChanges = Table.ToRows(Table.SelectColumns(listTransforms,
{"Name", "ListTransformations"})),

// Get the list of transforms we'll use for Table types


tableColumns = Table.SelectRows(schema, each Type.Is([Type],
type table)),
tableTransforms = Table.AddColumn(tableColumns,
"TableTransformations", each (t) => @Table.ChangeType(t, [Type]),
Function.Type),
tableChanges = Table.ToRows(Table.SelectColumns(tableTransforms,
{"Name", "TableTransformations"})),

// Perform all of our transformations


allColumnTransforms = recordChanges & listChanges &
tableChanges,
changedRecordTypes = if (List.IsEmpty(allColumnTransforms)) then
changedPrimatives else Table.TransformColumns(changedPrimatives,
allColumnTransforms, null, MissingField.Ignore),

// set final type


withType = Value.ReplaceType(changedRecordTypes, tableType)
in
if (List.IsEmpty(Record.FieldNames(columnsForType))) then table
else withType meta previousMeta,
// If given a generic record type (no predefined fields), the original
record is returned
Record.ChangeType = (record as record, recordType as type) =>
let
// record field format is [ fieldName = [ Type = type, Optional
= logical], ... ]
fields = try Type.RecordFields(recordType) otherwise error
"Record.ChangeType: failed to get record fields. Is this a record type?",
fieldNames = Record.FieldNames(fields),
fieldTable = Record.ToTable(fields),
optionalFields = Table.SelectRows(fieldTable, each [Value]
[Optional])[Name],
requiredFields = List.Difference(fieldNames, optionalFields),
// make sure all required fields exist
withRequired = Record.SelectFields(record, requiredFields,
MissingField.UseNull),
// append optional fields
withOptional = withRequired & Record.SelectFields(record,
optionalFields, MissingField.Ignore),
// set types
transforms = GetTransformsForType(recordType),
withTypes = Record.TransformFields(withOptional, transforms,
MissingField.Ignore),
// order the same as the record type
reorder = Record.ReorderFields(withTypes, fieldNames,
MissingField.Ignore)
in
if (List.IsEmpty(fieldNames)) then record else reorder,

List.ChangeType = (list as list, listType as type) =>


if (not Type.Is(listType, type list)) then error "type argument
should be a list type" else
let
listItemType = Type.ListItem(listType),
transform = GetTransformByType(listItemType),
modifiedValues = List.Transform(list, transform),
typed = Value.ReplaceType(modifiedValues, listType)
in
typed,

// Returns a table type for the provided schema table


Schema.ToTableType = (schema as table) as type =>
let
toList = List.Transform(schema[Type], (t) => [Type=t,
Optional=false]),
toRecord = Record.FromList(toList, schema[Name]),
toType = Type.ForRecord(toRecord, false),
previousMeta = Value.Metadata(schema)
in
type table (toType) meta previousMeta,

// Returns a list of transformations that can be passed to


Table.TransformColumns, or Record.TransformFields
// Format: {"Column", (f) => ...) .... ex: {"A", Number.From}
GetTransformsForType = (_type as type) as list =>
let
fieldsOrColumns = if (Type.Is(_type, type record)) then
Type.RecordFields(_type)
else if (Type.Is(_type, type table)) then
Type.RecordFields(Type.TableRow(_type))
else error "GetTransformsForType: record or
table type expected",
toTable = Record.ToTable(fieldsOrColumns),
transformColumn = Table.AddColumn(toTable, "Transform", each
GetTransformByType([Value][Type]), Function.Type),
transformMap = Table.ToRows(Table.SelectColumns(transformColumn,
{"Name", "Transform"}))
in
transformMap,

GetTransformByType = (_type as type) as function =>


if (Type.Is(_type, type number)) then Number.From
else if (Type.Is(_type, type text)) then Text.From
else if (Type.Is(_type, type date)) then Date.From
else if (Type.Is(_type, type datetime)) then DateTime.From
else if (Type.Is(_type, type duration)) then Duration.From
else if (Type.Is(_type, type datetimezone)) then DateTimeZone.From
else if (Type.Is(_type, type logical)) then Logical.From
else if (Type.Is(_type, type time)) then Time.From
else if (Type.Is(_type, type record)) then (t) => if (t <> null)
then @Record.ChangeType(t, _type) else t
else if (Type.Is(_type, type table)) then (t) => if (t <> null) then
@Table.ChangeType(t, _type) else t
else if (Type.Is(_type, type list)) then (t) => if (t <> null) then
@List.ChangeType(t, _type) else t
else (t) => t
in
Table.ChangeType
Adicionando a função documentation
Artigo • 05/10/2023

O Power Query gerará automaticamente uma interface do usuário de invocação para


você com base nos argumentos da função. Por padrão, essa interface do usuário
conterá o nome da função e uma entrada para cada um dos parâmetros.

Da mesma forma, avaliar o nome da função, sem especificar parâmetros, exibirá


informações sobre ela.

Note que as funções internas normalmente fornecem uma melhor experiência do


usuário, com descrições, dicas de ferramenta e até valores de exemplo. Você pode
aproveitar esse mesmo mecanismo definindo meta valores específicos em seu tipo de
função. Este tópico descreve os meta campos usados por Power Query e como você
pode usá-los em suas extensões.
Função Types
Você pode fornecer Documentation para sua função definindo valores type
personalizados. O processo tem a seguinte aparência:

1. Defina um tipo para cada parâmetro.


2. Defina um tipo para sua função.
3. Adicione vários campos Documentation.* ao registro de metadados de tipos.
4. Chame Value.ReplaceType para atribuir o tipo à sua função compartilhada.

Você pode encontrar mais informações sobre tipos e valores de metadados na


Especificação da Linguagem M.

O uso dessa abordagem permite fornecer descrições e exibir nomes para sua função,
bem como parâmetros individuais. Você também pode fornecer valores de exemplo
para parâmetros, bem como definir uma lista predefinida de valores (transformando o
controle da caixa de texto padrão em uma lista suspensa).

A experiência Power Query recupera a documentation de metadados no tipo de sua


função, usando uma combinação de chamadas para Value.Type,
Type.FunctionParameters e Value.Metadata.
Função documentation
A tabela a seguir lista os campos Documentation que podem ser definidos nos
metadados da função. Todos os campos são opcionais.

Campo Tipo Detalhes

Documentation.Examples lista Lista de objetos de registro com o uso de exemplo da


função. Exibido apenas como parte das informações da
função. Cada registro deve conter os seguintes campos
de texto opcionais: Description , Code e Result .

Documentation.LongDescription text Descrição completa do que a função faz, exibida nas


informações da função.

Documentation.Name text Texto a ser exibido na parte superior da caixa de


diálogo de invocação de função.

Parâmetro documentation
A tabela a seguir lista os campos Documentation que podem ser definidos nos
metadados dos parâmetros de função. Todos os campos são opcionais.

Campo Tipo Detalhes

Documentation.AllowedValues lista Lista de valores válidos para esse parâmetro. Desde


que esse campo altere a entrada de uma caixa de
texto para uma lista suspensa. Observe que isso não
impede que um usuário edite manualmente a
consulta para fornecer valores alternativos.

Documentation.FieldCaption text Nome de exibição amigável a ser usado para o


parâmetro.

Documentation.FieldDescription text Descrição para mostrar ao lado do nome de


exibição.

Documentation.SampleValues lista Lista de valores de exemplo a serem exibidos (como


texto desbotado) dentro da caixa de texto.

Formatting.IsMultiLine boolean Permite criar uma entrada de várias linhas, por


exemplo, para colar em consultas nativas.

Formatação.IsCode boolean Formata o campo de entrada para código,


normalmente com entradas de várias linhas. Usa
uma fonte semelhante a código em vez da fonte
padrão.
Exemplo básico
O snippet de código a seguir (e caixas de diálogo resultantes) são da amostra
HelloWorldWithDocs .

Power Query M

[DataSource.Kind="HelloWorldWithDocs", Publish="HelloWorldWithDocs.Publish"]
shared HelloWorldWithDocs.Contents = Value.ReplaceType(HelloWorldImpl,
HelloWorldType);

HelloWorldType = type function (


message as (type text meta [
Documentation.FieldCaption = "Message",
Documentation.FieldDescription = "Text to display",
Documentation.SampleValues = {"Hello world", "Hola mundo"}
]),
optional count as (type number meta [
Documentation.FieldCaption = "Count",
Documentation.FieldDescription = "Number of times to repeat the
message",
Documentation.AllowedValues = { 1, 2, 3 }
]))
as table meta [
Documentation.Name = "Hello - Name",
Documentation.LongDescription = "Hello - Long Description",
Documentation.Examples = {[
Description = "Returns a table with 'Hello world' repeated 2
times",
Code = "HelloWorldWithDocs.Contents(""Hello world"", 2)",
Result = "#table({""Column1""}, {{""Hello world""}, {""Hello
world""}})"
],[
Description = "Another example, new message, new count!",
Code = "HelloWorldWithDocs.Contents(""Goodbye"", 1)",
Result = "#table({""Column1""}, {{""Goodbye""}})"
]}
];

HelloWorldImpl = (message as text, optional count as number) as table =>


let
_count = if (count <> null) then count else 5,
listOfMessages = List.Repeat({message}, _count),
table = Table.FromList(listOfMessages, Splitter.SplitByNothing())
in
table;

Esse código resulta nas caixas de diálogo a seguir no Power BI.


Invocação da função

Informações da função

Exemplo de multilinha
Power Query M

[DataSource.Kind="HelloWorld", Publish="HelloWorld.Publish"]
shared HelloWorld.Contents =
let
HelloWorldType = type function (
message1 as (type text meta [
Documentation.FieldCaption = "Message 1",
Documentation.FieldDescription = "Text to display for
message 1",
Documentation.SampleValues = {"Hello world"},
Formatting.IsMultiLine = true,
Formatting.IsCode = true
]),
message2 as (type text meta [
Documentation.FieldCaption = "Message 2",
Documentation.FieldDescription = "Text to display for
message 2",
Documentation.SampleValues = {"Hola mundo"},
Formatting.IsMultiLine = true,
Formatting.IsCode = false
])) as text,
HelloWorldFunction = (message1 as text, message2 as text) as text =>
message1 & message2
in
Value.ReplaceType(HelloWorldFunction, HelloWorldType);

Esse código (com informações de publicação associadas, e assim por diante) resulta na
caixa de diálogo a seguir no Power BI. Novas linhas serão representadas em texto com
'#(lf)' ou 'feed de linha'.
Como gerenciar a navegação
Artigo • 05/10/2023

As tabelas de navegação (ou tabelas nav) são uma parte essencial do fornecimento de
uma experiência amigável para o conector. A experiência Power Query exibe as tabelas
nav ao usuário depois que ele insere todos os parâmetros obrigatórios na função da
fonte de dados e se autentica na fonte de dados.

Nos bastidores, a tabela nav é apenas um valor normal da tabela M com campos de
metadados específicos definidos em seu Tipo. Quando a função de fonte de dados
retornar uma tabela com esses campos definidos, Power Query exibirá a caixa de
diálogo do navegador. Você poderá ver os dados subjacentes como um valor da tabela
ao clicar com o botão direito do mouse no nó raiz e selecionar Editar.

Table.ToNavigationTable
Use a função Table.ToNavigationTable para adicionar os metadados do tipo de tabela
necessários para criar uma tabela nav.
7 Observação

Atualmente, você precisa copiar e colar essa função na sua extensão M. No futuro,
ela provavelmente será movida para a biblioteca padrão M.

A tabela a seguir descreve os parâmetros desta função:

Parâmetro Detalhes

tabela Sua tabela de navegação.

keyColumns Lista de nomes de coluna que atuam como chave primária na sua tabela de
navegação.

nameColumn Nome da coluna que deve ser usada como o nome de exibição no
navegador.

dataColumn Nome da coluna que contém a tabela ou a função exibida.

itemKindColumn O nome da coluna usada para determinar o tipo de ícone a ser exibido. Veja
abaixo a lista de valores válidos para a coluna.

itemNameColumn Nome da coluna a ser usada para determinar o comportamento da


visualização. Geralmente é definido com o mesmo valor do itemKind.

isLeafColumn O nome da coluna usada para determinar se esse é um nó folha ou se o nó


pode ser expandido para mostrar outra tabela de navegação.

A função adiciona os seguintes metadados ao tipo de tabela:

Campo Parâmetro

NavigationTable.NameColumn nameColumn

NavigationTable.DataColumn dataColumn

NavigationTable.ItemKindColumn itemKindColumn

NavigationTable.IsLeafColumn isLeafColumn

Preview.DelayColumn itemNameColumn

Valores de ItemKind
Cada um dos seguintes valores de tipo de item fornece um ícone diferente na tabela de
navegação.
Feed
Cube
CubeDatabase
CubeView
CubeViewFolder
Banco de dados
DatabaseServer
Dimensão
Tabela
Pasta
Função
Modo de exibição
Folha
Subcubo
DefinedName
Registro

A captura de tela a seguir mostra os ícones para os tipos de item no Power BI Desktop.
Exemplos

Tabela de navegação simples


O exemplo de código a seguir exibe uma tabela de navegação simples com três tabelas
e uma função.

Power Query M

shared NavigationTable.Simple = () =>


let
objects = #table(
{"Name", "Key", "Data",
"ItemKind", "ItemName", "IsLeaf"},{
{"Item1", "item1", #table({"Column1"}, {{"Item1"}}),
"Table", "Table", true},
{"Item2", "item2", #table({"Column1"}, {{"Item2"}}),
"Table", "Table", true},
{"Item3", "item3", FunctionCallThatReturnsATable(),
"Table", "Table", true},
{"MyFunction", "myfunction", AnotherFunction.Contents,
"Function", "Function", true}
}),
NavTable = Table.ToNavigationTable(objects, {"Key"}, "Name", "Data",
"ItemKind", "ItemName", "IsLeaf")
in
NavTable;

shared FunctionCallThatReturnsATable = () =>


#table({"DynamicColumn"}, {{"Dynamic Value"}});

Esse código resultará na seguinte exibição do Navegador no Power BI Desktop:


Tabela de navegação com vários níveis
É possível usar tabelas de navegação aninhadas para criar uma exibição hierárquica do
conjunto de dados. Para fazer isso, defina o valor IsLeaf dessa linha como false (o que
o marca como um nó que pode ser expandido) e formate a coluna Data para também
ser outra tabela nav.

Power Query M

shared NavigationTable.Nested = () as table =>


let
objects = #table(
{"Name", "Key", "Data", "ItemKind",
"ItemName", "IsLeaf"},{
{"Nested A", "n1", CreateNavTable("AAA"), "Table",
"Table", false},
{"Nested B", "n2", CreateNavTable("BBB"), "Table",
"Table", false},
{"Nested C", "n3", CreateNavTable("CCC"), "Table",
"Table", false}
}),
NavTable = Table.ToNavigationTable(objects, {"Key"}, "Name", "Data",
"ItemKind", "ItemName", "IsLeaf")
in
NavTable;

CreateNavTable = (message as text) as table =>


let
objects = #table(
{"Name", "Key", "Data", "ItemKind",
"ItemName", "IsLeaf"},{
{"Item1", "item1", #table({"Column1"}, {{message}}), "Table",
"Table", true},
{"Item2", "item2", #table({"Column1"}, {{message}}), "Table",
"Table", true}
}),
NavTable = Table.ToNavigationTable(objects, {"Key"}, "Name", "Data",
"ItemKind", "ItemName", "IsLeaf")
in
NavTable;

Esse código resultará na seguinte exibição do Navegador no Power BI Desktop:

Tabelas de navegação dinâmica


Essa funcionalidade mais complexa pode ser criada a partir desses conceitos básicos.
Embora todos os exemplos acima mostrem entidades explicitamente incluídas no
código na tabela nav, é fácil ver como uma tabela nav pode ser gerada de forma
dinâmica com base nas entidades que estão disponíveis para um determinado usuário.
Algumas considerações importantes para tabelas de navegação dinâmica incluem:

Tratamento de erros para garantir uma boa experiência para os usuários que não
têm acesso a determinados pontos de extremidade.
A avaliação do nó é lenta por padrão. Nós folha não são avaliados até que o nó pai
seja expandido. Determinadas implementações de tabelas de navegação dinâmica
de vários níveis podem resultar em uma avaliação apressada de toda a árvore.
Lembre-se de monitorar o número de chamadas que o Power Query está fazendo,
pois ele renderiza inicialmente a tabela de navegação. Por exemplo,
Table.InsertRows é "mais simples" do que Table.FromRecords, pois não precisa
avaliar seus argumentos.
Tratar suporte de gateway
Artigo • 23/03/2023

Teste a conexão
O suporte ao conector personalizado está disponível nos modos Pessoal e Standard
do gateway de dados local . Ambos os modos de gateway suportam Importação.
A Consulta direta tem suporte apenas no modo Standard. Atualmente, o OAuth
para conectores personalizados por gateways tem suporte apenas para
administradores de gateway, mas não para outros usuários da fonte de dados.

O método para implementar a funcionalidade TestConnection provavelmente será


alterado enquanto a funcionalidade Conector de dados personalizados do Power BI
se encontrar na versão prévia.

Para suportar a atualização agendada por meio do gateway de dados local, seu
conector deve implementar um manipulador TestConnection. A função é chamada
quando o usuário está configurando as credenciais para a fonte de dados e é usada
para garantir que elas sejam válidas. O manipulador TestConnection é definido no
registro Tipo de fonte de dados e tem a seguinte assinatura:

(dataSourcePath) as list => ...

Em que dataSourcePath é o valor do Caminho da fonte de dados da sua função, e o


valor retornado é uma lista composta de:

Nome da função a ser chamada (essa função deve ser marcada como #shared , e
geralmente é a função principal da fonte de dados).
Um ou mais argumentos a serem passados na função.

Se a invocação da função resultar em um erro, o TestConnection será considerado como


fracassado e a credencial não será gravada.

7 Observação

Conforme indicado acima, o nome da função fornecido pelo TestConnection deve


ser um membro shared .
Exemplo: conector sem argumentos obrigatórios
O snippet de código abaixo implementa o TestConnection para uma fonte de dados
sem parâmetros obrigatórios (como o encontrado no tutorial do TripPin). Os conectores
sem parâmetros obrigatórios (conhecidos como "Singletons") não precisam de
nenhuma entrada fornecida pelo usuário para testar uma conexão (além das
credenciais). Nesse caso, o valor de dataSourcePath seria igual ao nome do Tipo de
fonte de dados e pode ser ignorado. A função TripPin.Contents é invocada sem
parâmetros adicionais.

Power Query M

TripPin = [
TestConnection = (dataSourcePath) => { "TripPin.Contents" },
Authentication = [
Anonymous = []
],
Label = "TripPin"
];

Exemplo: conector com um parâmetro de URL


Se a sua função de fonte de dados tiver um único parâmetro obrigatório do tipo
Uri.Type , seu dataSourcePath será igual à URL fornecida pelo usuário. O snippet abaixo
mostra a implementação do TestConnection do Exemplo do Github.

Power Query M

GithubSample = [
TestConnection = (dataSourcePath) => {"GithubSample.Contents",
dataSourcePath},
Authentication = [
OAuth = [
StartLogin = StartLogin,
FinishLogin = FinishLogin,
Label = Extension.LoadString("AuthenticationLabel")
]
]
];

Exemplo: conector com parâmetros obrigatórios


Se a função de fonte de dados tiver vários parâmetros ou um único parâmetro não URL,
o valor de dataSourcePath será uma cadeia de caracteres JSON que contém os
parâmetros. O snippet abaixo é do exemplo DirectQueryForSQL .

Power Query M

DirectSQL = [
TestConnection = (dataSourcePath) =>
let
json = Json.Document(dataSourcePath),
server = json[server],
database = json[database]
in
{ "DirectSQL.Database", server, database },
Authentication = [
Windows = [],
UsernamePassword = []
],
Label = "Direct Query for SQL"
];
Como assinar com o conector do Power
Query
Artigo • 23/03/2023

No Power BI, o carregamento de conectores personalizados é limitado pela escolha da


configuração de segurança. Como regra geral, quando a segurança para carregar os
conectores personalizados estiver definida como "Recomendado", os conectores
personalizados não serão carregados e você precisará reduzir a segurança para permitir
que sejam carregados.

A exceção a isso são os "conectores assinados" de confiança. Os conectores assinados


são um formato especial de conector personalizado, um .pqx em vez de um arquivo
.mez, que foi assinado com um certificado. O signatário pode fornecer ao usuário, ou ao
departamento de TI do usuário, uma impressão digital da assinatura que pode ser
colocada no registro para indicar com segurança a confiabilidade de um determinado
conector.

As etapas a seguir mostrar como você pode usar um certificado (com uma explicação
sobre como gerar um se não tiver um disponível) e assinar um conector personalizado
com a ferramenta "MakePQX".

7 Observação

Se você precisar de ajuda para criar um certificado autoassinado para testar essas
instruções, acesse a documentação da Microsoft no New-SelfSignedCertificate no
PowerShell.

7 Observação

Se você precisar de ajuda para exportar seu certificado como um pfx, acesse
Export-PfxCertificate.

1. Faça o download do MakePQX .

2. Extraia a pasta MakePQX incluído no zip para o destino desejado.

3. Para executá-lo, chame o MakePQX na linha de comando. Ele precisa de outras


bibliotecas da pasta, portanto, você não deve copiar apenas o único executável. Se
você executar sem os parâmetros, serão mostradas as informações de ajuda.
Uso: MakePQX [opções] [comando]

Opções:

Opções Descrição

-? | -h | --help Mostra informações da Ajuda

Comandos:

Comando Descrição

pack Crie um arquivo pqx.

sign Assina um pqx não assinado ou faz contra-assinaturas se o pqx já estiver assinado.
Use a opção --replace para substituir a assinatura existente.

verify Verifique o status da assinatura no arquivo pqx. O valor retornado será diferente de
zero se a assinatura for inválida.

Há três comandos no MakePQX. Use o comando MakePQX [command] --help para


obter mais informações sobre um comando.

Pack
O comando Pack usa um arquivo mez e o empacota em um arquivo pqx que pode ser
assinado. O arquivo pqx também é compatível com alguns recursos que serão
adicionados no futuro.

Uso: pacote MakePQX [opções]

Opções:

Opção Descrição

-? | -h | --help Mostra informações da Ajuda.

-mz | --mez Arquivo de extensão de entrada.

-c | --certificate Certificado (.pfx) usado para assinar o arquivo de extensão.

-p | --password Senha do arquivo de certificado.

-t | --target Nome do arquivo de saída. O padrão é o mesmo nome do arquivo de entrada.

Exemplo
C:\Users\cpope\Downloads\MakePQX>MakePQX.exe pack -mz
"C:\Users\cpope\OneDrive\Documents\Power BI Desktop\Custom
Connectors\HelloWorld.mez" -t "C:\Users\cpope\OneDrive\Documents\Power BI
Desktop\Custom Connectors\HelloWorldSigned.pqx"

Sinal
O comando Assinar assina o arquivo pqx com um certificado, fornecendo a ele uma
impressão digital que pode ser verificada quanto à confiabilidade pelos clientes do
Power BI que têm a configuração de segurança mais elevada. Esse comando pega um
arquivo pqx e retorna o mesmo arquivo pqx, assinado.

Uso: MakePQX assinar [argumentos] [opções]

Argumentos:

Argumento Descrição

<arquivo pqx> Caminho do arquivo pqx.

Opções:

Opção Descrição

-c | --certificate Certificado (.pfx) usado para assinar o arquivo de extensão.

-p | --password Senha do arquivo de certificado.

-r | --replace Substitua a assinatura existente em vez de contra-assinar.

-? | -h | --help Mostra informações da Ajuda.

Exemplo
C:\Users\cpope\Downloads\MakePQX>MakePQX sign
"C:\Users\cpope\OneDrive\Documents\Power BI Desktop\Custom
Connectors\HelloWorldSigned.pqx" --certificate ContosoTestCertificate.pfx --
password password

Verificar
O comando Verificar verifica se o módulo foi assinado corretamente e se está
mostrando o status do Certificado.
Uso: MakePQX verificar [argumentos] [opções]

Argumentos:

Argumento Descrição

<arquivo pqx> Caminho do arquivo pqx.

Opções:

Opção Descrição

-q | --quiet Oculta a saída de verificação de assinatura.

-? | -h | --help Mostra informações da Ajuda.

Exemplo
C:\Users\cpope\Downloads\MakePQX>MakePQX verify
"C:\Users\cpope\OneDrive\Documents\Power BI Desktop\Custom
Connectors\HelloWorldSigned.pqx"

{
"SignatureStatus": "Success",
"CertificateStatus": [
{
"Issuer": "CN=Colin Popell",
"Thumbprint": "16AF59E4BE5384CD860E230ED4AED474C2A3BC69",
"Subject": "CN=Colin Popell",
"NotBefore": "2019-02-14T22:47:42-08:00",
"NotAfter": "2020-02-14T23:07:42-08:00",
"Valid": false,
"Parent": null,
"Status": "UntrustedRoot"
}
]
}

Conectores assinados confiáveis no Power BI


Desktop
Depois de verificar sua assinatura, você pode fornecer a impressão digital ao usuário
final para elencar como confiável. Para saber mais sobre como fornecer a impressão
digital, consulte a Documentação do Power BI.
Manipulação do suporte a proxy
Artigo • 23/03/2023

Este artigo descreve como você pode habilitar o suporte ao proxy em seu conector
personalizado do Power Query usando o SDK do Power Query.

Configurações de proxy do Windows


Primeiro, você precisará definir as configurações de proxy no Windows. Há duas
maneiras de configurar o proxy, seja por meio das Opções da Internet ou da
configuração de Rede & Internet.

Opções da Internet
1. No menu iniciar do Windows, pesquise e abra Opções da Internet.
2. Selecione a guia Conexões.
3. Selecione as Configurações da LAN.
4. Na seção Servidor proxy, configure o servidor proxy.

Rede & Internet


1. No menu iniciar do Windows, selecione o ícone Configurações.
2. Em Configurações, selecione Rede &Internet (Windows 10) ou selecione o ícone
Abrir Navegação e, em seguida, selecione Rede & Internet (Windows 11).
3. Selecione Proxy.
4. Na seção Configuração de proxy manual, alterne o botão Usar um servidor proxy
(Windows 10) ou selecione o botão Configurar e alterne o botão Usar um servidor
proxy (Windows 11).
5. Configure o endereço e a porta.

Habilitar o suporte a proxy


Uma função Web.DefaultProxy foi adicionada ao módulo de extensibilidade. Conectores
da M de terceiros podem usar essa função para buscar as configurações de proxy da
Web a serem definidas nas propriedades do driver (quando o proxy estiver habilitado
conforme descrito em Configurações de proxy do Windows).

As informações de proxy podem ser definidas na cadeia de conexão em relação ao


parâmetro de conexão, que pode ser diferente nos conectores. Não há suporte para
credenciais de proxy (nome de usuário e senha). Web.DefaultProxy usa o serverUri/host
como o parâmetro e retorna um registro que contém o URI do proxy como o campo
ProxyUri de um registro. Para obter as partes que constituem o URI (por exemplo:

esquema, host, porta) dentro do conector, use Uri.Parts .

Se o proxy não estiver configurado, Web.DefaultProxy retornará um registro vazio.

Exemplo de uso

Exemplo 1
Para usar Web.DefaultProxy no código do conector, uma variável de tipo booliano
poderá ser usada para aceitar ou não o uso dessa funcionalidade. Neste exemplo,
Web.DefaultProxy será invocado no código do conector se o parâmetro booliano
opcional UseWebDefaultProxy for definido como true (padrão como false).

Power Query M

UseWebDefaultProxyOption = options[UseWebDefaultProxy]?,
ProxyUriRecord = if UseWebDefaultProxyOption then Web.DefaultProxy(Host)
else null,
ProxyOptions = if Record.FieldCount(ProxyUriRecord) > 0 then
[
Proxy = ProxyUriRecord[ProxyUri]
]
else [],
...

Depois que o UseWebDefaultProxy for definido como true e o ProxyUriRecord for


buscado, um registro poderá ser criado para definir o Proxy (parâmetro de
configuração compatível com o driver, que pode variar) com o campo ProxyUri
retornado por Web.DefaultProxy . O nome pode ser algo como ProxyOptions . Esse
registro poderá então ser acrescentado à base ConnectionString e incluir os detalhes do
proxy com ele.

Power Query M

Databases = Odbc.DataSource(ConnectionString & ProxyOptions, Options)

Exemplo 2
Se houver vários parâmetros de configuração usados pelo driver para definir os detalhes
do proxy (como detalhes do host e da porta que estão sendo tratados separadamente),
o Uri.Parts poderá ser usado.

Power Query M

UseWebDefaultProxyOption = options[UseWebDefaultProxy]?,
ProxyRecord = if UseWebDefaultProxyOption then Web.DefaultProxy(Host) else
null,
UriRecord = if ProxyRecord <> null then Uri.Parts(ProxyRecord) else null,
ProxyOptions = if UriRecord <> null then
[
ProxyHost = UriRecord[Scheme] & "://" & UriRecord[Host],
ProxyPort = UriRecord[Port]
]
else [],
...
Suporte à consulta nativa em
conectores personalizados do Power
Query
Artigo • 05/10/2023

7 Observação

Este artigo aborda tópicos avançados sobre a implementação de suporte de


consulta nativo para conectores personalizados, bem como dobramento de
consulta sobre eles. Este artigo pressupõe que você já tem conhecimento prático
desses conceitos.

Para saber mais sobre os conectores personalizados do Power Query, vá para Visão
geral do SDK do Power Query.

No Power Query, você pode executar consultas nativas personalizadas na fonte de


dados para recuperar os dados que está procurando. Você também pode ativar a
capacidade de manter a dobra de consulta durante todo esse processo e processos de
transformação subsequentes feitos dentro do Power Query.

O objetivo deste artigo é mostrar como você pode implementar esse recurso para seu
conector personalizado.

Pré-requisitos
Este artigo usa como ponto de partida um exemplo que usa o driver ODBC do SQL
para sua fonte de dados. No momento, a implementação do recurso de consulta nativa
só tem suporte para conectores ODBC que aderem ao padrão SQL-92.

O conector de exemplo usa o driver do SQL Server Native Client 11.0. Certifique-se de
que você tenha esse driver instalado para acompanhar este tutorial.

Você também pode exibir a versão concluída do conector de exemplo na pasta


Concluir no Repositório do GitHub.

Modificar as SQLCapabilities do conector


No registro SqlCapabilities do conector de exemplo, você pode encontrar um campo
de registro com o nome Sql92Translation e o valor PassThrough para ele. Esse novo
campo é necessário para que a consulta nativa seja passada usando o Power Query sem
nenhuma validação.

Power Query M

SqlCapabilities = Diagnostics.LogValue("SqlCapabilities_Options",
defaultConfig[SqlCapabilities] & [
// Place custom overrides here
// The values below are required for the SQL Native Client ODBC driver,
but might
// not be required for your data source.
SupportsTop = false,
SupportsDerivedTable = true,
Sql92Conformance = 8 /* SQL_SC_SQL92_FULL */,
GroupByCapabilities = 4 /* SQL_GB_NO_RELATION */,
FractionalSecondsScale = 3,
Sql92Translation = "PassThrough"
]),

Verifique se esse campo aparece no conector antes de avançar. Caso contrário, você
verá avisos e erros mais tarde quando usar um recurso que não é suportado porque não
é declarado pelo conector.

Crie o arquivo de conector (como .mez ou .pqx) e carregue-o no Power BI Desktop para
teste manual e para definir o destino para sua consulta nativa.

Testar manualmente os recursos de consulta


nativa do conector

7 Observação

Para este artigo, vamos usar o banco de dados de exemplo AdventureWorks2019.


Mas você pode acompanhar qualquer banco de dados do SQL Server de sua
escolha e fazer as alterações necessárias quando se trata das especificidades do
banco de dados escolhido.

A maneira como o suporte a consultas nativas será implementado neste artigo é que o
usuário precisará inserir três valores:

Nome do servidor
Nome do banco de dados
Consulta nativa no nível do banco de dados

Agora, dentro do Power BI Desktop, vá para a experiência Obter Dados e localize o


conector com o nome Exemplo SqlODBC.

Para a caixa de diálogo do conector, insira os parâmetros do servidor e do nome do


banco de dados. Depois, selecione OK.
Uma nova janela do navegador é exibida. No Navegador, você pode exibir o
comportamento de navegação nativo do driver SQL que exibe a exibição hierárquica do
servidor e dos bancos de dados dentro dele. Clique com o botão direito do mouse no
banco de dados AdventureWorks2019 e selecione Transformar Dados.

Essa seleção leva você ao editor do Power Query e a uma visualização do que é
efetivamente o destino da consulta nativa, já que todas as consultas nativas devem ser
executadas no nível do banco de dados. Inspecione a barra de fórmulas da última etapa
para entender melhor como o conector deve navegar até o destino das consultas
nativas antes de executá-las. Nesse caso, a barra de fórmulas exibe as seguintes
informações:
= Source{[Name="AdventureWorks2019",Kind="Database"]}[Data]

Origem é o nome da etapa anterior que, neste caso, é simplesmente a função publicada
do conector com os parâmetros transmitidos. A lista e o registro dentro dela só ajudam
a navegar uma tabela para uma linha específica. A linha é definida pelos critérios do
registro em que o campo Nome deve ser igual a AdventureWorks2019 e o campo Tipo
deve ser igual a Banco de Dados. Depois que a linha é localizada, a saída [Data] da lista
{} permite que o Power Query acesse o valor dentro do campo Dados, que neste caso

é uma tabela. Você pode voltar à etapa anterior (Origem) para entender melhor essa
navegação.

Testar consulta nativa


Com o destino agora identificado, crie uma etapa personalizada após a etapa de
navegação selecionando o ícone fx na barra de fórmulas.

Substitua a fórmula dentro da barra pela seguinte fórmula e selecione Enter.

Power Query M
= Value.NativeQuery( AdventureWorks2019_Database, "SELECT TOP (1000) *
FROM [Person].[Address]")

Depois de aplicar essa alteração, um aviso deve aparecer abaixo da barra de fórmulas
solicitando permissão para executar a consulta nativa na fonte de dados.

Selecione Editar permissão. Uma nova caixa de diálogo Consulta Nativa de Banco de
Dados é exibida que tenta avisar sobre as possibilidades de executar consultas nativas.
Nesse caso, sabemos que essa instrução SQL é segura, então selecione Executar para
executar o comando.
Depois de executar a consulta, uma visualização é exibida no editor do Power Query.
Essa visualização valida que o conector é capaz de executar consultas nativas.

Implementar lógica de consulta nativa no


conector
Com as informações coletadas nas seções anteriores, o objetivo agora é traduzir essas
informações em código para o conector.

A maneira como você pode realizar essa conversão é adicionando um novo campo de
registro NativeQueryProperties ao registro Publicar do conector, que neste caso é o
registro SqlODBC.Publish . O NativeQueryProperties registro desempenha um papel
essencial na definição de como o conector vai interagir com a função
Value.NativeQuery .

O novo campo de registro consiste em dois campos:

NavigationSteps: esse campo define como a navegação deve ser executada ou


processada pelo conector. Ele contém uma lista de registros que descrevem as
etapas para navegar até os dados específicos que você deseja consultar usando a
função Value.NativeQuery . em cada registro, ele define quais parâmetros são
obrigatórios ou necessários para que essa navegação alcance o destino desejado.
DefaultOptions: esse campo ajuda a identificar como determinados parâmetros
opcionais devem ser incluídos ou adicionados ao registro de opções
Value.NativeQuery . Ele fornece um conjunto de opções padrão que podem ser

usadas ao consultar a fonte de dados.

NavigationSteps
As etapas de navegação podem ser classificadas em dois grupos. O primeiro contém os
valores que são inseridos pelo usuário final, como o nome do servidor ou do banco de
dados, nesse caso. O segundo contém os valores derivados pela implementação
específica do conector, como o nome dos campos que não são exibidos ao usuário
durante a experiência de obtenção de dados. Esses campos podem incluir Name , Kind ,
Data e outros dependendo da implementação do conector.

Para este caso, havia apenas uma etapa de navegação que consistia em dois campos:

Nome: esse campo é o nome do banco de dados que foi transmitido pelo usuário
final. Nesse caso, foi AdventureWorks2019 , mas esse campo sempre deve ser
transmitido como está a partir do que o usuário final inseriu durante a experiência
de obtenção de dados.
Tipo: esse campo é uma informação que não está visível para o usuário final e é
específica para a implementação do conector ou driver. Nesse caso, esse valor
identifica que tipo de objeto deve ser acessado. Para essa implementação, esse
campo será um valor fixo que consiste na string Database .

Tais informações serão traduzidas no código a seguir. Esse código deve ser adicionado
como um novo campo ao registro SqlODBC.Publish .

Power Query M

NativeQueryProperties = [
NavigationSteps = {
[
Indices = {
[
FieldDisplayName = "database",
IndexName = "Name"
],
[
ConstantValue = "Database",
IndexName = "Kind"
]
},
FieldAccess = "Data"
]
}
]

) Importante

O nome dos campos diferencia maiúsculas de minúsculas e deve ser usado


conforme mostrado no exemplo acima. Todas as informações transmitidas para os
campos, ConstantValue , IndexName ou FieldDisplayName , devem ser derivadas do
código M do conector.
Para valores que serão transmitidos a partir do que o usuário inseriu, você pode usar o
par FieldDisplayName e IndexName . Para valores que são fixos ou predefinidos e não
podem ser transmitidos pelo usuário final, você poderá usar o par ConstantValue e
IndexName . Nesse sentido, o registro NavigationSteps consiste em dois campos:

Índices: define quais campos e quais valores usar para navegar até o registro que
contém o destino da função Value.NativeQuery .
FieldAccess: define qual campo contém o destino, que geralmente é uma tabela.

DefaultOptions
O campo DefaultOptions permite que você transmita parâmetros opcionais para a
função Value.NativeQuery ao usar o recurso de consulta nativa para o conector.

Para preservar o dobramento de consulta após uma consulta nativa e supondo que seu
conector tenha recursos de dobramento de consulta, você pode usar o seguinte código
de exemplo para EnableFolding = true .

Power Query M

NativeQueryProperties = [
NavigationSteps = {
[
Indices = {
[
FieldDisplayName = "database",
IndexName = "Name"
],
[
ConstantValue = "Database",
IndexName = "Kind"
]
},
FieldAccess = "Data"
]
},

DefaultOptions = [
EnableFolding = true
]
]

Com essas alterações, crie o conector e carregue-o no Power BI Desktop para teste e
validação.
Testar e validar o conector
No Power BI Desktop com seu novo conector personalizado instalado, inicie o conector
na experiência Obter Dados. Ao iniciar o conector, você notará que a caixa de diálogo
agora tem um campo de texto longo com o nome Consulta nativa e, entre parênteses,
tem os campos necessários para funcionar. Insira os mesmos valores para o servidor, o
banco de dados e a instrução SQL que você inseriu anteriormente ao testar o conector.

Depois de selecionar OK, uma visualização de tabela da consulta nativa executada é


mostrada em uma nova caixa de diálogo.
Selecione OK. Uma nova consulta agora será carregada dentro do editor do Power
Query, onde pode fazer testes adicionais do seu conector, conforme necessário.

7 Observação

Se o conector tiver recursos de dobramento de consulta e tiver definido


EnableFolding=true explicitamente como parte do registro opcional para
Value.NativeQuery , você poderá testar ainda mais seu conector no editor do Power

Query verificando se outras transformações dobram de volta para a origem ou não.


Controle de versão
Artigo • 23/03/2023

O controle de versão é necessário para conectores certificados.

Formato de versão no Power Query


O controle de versão no Power Query é um simples registro de metadados acima do
documento da seção:

Power Query M

[Version = "1.0.0"]
section MyConnector;

Semântica de versão no Power Query


Embora o suporte para controle de versão ainda não seja compatível com o Power
Query, você deve tentar seguir uma semântica que terá suporte no futuro.

O primeiro número é a versão "principal", que indicará alterações interruptivas. Esse


número deve ser incrementado sempre que os usuários precisarem recompilar
relatórios devido à nova arquitetura significativa do conector ou à remoção de recursos.

O segundo número é a versão "secundária", que indica adição de funcionalidade.


Geralmente, essas adições não serão interruptivas, mas poderão causar efeitos colaterais
periféricos. Esse número deve ser incrementado sempre que uma funcionalidade for
adicionada ao conector.

O número final é a versão de "patch", que indica pequenos ajustes e correções nos
conectores. Essa é a versão que será alterada com mais frequência e deve ser
incrementada sempre que você liberar pequenos ajustes de um conector para o público.
Certificação do conector do Power
Query
Artigo • 14/11/2023

7 Observação

Neste artigo, você verá uma descrição dos requisitos e do processo para enviar um
conector do Power Query para certificação. Leia todo o texto com atenção antes de
iniciar o processo de certificação.

Introdução
Com o SDK do Power Query, todos têm o poder de criar um conector personalizado do
Power Query para se conectar a uma fonte de dados do Power Query. Atualmente, os
conectores personalizados só são compatíveis com conjuntos de dados do Power BI
(Power BI Desktop e serviço do Power BI) e exigem o uso de um gateway de dados local
para atualizar por meio do serviço do Power BI. Conectores personalizados precisam ser
distribuídos individualmente pelo desenvolvedor.

Os proprietários da fonte de dados que desenvolvem um conector personalizado para a


fonte de dados podem querer distribuir o conector personalizado de maneira mais
ampla para usuários do Power Query. Depois que um conector personalizado for criado,
usado e validado pelos usuários finais, o proprietário da fonte de dados poderá enviá-lo
para certificação da Microsoft.

Certificar um conector personalizado do Power Query torna o conector disponível


publicamente, pronto para uso, em conjuntos de dados do Power BI (Power BI Desktop
e serviço do Power BI), fluxos de dados do Power BI e datamarts do Power BI. Há
suporte para conectores certificados em PowerBI.com e todas as versões do Power BI
Premium.

Os conectores certificados são:

mantidos pelo desenvolvedor do parceiro;

têm suporte do desenvolvedor parceiro;

certificados pela Microsoft;

distribuídos pela Microsoft.


Trabalhamos com parceiros para tentar garantir que eles tenham suporte na
manutenção, mas os problemas do cliente com o próprio conector serão direcionados
para o desenvolvedor parceiro.

Diferenças entre conectores personalizados e


certificados
Os conectores certificados são integrados e estão prontos para uso no Power BI
Desktop; além disso, são implantados no Serviço do Power BI, fluxos de dados do Power
BI e nos datamarts do Power BI. Conectores personalizados só são compatíveis com
conjuntos de dados do Power BI e precisam ser carregados no Power BI Desktop,
conforme descrito em Carregar uma extensão no Power BI Desktop. Ambos os tipos de
conectores podem ser atualizados no Power BI Desktop ou no Serviço do Power BI por
meio de um gateway de dados local, com a implementação de TestConnection. O
gateway de dados local é necessário para conectores personalizados.

Os conectores certificados no Power BI Desktop com uma implementação


TestConnection também permitem atualização de ponta a ponta por meio da nuvem

(Serviço do Power BI) sem a necessidade de um gateway de dados local. O ambiente


serviço do Power BI hospeda essencialmente um "gateway de nuvem" que é executado
de modo semelhante ao gateway local. Após a certificação, implantamos seu conector
nesse ambiente para que ele esteja disponível para todos os clientes do Power BI.

Os conectores personalizados e certificados com componentes extras (por exemplo,


driver ODBC) precisam que o componente extra seja instalado no computador do
usuário final e exigem o gateway de dados local, a menos que o componente extra seja
implantado na nuvem do Power BI. Atualmente, não estamos certificando e
implantando novos componentes extras na nuvem do Power BI; portanto, a certificação
de conectores com uma dependência em um componente extra não removerá o
requisito do gateway de dados local.

Distribuição de conectores personalizados


Os conectores personalizados podem e devem ser distribuídos aos usuários finais antes
da certificação.

Como M é uma linguagem versátil que, como visto na Manipulação da autenticação,


tem a capacidade de interagir com credenciais armazenadas, precisamos dar aos
usuários uma maneira de permitir apenas que conectores confiáveis sejam executados.
Na perspectiva de um desenvolvedor, é necessário autoassinar o conector
personalizado e fornecer aos usuários as informações (impressão digital) para carregá-lo
com segurança.

Na perspectiva de um usuário, é necessário usar a impressão digital do desenvolvedor


para confiar com segurança e carregar o conector personalizado para uso. Como
alternativa, os usuários podem optar por reduzir suas configurações de segurança para
permitir o carregamento de código não certificado pela Microsoft ou outro
desenvolvedor, mas essa opção não é recomendada.

Visão geral da certificação

Pré-requisitos
Para garantir a melhor experiência para nossos clientes, consideramos apenas os
conectores que atendem a um conjunto de pré-requisitos para certificação:

O conector deve ser para um produto público.

O conector deve ser considerado concluído por código para uma versão inicial. O
programa permite iterações e atualizações frequentes. A Microsoft não oferece
assistência técnica ou consultoria de desenvolvimento de conector personalizado.
Recomendamos usar recursos públicos, como nossa documentação do SDK e
nosso repositório de amostras. Se você precisar de mais assistência, podemos
compartilhar uma lista de consultores conhecidos de desenvolvimento de
conectores personalizados de terceiros que você pode querer envolver
diretamente, separados de qualquer programa ou parceria da Microsoft. A
Microsoft não é afiliada a nenhum desses consultores e não é responsável pelo
uso que você faz dos serviços deles. A Microsoft fornece a lista para sua
comodidade e sem quaisquer garantias ou recomendações. Fale com seu contato
de certificação da Microsoft para saber mais.

O desenvolvedor deve fornecer uma estimativa para uso. Sugerimos que os


desenvolvedores de conectores para produtos muito sofisticados usem nossos
recursos de autoassinatura do conector para fornecê-los diretamente ao cliente.

O conector já deve ser disponibilizado direto aos clientes para atender a um


cenário de negócios ou de necessidade do usuário. Esses critérios podem ser
atendidos usando um programa de visualização privada, distribuindo o conector
concluído diretamente para usuários finais e organizações por meio de
autoassinatura. Cada usuário ou organização deve ser capaz de fornecer
comentários e validação de que há uma necessidade comercial para o conector e
que o conector está funcionando para atender aos seus requisitos comerciais.

O conector deve estar funcionando com êxito em um nível antecipado de uso


pelos clientes.

Deve haver uma conversa no fórum ideias do Power BI promovida pelos clientes
para indicar a demanda para disponibilizar o conector publicamente no Power BI
Desktop. Não há um limite definido de participação. No entanto, quanto mais
participação, mais forte será a demanda evidenciada pelo conector.

Esses pré-requisitos existem para garantir que os conectores submetidos à certificação


tenham clientes e negócios significativos que precisam ser usados e com suporte após a
certificação.

Processos e linhas do tempo


Os conectores certificados são lançados com versões mensais do Power BI Desktop;
portanto, os prazos para cada versão contam a partir de cada data de lançamento do
Power BI Desktop. A duração esperada do processo de certificação, desde o registro até
a liberação, varia dependendo da qualidade e da complexidade do envio do conector. A
Microsoft não fornece nenhuma garantia de cronogramas específicos em relação a
qualquer revisão e aprovação de conectores. Os prazos rígidos para cada revisão de
conector são descritos nas etapas a seguir, mas a Microsoft não garante a adesão a
esses cronogramas.

Registro: notificação da intenção de certificar seu conector personalizado. Esse


registro deve ocorrer até o dia 15 do mês, dois meses antes do lançamento do
Power BI desktop de destino.
Por exemplo, para a versão de abril do Power BI Desktop, o prazo seria 15 de
fevereiro.

Envio: envio dos arquivos do conector para análise da Microsoft. Esse envio deve
ocorrer até o dia 1º do mês antes do lançamento pretendido do Power BI Desktop.
Por exemplo, para a versão de abril do Power BI Desktop, o prazo seria 1º de
março.

Análise técnica: finalização dos arquivos do conector, aprovação na análise e


certificação da Microsoft. Isso deve ocorrer até o dia 15 do mês, dois meses antes
da versão pretendida do Power BI Desktop.
Por exemplo, para a versão de abril do Power BI Desktop, o prazo seria 15 de
março.
Devido à complexidade das análises técnicas e possíveis atrasos, rearquitetura e
problemas de teste, é altamente recomendável enviar antecipadamente com um
longo tempo de execução para a versão inicial e a certificação. Se você acha que é
importante disponibilizar o conector a alguns clientes com sobrecarga mínima,
recomendamos a autoassinatura e o fornecimento dessa forma.

Requisitos de certificação
Temos um determinado conjunto de requisitos para certificação. Reconhecemos que
nem todos os desenvolvedores podem atender a esses requisitos e esperamos
introduzir um conjunto de recursos que lidará com as necessidades do desenvolvedor
em breve.

Arquivos de envio (artefatos)


Verifique se os arquivos do conector que você envia incluem todos os seguintes:

Arquivo conector (.mez)


O arquivo .mez deve seguir padrões de estilo e ser nomeado de forma
semelhante ao nome do produto ou serviço. Ele não deve incluir palavras como
"Power BI", "Conector" ou "API".
Nomeie o arquivo .mez: ProductName.mez

Arquivo Power BI Desktop (.pbix) para teste


Precisamos de um relatório de exemplo do Power BI (.pbix) para testar o
conector.
O relatório deve incluir pelo menos uma consulta para testar cada item em sua
tabela de navegação.
Se não houver um esquema definido (por exemplo, bancos de dados), o
relatório precisará incluir uma consulta para cada "tipo" de tabela que o
conector pode manipular.

Conta de teste para sua fonte de dados


Usamos a conta de teste para testar e solucionar problemas do conector.
Forneça uma conta de teste persistente, para que possamos usar a mesma
conta para certificar quaisquer atualizações futuras.

Instruções de teste
Forneça qualquer documentação sobre como usar o conector e testar sua
funcionalidade.

Links para dependências externas (por exemplo, drivers ODBC)


Recursos e estilo
O conector deve seguir um conjunto de regras de recurso e estilo para atender a um
padrão de usabilidade consistente com outros conectores certificados.

O conector DEVE:
Usar o formato do documento da Seção.
Conter um cabeçalho/adorno de versão acima do documento da seção.
Ter metadados da documentação da função.
Ter o manipulador TestConnection.
Seguir as convenções de nomenclatura (por exemplo,
DataSourceKind.FunctionName ). Ele não deve incluir palavras como "Power BI",

"Conector" ou "API".
Ter o sinalizador Beta definido como True na versão inicial.

O FunctionName deve fazer sentido para o domínio (por exemplo, "Conteúdo",


"Tabelas", "Documento", "Bancos de Dados" e assim por diante).

O conector DEVE:
Ter ícones.
Ter uma tabela de navegação.
Colocar cadeias de caracteres em um arquivo resources.resx . URLs e valores
devem ser codificados no código do conector e não serem colocados no
arquivo resources.resx .

Segurança
Há considerações de segurança específicas que o conector deve tratar.

Se Extension.CurrentCredentials() for usado:


O uso é necessário? Nesse caso, para onde as credenciais são enviadas?
Há alguma garantia de que as solicitações foram feitas por HTTPS?
É possível usar a função auxiliar de imposição HTTPS.
Se as credenciais forem enviadas usando Web.Contents() via GET:
Pode ser transformado em POST?
Se GET for necessário, o conector DEVERÁ usar o registro
CredentialQueryString no registro de opções Web.Contents() para passar

credenciais confidenciais.

Se as funções Diagnostics.* forem usadas:


Valide o que está sendo rastreado; os dados não devem conter PII nem
grandes quantidades de dados desnecessários.
Se você implementou um rastreamento significativo no desenvolvimento,
implemente uma variável ou sinalizador de recurso que determina se o
rastreamento deve estar ativado. Esse rastreamento deve ser desativado antes
de enviar para certificação.

Se Expression.Evaluate() for usado:


Valide de onde a expressão está vindo e o que ela é (ou seja, se pode construir
dinamicamente chamadas para Extension.CurrentCredentials() e assim por
diante).
O Expression não deve ser fornecido pelo usuário nem receber entrada de
usuário.
O Expression não deve ser dinâmico (ou seja, recuperado de uma chamada da
Web).

Registrar-se para certificação


Se você tiver interesse em buscar a certificação do conector personalizado, verifique se
seu cenário e conector atendem aos pré-requisitos e requisitos descritos neste artigo.
Não fazer isso causará atrasos na certificação, pois nossa equipe exigirá que você corrija
quaisquer problemas ou inconsistências antes de avançar.

Verifique se o conector está concluído e foi testado tanto na criação no Power BI


Desktop quanto na atualização e no consumo no Serviço do Power BI. Verifique se você
testou a atualização completa de ponta a ponta no Serviço do Power BI por meio do
uso de um gateway de dados local.

Para começar, preencha nosso formulário de registro e uma pessoa da Microsoft


entrará em contato para iniciar o processo.

Após a Certificação
Depois que o conector for certificado e liberado por meio do Power BI Desktop e do
serviço do Power BI, há algumas coisas que você deve fazer para garantir que possa usar
corretamente o conector certificado disponível publicamente implantado em produção.

Você e os usuários finais devem usar a versão do conector certificado incluída no


Power BI Desktop e o gateway de dados local e remover todos os arquivos .mez ou
.pqx (conectores personalizados) existentes usados antes da certificação. Se isso
não for feito, o conector personalizado de teste poderá ser usado pelo Power
Query inadvertidamente em vez do conector recém-certificado.
Os conectores personalizados só devem ser usados para testar novas versões do
conector.
Ao trabalhar com usuários finais e clientes, certifique-se de que eles entendam que
a versão do conector personalizado usada nos testes antes da certificação deve ser
removida após a conclusão do teste e a nova versão do conector certificado estiver
disponível.

Aplicativos de modelo (recomendado)


Depois de desenvolver um conector para uma fonte de dados, considere ajudar os
clientes a começar a trabalhar rapidamente criando um aplicativo de modelo. Um
aplicativo de modelo fornece aos clientes um relatório predefinido conectado aos dados
que eles podem usar, prontos para uso ou personalizáveis conforme necessário.

7 Observação

Os aplicativos de modelo não aceitam conectores que exigem um gateway.


Envio de conector do Power Query
Artigo • 23/03/2023

Introdução
Este artigo fornece instruções sobre como enviar o conector personalizado do Power
Query para certificação. Não envie seu conector para certificação, a menos que você
tenha sido explicitamente direcionado pelo contato da Microsoft.

Pré-requisitos
Depois de aprovado para certificação, verifique se o conector atende aos requisitos de
certificação e se segue todos os recursos, estilo e diretrizes de segurança. Prepare os
artefatos de envio para envio.

Como enviar ao Portal de certificação de


conector
O Portal de certificação de conector é uma experiência no ISV Studio que permite que
os parceiros da Microsoft e os ISVs enviem, visualizem e gerenciem os conectores
enviados para certificação. Após o envio, a comunicação entre a Microsoft e o
desenvolvedor de conector de parceiros será feita por meio do Portal de certificação de
conector.

Envio Inicial
1. Navegue até o ISV Studio e entre com a sua conta corporativa da Microsoft. Esse
experiência não permite contas pessoais.

2. Selecione a guia de Certificação de conector à esquerda para iniciar a experiência


do Portal de certificação de conector.

3. Selecione Power Query como tipo de conector.

4. Leia e concorde com nosso Contrato de parceiro de conector. Se houver um


contrato separado que rege a relação entre sua organização e a Microsoft, informe
seu contato da Microsoft.
5. Carregue o arquivo .mez e preencha o formulário com as informações do
conector. Envie o formulário para concluir o processo de envio do conector.
Depois do envio, você pode usar a experiência do Controle de atividades à direita
para se comunicar com o contato da Microsoft.

6. Leia as diretrizes sobre o fornecimento da documentação do conector


personalizado. Crie o arquivo Markdown ( .md ) seguindo as diretrizes da
documentação do conector personalizado, usando os exemplos da documentação
existente, se necessário. Esta etapa é crucial para garantir que os usuários saibam
como usar o conector. Depois que você tiver a solicitação de pull para a
documentação pública disponível, envie por email o link de solicitação de pull para
seu contato da Microsoft.

7. No Controle de atividades, compartilhe um parágrafo apresentando seu conector e


explicando sua proposta de valor para os usuários e clientes. Esse texto será
enviado como parte do blog do Power BI na postagem do próximo mês,
anunciando a versão do conector.

Observe que você deve concluir todas as etapas para avançar com a certificação. Se
quiser adicionar colegas de equipe para gerenciar o conector, informe o contato da
Microsoft.

Depois que a avaliação do código do conector for concluída, você precisará nos enviar
um vídeo de demonstração mostrando os seguintes cenários:

Carregue o conector como um conector personalizado no Power BI Desktop.


Selecione o conector em Obter dados.
Autentique com sucesso no conector.
Selecione uma tabela na experiência do Navegador.
Carregue os dados no Power BI Desktop e crie um relatório simples.
Publique o relatório no serviço do Power BI.
Atualize os dados no back-end do serviço final (qualquer atualização de valor de
dados simples).
Atualize com sucesso o conjunto de dados no serviço do Power BI usando o
conector por meio do gateway de dados local. Atualize a visualização do relatório.
Deverá mostrar que os valores dos dados foram alterados.
Atualize com sucesso o Power BI Desktop. Deverá mostrar que os valores dos
dados foram alterados.

Atualizações
As atualizações no envio do conector podem ser feitas a qualquer momento, exceto
quando o conector está em processo de implantação em produção. Ao enviar uma
atualização, lembre-se de enviar a atualização para o envio existente, em vez de criar um
novo envio.

1. Navegue até a experiência da Certificação de conector no ISV Studio .

2. Na lista de conectores que você gerencia, selecione o envio do conector para


exibir as versões do conector.

3. Para atualizar um conector certificado, selecione o link para enviar uma nova
versão no painel à direita, acima das versões atuais do conector. Para atualizar uma
versão existente do conector em certificação, selecione a versão mais recente do
conector e, na parte inferior esquerda, selecione a opção Enviar uma atualização.

4. Você pode fazer o upload de uma nova versão dos artefatos e preencher
novamente o formulário de envio.

5. Depois de enviar o formulário do conector, no recurso de chat do Controle de


atividades à direita, envie uma breve descrição da alteração explicando a
atualização do conector. Essas informações devem ser públicas e escritas de
maneira voltada para o cliente, pois serão incluídas textualmente na próxima
atualização de blog Power BI Desktop.

6. Atualize também a documentação específica do conector na referência do


conector. Você pode enviar uma solicitação de pull selecionando o ícone de lápis
no canto superior direito da tela. Qualquer alteração de funcionalidade deve ser
acompanhada pela atualização de documentação correspondente.
Fornecer documentação do usuário para
seu conector personalizado
Artigo • 23/03/2023

Depois de terminar de projetar seu conector personalizado Power Query, você precisará
enviar um artigo que forneça instruções sobre como usar seu conector para publicação
no Microsoft Learn. Este artigo aborda o layout desse artigo e como formatar o texto do
seu artigo.

Layout do artigo
Esta seção descreve o layout geral dos artigos de conector do Power Query. O artigo do
seu conector personalizado deve seguir este layout geral.

Observação de suporte
Logo após o título do artigo, insira a seguinte observação.

7 Observação

O artigo sobre o conector a seguir é fornecido pela <nome da empresa>,


proprietária desse conector e membro do Programa de certificação de conector do
Microsoft Power Query. Se tiver dúvidas sobre o conteúdo deste artigo ou desejar
fazer alterações neste artigo, acesse o site da <nome da empresa> e use os canais
de suporte.

Substitua <nome da empresa> pelo nome da sua empresa.

Tabela de resumo
Após a observação de suporte, forneça uma tabela de resumo com as seguintes
informações:

Estado da versão: indica se o conector está em versão prévia ou disponibilidade


geral. Use "Versão prévia" ou "Disponibilidade Geral".
Produtos com suporte: lista os produtos que podem usar seu conector
personalizado.
Tipos de autenticação com suporte: lista os tipos de autenticação compatíveis
com o conector personalizado.
Documentação de referência de função: lista qualquer documentação da
linguagem M associada ao conector personalizado.

Se o conector personalizado for implementado em vários produtos, mas tiver


funcionalidades diferentes nesses produtos, inclua a seguinte observação, ou uma
observação semelhante, em seu artigo após a tabela de resumo.

7 Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido
a cronogramas de implantação e funcionalidades específicas do host.

Pré-requisitos
Se o conector personalizado exigir que outros aplicativos sejam instalados no sistema
que o executa ou exigir que um procedimento de configuração seja feito antes de usar
o conector personalizado, você deverá incluir uma seção de Pré-requisitos que descreva
esses procedimentos de instalação e configuração. Esta seção também incluirá
informação sobre como configurar as diversas versões do conector (se aplicável).

Funcionalidades com suporte


Esta seção deve conter uma lista das funcionalidades com suporte do conector
personalizado. Essas funcionalidades geralmente são uma lista com marcadores que
indica se o conector dá suporte aos modos Importação e DirectQuery, bem como as
opções avançadas que ficam disponíveis na caixa de diálogo inicial que aparece depois
que o usuário seleciona o conector em Obter dados.

Instruções de conexão
Esta seção contém os procedimentos necessários para se conectar aos dados. Se o
conector personalizado for usado apenas no Power Query Desktop, apenas um
procedimento será necessário. No entanto, se o conector personalizado for usado no
Power Query Desktop e no Power Query Online, você deverá fornecer procedimentos
em seções separadas para cada instância. Ou seja, se o conector personalizado for
usado apenas pelo Power Query Desktop, você terá um procedimento começando com
um subtítulo e um único procedimento passo a passo. Se o conector personalizado for
usado pelo Power Query Desktop e o Power Query Online, você terá dois
procedimentos. Cada procedimento começará com um subtítulo e deverá conter um
procedimento passo a passo separado em cada subtítulo. Para ver exemplos de cada
um desses tipos de procedimentos, acesse Artigos de conector de exemplo.

O procedimento é composto por uma lista numerada que inclui cada etapa necessária
para preencher as informações necessárias para fornecer uma conexão normal (sem
exigir opções avançadas) aos dados.

7 Observação

Todos os novos conectores certificados são necessários para dar suporte a fluxos
de dados do Power BI e devem conter seções para se conectar aos seus dados no
Power Query Desktop e no Power Query Online.

Conectar usando opções avançadas (opcional)


Se o conector personalizado contiver opções avançadas que possam ser usadas para se
conectar aos dados, essas informações deverão ser abordadas em uma seção separada
da documentação. Cada uma das opções avançadas deverá ser documentada e a
finalidade de cada opção avançada explicada nessa seção.

Solução de problemas (opcional)


Se você souber de erros comuns que possam ocorrer com o conector personalizado,
poderá adicionar uma seção de solução de problemas para descrever maneiras de
corrigir o erro ou contornar o erro. Esta seção também pode incluir informações sobre
alguma limitação conhecida do conector ou da recuperação de dados. Você também
pode incluir problemas conhecidos com o uso do conector para se conectar a dados.

Instruções adicionais (opcional)


Quaisquer outras instruções ou informações sobre o conector que não foram abordadas
pelas seções anteriores podem ir nesta seção.

Local e formato do artigo


O formato de nome de arquivo do artigo do conector deve conter apenas letras
minúsculas, com um hífen entre palavras. Por exemplo, o nome do arquivo do conector
Armazenamento de Blobs do Azure é azure-blob-storage.md. Se o nome do conector
usar acrônimos, o acrônimo inteiro contará como uma palavra. Por exemplo, o nome do
arquivo para o conector LLAP do Hive é hive-llap.md.

Seu artigo deve ser disponibilizado no GitHub na pasta conectores no repositório de


documentação do Power Query: https://github.com/MicrosoftDocs/powerquery-
docs/tree/master/powerquery-docs/connectors . Certifique-se de também adicionar
um link ao seu artigo na lista de conectores que fazem referência à imagem de logotipo
correta carregada na /connectors/media/index pasta. Por fim, não se esqueça de
adicionar um link para o seu artigo no arquivo de sumário ( TOC.yml ). Conectores
certificados só estarão disponíveis no Power BI (conjuntos de dados).

Confira nosso guia de colaboradores sobre como você pode contribuir com nosso
repositório.

O artigo deve ser formatado e enviado como um arquivo Markdown. Ele deve usar o
estilo da Microsoft para descrever procedimentos e o layout da interface do usuário.

Os artigos a seguir incluem instruções sobre como formatar seu documento em


Markdown e o estilo da Microsoft que você deverá seguir ao criar o artigo:

Referência de Markdown do Docs


Guia de Estilo de Escrita da Microsoft

Exemplos de artigos de conector


Veja alguns exemplos de artigos de conectores do Power Query que você pode usar
como ponto de partida:

Adobe Analytics (somente Power Query Desktop)


Banco de dados SQL do Azure (Power Query Desktop e Power Query Online)
Perguntas frequentes sobre o
desenvolvimento de conector
personalizado
Perguntas frequentes

Aqui estão algumas respostas para perguntas comuns que podem ocorrer ao
desenvolver conectores Power Query personalizados.

Geral
É possível mostrar um aviso se...?
Fora dos padrões de alertas documentados, atualmente não fornecemos uma maneira
de retornar avisos fora da banda, como uma tabela grande ou um aviso grande de
metadados.

É possível apresentar informações de partição de


tabela ao adicionar outro nível à hierarquia de
navegação e permitir que os usuários selecionem
uma ou mais partições?
É possível se os usuários finais desejarem frequentemente recuperar uma única partição
de dados. No entanto, essa funcionalidade não pode ser adicionada a um conector já
existente. Basicamente, essa alteração estragaria um conector já existente.

Solução de problemas
O conector personalizado que estou
desenvolvendo funciona bem no Power BI
Desktop. Porém, quando tento executá-lo no
serviço do Power BI, não consigo definir as
credenciais nem configurar a fonte de dados.
Qual é o problema?
Pode haver várias razões pelas quais você está vendo esse comportamento. Alguns
erros comuns que podem ocorrer durante a execução do conector no serviço do Power
BI são:

Falha ao atualizar as credenciais de fonte de dados


Uma exceção que ocorre ao tentar obter OAuthProvider de DataSourceReference
Não há suporte para o tipo de fonte de dados fornecida

Antes de começar a solucionar esse comportamento, primeiro obtenha uma cópia do


conector personalizado (arquivo .pq ou .mez). Se o arquivo for .mez, renomeie o arquivo
para .zip e extraia o arquivo .pq.

Para solucionar problemas do conector personalizado:

1. Abra o arquivo do conector personalizado (.pq) em um editor de texto de sua


escolha.

2. Localize a função TestConnection . A função TestConnection é necessária para


atualização agendada no serviço do Power BI, mas não é usada no Power BI
Desktop. Verifique o arquivo .pq para obter uma implementação TestConnection e
confirme se os parâmetros correspondem à função de fonte de dados do conector.
Para mais informações, consulte: Como lidar com o suporte do gateway

3. Se o conector usar OAuth, verifique o parâmetro state . Uma causa comum de


falhas em "apenas serviço" é a falta do parâmetro state na implementação do
conector StartLogin . Esse parâmetro não é usado no Power BI Desktop, mas é
necessário no serviço do Power BI. O parâmetro state deve ser passado na
chamada do Uri.BuildQueryString. O exemplo a seguir demonstra a implementação
correta de state .

Power Query M

StartLogin = (resourceUrl, state, display) =>


let
authorizeUrl = authorize_uri & "?" & Uri.BuildQueryString([
response_type = "code",
client_id = client_id,
state = state, //correct implementation
redirect_uri = redirect_uri,
resource = resource
])
in
[
LoginUri = authorizeUrl,
CallbackUri = redirect_uri,
WindowHeight = 720,
WindowWidth = 1024,
Context = null
];

Quando um esquema ou banco de dados é


aberto no navegador do Power Query, ele
começa a buscar imediatamente todas as tabelas
no banco de dados em vez de aguardar a
seleção de uma tabela. O que está causando esse
comportamento?
Esse comportamento pode ser um efeito colateral de como você está criando sua tabela
de navegação. Se você estiver criando novos registros com Table.TransformRows, essa
utilização geralmente resulta em uma avaliação antecipada das tabelas de dados. No
entanto, os valores produzidos por Table.AddColumn são produzidos lentamente.
Portanto, no código de exemplo a seguir, "each GetSchemas(url, [name])" não será
avaliado, a menos que a consulta do usuário realmente referencie esses dados.

Power Query M

GetShares = (server_host as text) as table =>


let
url = server_host & "/shares",
shares = GetItems(url),
withData = Table.AddColumn(shares, "Data", each GetSchemas(url,
[name])),
withItemKind = Table.AddColumn(withData, "ItemKind", each "Folder"),
withItemName = Table.AddColumn(withItemKind, "ItemName", each
"Folder"),
withIsLeaf = Table.AddColumn(withItemName, "IsLeaf", each false),
renamed = Table.RenameColumns(withIsLeaf, {{"name", "Name"}, {"key",
"Key"}}),
navTable = Table.ToNavigationTable(renamed, {"Key"}, "Name", "Data",
"ItemKind", "ItemName", "IsLeaf")
in
navTable;

Uma única tabela pode consistir de vários


arquivos particionados. A implementação atual
baixa todos os arquivos antes de mostrar uma
visualização. Há uma maneira de evitar o
download de todos os arquivos e baixar os
arquivos somente se ainda houver linhas
suficientes para a visualização?
Esse comportamento é um efeito colateral do uso do Table.Combine. Um método
alternativo é criar uma "tabela de tabelas" e usar a função Table.ExpandTableColumn.
Esse método expande lentamente as partições conforme necessário. Por exemplo:

Power Query M

GetFiles = (tables_url as text, table_name as text) as table =>


let
// parse raw ndjson and get the list of parquet files
// resp format: line 1: protocol, line 2: schema, line 3..:file info
resp = Lines.FromBinary(SendRequest(tables_url & "/" & table_name &
"/query", [
Headers= [#"Content-Type"="application/json"],
Content= Text.ToBinary("{}")
]), null, null, 1252),
protocol = resp{0}, // TODO: Add protocol version check
schema = Json.Document(Json.Document(resp{1})[metaData]
[schemaString])[fields],
columnNames = List.Transform(schema, each [name]),

fileInfos = List.Range(resp, 2),


fileUrls = List.Transform(fileInfos, each Json.Document(_)[file]
[url]),
numFiles = List.Count(fileUrls),

toTable = Table.FromList(fileUrls, Splitter.SplitByNothing(),


{"FileUrl"}),
processPartition = Table.AddColumn(toTable, "Data", each
Parquet.Document(Binary.Buffer(ProtectSensitiveQueryParameters([FileUrl],
[ManualCredentials = true])))),
removeFileUrl = Table.RemoveColumns(processPartition, {"FileUrl"}),
expanded = Table.ExpandTableColumn(removeFileUrl, "Data",
columnNames)
in
if numFiles = 0 then #table(columnNames, {}) else expanded;

ProtectSensitiveQueryParameters = (url as text, options as record) =>


let
uriParts = Uri.Parts(uri),
uriWithoutQuery = Uri.FromParts(uriParts & [Query = []]),
modifiedOptions = options & [
CredentialQuery = uriParts[Query],
]
in
Web.Contents(uriWithoutQuery, modifiedOptions);
Informações adicionais

7 Observação

Se você estiver interessado em contratar um consultor terceirizado recomendado


que desenvolve conectores personalizados, entre em contato com um
representante da Microsoft.
Documentação do Power BI
O Power BI amplifica os insights e o valor dos dados. Com a documentação do Power BI, você
obtém informações e respostas de especialistas para atender às suas necessidades,
independentemente de como você usa o Power BI.

COMEÇAR AGORA TUTORIAL


Baixar o Power BI Desktop Microsoft Fabric para usuários
gratuitamente do Power BI

COMEÇAR AGORA CONCEITO


O que é Microsoft Fabric? Recursos do Power BI Premium

TREINAMENTO CONCEITO
Introdução ao DAX Novo nome para os conjuntos
de dados do Power BI

GUIA DE INSTRUÇÕES TREINAMENTO


Editar modelos de dados no Estudar o Power BI do início ao
serviço do Power BI fim no treinamento da Microsoft

Faça mais no Power BI


Use os serviços de software, aplicativos e conectores do Power BI para transformar suas fontes de
dados não relacionadas em insights coerentes, visualmente imersivos e interativos.

Power BI: Introdução Enterprise


e O que é Power BI? e Licenciamento para os usuários da sua
b Introdução ao Power BI Desktop organização

g Introdução à criação no serviço do Power BI p Segurança


Ver todos os documentos de introdução T p Proteção de dados

Ver todos os documentos corporativos T

Administrar o Power BI Desenvolvimento no Power BI


e O que é administração do Power BI? e O que é a análise integrada do Power BI?
c Configurações do portal do administrador e Power BI Embedded
c Usar a mesma conta para o Power BI e o Azure e Desenvolver seu próprio visual do Power BI

Ver todos os documentos de administração T Ver todos os documentos do desenvolvedor T

Conectar-se aos dados Datamarts (Versão prévia)


g Conectar aos dados e Visão geral de datamarts (versão prévia)
p Gateway de dados local p Entender datamarts (versão prévia)
p Descobrir dados no Hub de dados g Introdução aos datamarts (versão prévia)

Ver todos os documentos de conexão de dados T Ver todos os documentos de datamarts T

Modelar dados Criar relatórios e dashboards


c Adicionar uma coluna personalizada c Criar relatórios para obter acessibilidade
g Criar colunas calculadas p Criar um relatório paginado com base em um
modelo semântico compartilhado
c Criar e gerenciar relações
c Personalizar botões em relatórios
Ver todos os documentos de modelagem de dados
T Ver todos os documentos de criação de relatório T

Colabore e compartilhe Integração entre produtos


p Compartilhar dashboards e relatórios p Azure e Power BI
c Criar workspaces p Analisar no Excel
c Adicionar o aplicativo Power BI ao Microsoft p Exportar e enviar por email com o Power
Teams Automate

Ver todos os documentos de colaboração T Ver todos os documentos de integração do


produto T

Power BI para usuários empresariais Power BI nos aplicativos móveis


b Sou um usuário empresarial do Power BI? b Quais são os aplicativos móveis?
b Como explorar o serviço do Power BI f Explorar painéis e relatórios
p O que é um dashboard? d Obter dados em qualquer lugar com os
aplicativos móveis
Ver todos os documentos do usuário empresarial
T Ver todos os documentos de aplicativos móveis T

Recursos adicionais do Power BI

Diretrizes de práticas recomendadas Catálogo de treinamento


p Roteiro de adoção do Power BI d Tomadores de decisão de negócios
p Planejamento de implementação do Power BI d Analistas de dados
p Guia de otimização para o Power BI d Arquitetos de solução

Ver todos os documentos de diretrizes T Ver todos os documentos do catálogo de


treinamento T

Solução de problemas Suporte


e Problemas conhecidos em recursos do Power BI c Opções de suporte do Power BI Pro e do Power
BI Premium
c Solucionar problemas de cenários de
atualização c Controlar a integridade do serviço do Power BI
no Microsoft 365
c Solucionar problemas de assinatura de
relatórios e dashboards c Mover o Power BI para outra região

Ver todos os documentos de solução de problemas Ver todos os documentos de suporte T


Ferramentas relacionadas na família Power BI

Power BI Report Builder Servidor de Relatórios do APIs REST do Power BI


O Power BI Report Builder é Power BI As APIs REST do Power BI
uma ferramenta independente Explore o Servidor de fornecem pontos de
para criação de relatórios Relatórios do Power BI, um extremidade de serviço para a
paginados que você pode… servidor de relatório local com inserção, administração e…
um portal da Web no qual…

APIs do cliente da análise


integrada do Power BI
Uma biblioteca do lado do
cliente para inserir o Power BI
usando JavaScript ou
TypeScript.

Conteúdo sobre produtos relacionados

Microsoft Fabric Power Platform Power Apps


A plataforma unificada para Aproveite ao máximo os Crie rapidamente aplicativos
atender às necessidades de produtos do Microsoft Power de baixo código que
dados e análises da sua Platform com cursos de modernizam processos e
organização. Descubra os… treinamento, documentos e… resolvem desafios de negócio…

Power Automate Power Pages Power Virtual Agents


Crie fluxos de trabalho Crie, hospede e administre Crie bots avançados usando
automatizados entre seus sites de negócios seguros, uma interface gráfica
aplicativos e serviços favoritos modernos e de baixo código. orientada, sem código, sem a
para sincronizar arquivos,… necessidade de…
Referência de função do Power Query M
Artigo • 06/04/2023

A referência de função do Power Query M inclui artigos para cada uma das mais de 700
funções. Esses artigos de referência são gerados automaticamente da ajuda interna do
produto. Para saber mais sobre as funções e como elas funcionam em uma expressão,
vá para Entender as funções do Power Query M.

Funções por categoria


Como acessar funções de dados
Funções binárias
Funções de combinação
Funções de comparação
Funções de data
Funções de DateTime
Funções de DateTimeZone
Funções de duração
Tratamento de erros
Funções de expressão
Valores de Função
Funções de lista
Funções de linha
Funções lógicas
Funções numéricas
Funções de registro
Funções de substituto
Funções de divisor
Função de tabela
Funções de texto
Funções de hora
Funções de tipo
Funções de URI
Funções de valor

Comentários

ツ Yes ト No
ツ Yes ト No
Was this page helpful?

Obter ajuda no Microsoft Q&A


Especificação da linguagem do Power
Query M
Artigo • 06/04/2023

A especificação descreve os valores, as expressões, os ambientes e as variáveis, os


identificadores e o modelo de avaliação que formam os conceitos básicos da linguagem
Power Query M.

A especificação está contida nos tópicos a seguir.

Introdução
Estrutura lexical
Conceitos básicos
Valores
Types
Operadores
Let
Condicionais
Funções
Tratamento de erro
Seções
Gramática consolidada

Comentários
Was this page helpful? ツ Yes ト No

Obter ajuda no Microsoft Q&A


Tipos na linguagem de fórmula do
Power Query M
Artigo • 21/03/2023

A linguagem de fórmula do Power Query M é uma linguagem de mashup de dados útil


e expressiva. No entanto, ela tem algumas limitações. Por exemplo, não há nenhuma
imposição forte do sistema de tipos. Em alguns casos, uma validação mais rigorosa é
necessária. Felizmente, o M fornece uma biblioteca interna compatível com tipos para
viabilizar uma validação mais forte.

Os desenvolvedores devem ter uma compreensão abrangente do sistema de tipos para


que possam fazer isso com qualquer generalidade. E embora a especificação da
linguagem do Power Query M explique bem o sistema de tipos, ela ainda deixa algumas
surpresas. Por exemplo, a validação de instâncias de função requer uma forma de
comparar tipos quanto à compatibilidade.

Ao explorar o sistema de tipos do M mais cuidadosamente, muitos desses problemas


poderão ser esclarecidos e os desenvolvedores se capacitarão a criar as soluções de que
precisam.

O conhecimento de cálculo de predicados e a teoria ingênua dos conjuntos devem ser


adequados para a compreensão da notação usada.

ETAPAS PRELIMINARES
(1) B := { true; false }
B é o conjunto típico de valores boolianos

(2) N := { identificadores válidos de M }


N é o conjunto de todos os nomes válidos em M. Isso é definido em outro lugar.

(3) P := ⟨B, T⟩
P é o conjunto de parâmetros de função. Cada um é possivelmente opcional e tem um
tipo. Os nomes de parâmetro são irrelevantes.

(4) Pn := ⋃0≤i≤n ⟨i, Pi⟩


Pn é o conjunto de todas as sequências ordenadas de n parâmetros de função.

(5) P* := ⋃0≤i≤∞Pi
P* é o conjunto de todas as sequências possíveis de parâmetros de função, em ordem
crescente, começando pelas de comprimento 0.
(6) F := ⟨B, N, T⟩
F é o conjunto de todos os campos de registro. Cada campo é possivelmente opcional, tem
um nome e um tipo.

(7) Fn := ∏0≤i≤nF
Fn é o conjunto de todos os campos de registro.

(8) F* := ( ⋃0≤i≤∞Fi ) ∖ { F | ⟨b1, n1, t1⟩, ⟨b2, n2, t2⟩ ∈ F ⋀ n1 = n2 }


F* é o conjunto de todos os conjuntos (de qualquer tamanho) de campos de registro,
exceto pelos conjuntos em que mais de um campo tem o mesmo nome.

(9) C := ⟨N,T⟩
C é o conjunto de tipos de coluna para tabelas. Cada coluna tem um nome e um tipo.

(10) Cn ⊂ ⋃0≤i≤n ⟨i, C⟩


Cn é o conjunto de todas as sequências de tipos de coluna n.

(11) C* := ( ⋃0≤i≤∞Ci ) ∖ { Cm | ⟨a, ⟨n1, t1⟩⟩, ⟨b, ⟨n2, t2⟩⟩ ∈ Cm ⋀ n1 = n2 }


C* é o conjunto de todas as combinações (de qualquer tamanho) de tipos de coluna,
exceto aquelas em que mais de uma coluna tem o mesmo nome.

TIPOS DE M
(12) TF := ⟨P, P*⟩
Um tipo de função consiste em um tipo de retorno e uma lista ordenada de zero ou mais
parâmetros de função.

(13) TL :=〖T〗
Um tipo de lista é indicado por um determinado tipo (chamado de "tipo de item")
encapsulado entre chaves. Como as chaves são usadas na metalanguagem, 〖 〗 os
colchetes são usados neste documento.

(14) TR := ⟨B, F*⟩


Um tipo de registro tem um sinalizador que indica se ele está "aberto" e tem zero ou mais
campos de registro não ordenados.

(15) TRo := ⟨true, F⟩

(16) TR• := ⟨false, F⟩


TRo e TR• são atalhos de notação para tipos de registro abertos e fechados,
respectivamente.

(17) TT := C*
Um tipo de tabela é uma sequência ordenada de zero ou mais tipos de coluna, em que
não há conflitos de nome.

(18) TP := { any; none; null; logical; number; time; date; datetime; datetimezone; duration;
text; binary; type; list; record; table; function; anynonnull }
Um tipo primitivo é um contido nesta lista de palavras-chave do M.

(19) TN := { tn, u ∈ T | tn = u+null } = nullable t


Qualquer tipo também pode ser marcado como permitindo valor nulo, usando apalavra-
chave "nullable".

(20) T := TF ∪ TL ∪ TR ∪ TT ∪ TP ∪ TN
O conjunto de todos os tipos do M é a união de todos estes seis conjuntos de tipos:
Tipos de função, tipos de lista, tipos de registro, tipos de tabela, tipos primitivos e tipos que
permitem valor nulo.

FUNÇÕES
É necessário definir uma função: NonNullable : T ← T
Essa função usa um tipo e retorna um tipo equivalente, exceto pelo fato de que esse
segundo tipo não está em conformidade com o valor nulo.

IDENTIDADES
Algumas identidades são necessárias para definir alguns casos especiais e também
podem ajudar a elucidar os casos acima.

(21) nullable any = any


(22) nullable anynonnull = any
(23) nullable null = null
(24) nullable none = null
(25) nullable nullable t ∈ T = nullable t
(26) NonNullable(t ∈ T que permitem valor nulo) = NonNullable(t)
(27) NonNullable(qualquer) = anynonnull

COMPATIBILIDADE DE TIPO
Conforme ressaltado em outra parte deste documento, um tipo M será compatível com
outro tipo M se e somente se todos os valores que estiverem em conformidade com o
primeiro tipo também estiverem em conformidade com o segundo tipo.
Aqui é definida uma relação de compatibilidade que não depende de os valores
estarem em conformidade e é baseada nas propriedades dos próprios tipos. O que se
espera é que essa relação, conforme definido neste documento, seja completamente
equivalente à definição semântica original.

A relação "é compatível com" : ≤ : B ← T × T


Na seção abaixo, uma letra t minúscula sempre representará um tipo do M, um
elemento de T.

Um Φ representará um subconjunto de F* ou de C*.

(28) t ≤ t
Essa relação é reflexiva.

(29) ta ≤ tb ∧ tb ≤ tc → ta ≤ tc
Essa relação é transitiva.

(30) none ≤ t ≤ any


Os tipos do M formam uma malha sobre essa relação; none é a parte inferior e any é a
parte superior.

(31) ta, tb ∈ TN ∧ ta ≤ ta → NonNullable(ta) ≤ NonNullable(tb)


Se dois tipos forem compatíveis, os equivalentes NonNullable também serão compatíveis.

(32) null ≤ t ∈ TN
O tipo primitivo null é compatível com todos os tipos que permitem valor nulo.

(33) t ∉ TN ≤ anynonnull
Todos os tipos NonNullable são compatíveis com anynonnull.

(34) NonNullable(t) ≤ t
Um tipo NonNullable é compatível com o equivalente anulável.

(35) t ∈ TF → t ≤ function
Todos os tipos de função são compatíveis com function.

(36) t ∈ TL → t ≤ list
Todos os tipos de lista são compatíveis com list.

(37) t ∈ TR → t ≤ record
Todos os tipos de registro são compatíveis com record.

(38) t ∈ TT → t ≤ table
Todos os tipos de tabela são compatíveis com table.
(39) ta ≤ tb ↔ 〖ta〗≤〖tb〗
Um tipo de lista será compatível com outro tipo de lista se os tipos de item forem
compatíveis e vice-versa.

(40) ta ∈ TF = ⟨ pa, p* ⟩, tb ∈ TF = ⟨ pb, p* ⟩ ∧ pa ≤ pb → ta ≤ tb


Um tipo de função será compatível com outro tipo de função se os tipos de retorno forem
compatíveis e as listas de parâmetros forem idênticas.

(41) ta ∈ TRo, tb ∈ TR• → ta ≰ tb


Um tipo de registro aberto nunca é compatível com um tipo de registro fechado.

(42) ta ∈ TR• = ⟨false, Φ⟩, tb ∈ TRo = ⟨true, Φ⟩ → ta ≤ tb


Um tipo de registro fechado é compatível com outro tipo de registro quase idêntico, exceto
por ser aberto.

(43) ta ∈ TRo = ⟨true, (Φ, ⟨true, n, any⟩)⟩, tb ∈ TRo = ⟨true, Φ⟩ → ta ≤ tb ∧ tb ≤ ta


Um campo opcional com o tipo any pode ser ignorado ao comparar dois tipos de registros
abertos.

(44) ta ∈ TR = ⟨b, (Φ, ⟨β, n, ua⟩)⟩, tb ∈ TR = ⟨b, (Φ, ⟨β, n, ub⟩)⟩ ∧ ua ≤ ub → ta ≤ tb


Dois tipos de registro que diferem somente por um campo serão compatíveis se o nome e
a opcionalidade do campo forem idênticos e os tipos desse campo forem compatíveis.

(45) ta ∈ TR = ⟨b, (Φ, ⟨false, n, u⟩)⟩, tb ∈ TR = ⟨b, (Φ, ⟨true, n, u⟩)⟩ → ta ≤ tb


Um tipo de registro com um campo não opcional é compatível com um tipo de registro
quase idêntico, exceto por ter esse campo como opcional.

(46) ta ∈ TRo = ⟨true, (Φ, ⟨b, n, u⟩)⟩, tb ∈ TRo = ⟨true, Φ⟩ → ta ≤ tb


Um tipo de registro aberto é compatível com outro tipo de registro aberto que tem um
campo a menos.

(47) ta ∈ TT = (Φ, ⟨i, ⟨n, ua⟩⟩), tb ∈ TT = (Φ, ⟨i, ⟨n, ub⟩⟩) ∧ ua ≤ ub → ta ≤ tb


Um tipo de tabela é compatível com um segundo tipo de tabela quase idêntico, exceto por
ter uma coluna com um tipo diferente, quando os tipos dessa coluna são compatíveis.

REFERENCES
Microsoft Corporation (agosto de 2015)
Especificação de linguagem de fórmula do Microsoft Power Query para Excel [PDF]
Recuperado de https://msdn.microsoft.com/library/mt807488.aspx

Microsoft Corporation. (n. d.)


Referência de função do Power Query M [página da Web]
Recuperado de https://msdn.microsoft.com/library/mt779182.aspx
Comentários
Was this page helpful? ツ Yes ト No

Obter ajuda no Microsoft Q&A

Você também pode gostar