Registar diagnósticos de consulta no Power BI

Quando crias uma consulta no Power Query, o fluxo de trabalho básico é ligar-te a uma fonte de dados, aplicar algumas transformações, eventualmente atualizar os teus dados no editor Power Query e depois carregá-los no modelo Power BI. Depois de os dados estarem no modelo Power BI, podes atualizá-los de vez em quando no Power BI Desktop (se estiveres a usar o Desktop para visualizar análises), para além das atualizações que faças no serviço.

Embora possa obter um resultado semelhante no final de um fluxo de trabalho de autoria, atualizando no editor ou atualizando no próprio Power BI, o software executa avaliações muito diferentes para as diferentes experiências de utilizador que proporciona. É importante saber o que esperar ao fazer diagnósticos de consulta nestes diferentes fluxos de trabalho para não ser surpreendido com os diferentes dados de diagnóstico.

Para iniciar o Diagnóstico de Consultas, vá ao separador Ferramentas na faixa do editor Power Query. Vês algumas opções diferentes.

Captura de ecrã do friso do editor do Power Query.

Estão disponíveis duas opções principais: Diagnosticar etapa e Iniciar diagnóstico (em conjunto com Parar diagnóstico). A primeira opção dá-lhe informação sobre uma consulta até um passo selecionado, sendo mais útil para compreender que operações são realizadas local ou remotamente numa consulta. Esta última opção dá-lhe mais informações sobre vários outros casos, discutidos na secção seguinte.

Especificidades do conector

Este artigo não consegue abranger todas as diferentes combinações possíveis no Diagnóstico de Consultas. Muitas coisas podem alterar os resultados que vê, incluindo:

  • Connector
  • Transformadas aplicadas
  • Sistema em que estás a operar
  • Configuração de rede
  • Escolhas avançadas de configuração
  • Configuração ODBC

Para uma cobertura mais abrangente, este artigo foca-se nos Diagnósticos de Consulta da tabela Northwind Customers, tanto em SQL como em OData. As notas do OData utilizam o endpoint público encontrado em OData.org, enquanto é necessário fornecer o seu próprio servidor SQL. Muitas fontes de dados diferem significativamente dessas fontes. Com o tempo, a Microsoft adiciona documentação específica para conectores.

Iniciar e parar o diagnóstico

Os comandos Start Diagnostics e Stop Diagnostics cobrem mais cenários do que o Passo de Diagnóstico. Também fornecem mais informações que precisa de analisar. Por exemplo, iniciar diagnósticos, atualizar uma pré-visualização e depois parar o diagnóstico fornece informação equivalente à execução do Diagnose Step em cada etapa. Esta equivalência existe devido à forma como o Power Query funciona no editor para atualizar cada passo de forma independente.

Para começar a gravar, selecione Iniciar Diagnóstico, realize as avaliações que quiser (autoria, atualização de pré-visualização, atualização completa) e depois selecione Parar Diagnóstico.

Redação

O fluxo de trabalho de autoria difere principalmente de outros fluxos de trabalho porque, em geral, gera avaliações mais individuais. Conforme discutido no artigo principal sobre Diagnóstico de Consultas, estas avaliações resultam do preenchimento de várias interfaces de utilizador, como o navegador ou as listas pendentes de filtro.

Esta secção apresenta um exemplo. O exemplo usa o conector OData, mas ao rever o resultado, também se vê a versão SQL da mesma base de dados. Para ambas as fontes de dados, liga-se à fonte de dados através de New Source, Recent Sources ou Get Data. Para a ligação SQL, tens de introduzir as credenciais do teu servidor, mas para o endpoint público OData, podes introduzir o endpoint ligado anteriormente.

Captura de ecrã que mostra a ligação OData.

Depois de se ligar e escolher autenticação, selecione a tabela Clientes do serviço OData.

Captura de ecrã que mostra a navegação do Northwind.

Vê a tabela Clientes na interface do Power Query. Suponha que quer saber quantos Representantes de Vendas existem em diferentes países ou regiões. Primeiro, clique com o botão direito em Representante de Vendas na coluna Título do Contacto , passe o rato sobre Filtros de Texto e selecione Iguais.

Captura de ecrã que mostra a opção de filtro de texto.

Agora, selecione Agrupar por na fita e faça um agrupamento por País, com o seu agregado a ser uma Contagem.

Captura de ecrã que mostra a operação Agrupar por Grupo.

Vê os mesmos dados que vê na imagem seguinte.

Captura de ecrã que mostra os resultados.

Por fim, volte ao separador Ferramentas da fita e selecione Parar Diagnóstico. Esta ação interrompe o rastreio e gera o seu ficheiro de diagnósticos. O resumo e as tabelas detalhadas aparecem no lado esquerdo.

Se acompanharmos uma sessão de autoria completa, geralmente vemos algo como uma avaliação da consulta de origem, depois avaliações relacionadas com o navegador correspondente e, em seguida, pelo menos uma consulta emitida por cada passo aplicado (podendo haver mais, consoante as ações exatas efetuadas na interface). Em alguns conectores, as avaliações paralelas acontecem por razões de desempenho que geram conjuntos semelhantes de dados.

Atualizar pré-visualização

Depois de terminares de transformar os teus dados, crias uma sequência de passos numa consulta. Quando seleciona Atualizar a Pré-visualização ou Atualizar Tudo no editor do Power Query, não vê apenas um único passo nos diagnósticos da consulta. Atualizar no Editor do Power Query atualiza explicitamente a consulta que termina com o último passo aplicado. Depois, recua pelos passos aplicados e atualiza a consulta até esse ponto, de volta à fonte.

Este processo significa que, se tiver cinco etapas na sua consulta, incluindo Source e Navigator, verá cinco avaliações diferentes nos seus diagnósticos. A primeira avaliação, cronologicamente, muitas vezes (mas nem sempre) demora mais tempo. Duas razões diferentes causam esta duração mais longa:

  • Potencialmente, armazena em cache dados de entrada que as consultas executadas depois dele (representando etapas anteriores da Consulta do Utilizador) conseguem aceder localmente mais rapidamente.
  • Tem transformações aplicadas que truncam significativamente a quantidade de dados que devolve.

Quando seleciona Atualizar Tudo, todas as consultas são atualizadas. Tens de filtrar os que te interessam, como seria de esperar.

Atualização completa

O Diagnóstico de Consultas pode ser utilizado para diagnosticar a chamada consulta final que é gerada durante a atualização no Power BI, e não apenas a experiência no editor do Power Query. Para isso, primeiro precisas de carregar os dados no modelo uma vez. Se tencionas fazer isto, certifica-te de que te apercebes de que, se selecionares Fechar e Aplicar, a janela do editor fecha-se (interrompendo o rastreio), pelo que terás de o fazer na segunda atualização ou selecionar o ícone da lista pendente em Fechar e Aplicar e, em vez disso, selecionar Aplicar.

Captura de ecrã que mostra o botão para aplicar alterações de consulta.

De qualquer forma, certifica-te de selecionar Iniciar Diagnóstico na secção de Diagnósticos do separador Ferramentas no editor. Quando selecionares esta opção, atualiza o teu modelo, ou até mesmo a tabela que te interessa.

Captura de ecrã que mostra a opção de atualizar dados.

Quando os dados terminarem de carregar no modelo, selecione Parar Diagnóstico.

Vê-se uma combinação de metadados e consultas de dados. As chamadas de metadados recolhem a informação que conseguem sobre a fonte de dados. A recuperação de dados consiste em aceder à fonte de dados, emitir a Data Source Query final construída com operações simplificadas, e depois realizar localmente as avaliações que remanescem por cima.

É importante notar que, só porque vê um recurso (base de dados, endpoint web, etc.) ou uma consulta de fonte de dados nos seus diagnósticos, não significa necessariamente que esteja a realizar atividade de rede. O Power Query pode recuperar esta informação da sua cache.

Etapa de diagnóstico

A funcionalidade Diagnose Step fornece informações sobre as avaliações que são realizadas até um determinado passo. Esta informação ajuda-o a identificar como o desempenho se compara a esse passo e que partes da sua consulta são executadas local ou remotamente.

Se usares Diagnose Step na consulta que criaste anteriormente, vês que ele retorna cerca de 10 linhas. Se observar a última linha com uma consulta à origem de dados, fica com uma ideia clara do aspeto da consulta final enviada para a origem de dados. Neste caso, vê-se que o Power Query filtra o Representante de Vendas remotamente, mas o agrupamento ocorre localmente.

Captura de ecrã que mostra a tabela de Clientes filtrada e agrupada.

Se iniciares e parares o diagnóstico e atualizares a mesma consulta, obténs 40 linhas. Como mencionado anteriormente, o Power Query recebe informações sobre cada etapa, não apenas a etapa final. Este comportamento torna mais difícil obter insights sobre uma parte específica da sua consulta.