Corrigir problemas de desempenho

Concluído

Por vezes, as organizações têm de resolver problemas de desempenho enquanto executam relatórios. O Power BI fornece a ferramenta Analisador de Desempenho para ajudar a corrigir problemas e a simplificar o processo.

Considere o cenário em que está a criar relatórios para a equipa de Vendas na sua organização. Importou os dados, que estão em várias tabelas na base de dados SQL da equipa de vendas, ao criar uma ligação de dados para a base de dados através do DirectQuery. Ao criar filtros e elementos visuais preliminares, repara que algumas tabelas são mais rapidamente consultadas do que outras e que alguns filtros demoram mais tempo a processar face a outros.

Otimizar o desempenho no Power Query

O desempenho no Power Query depende do desempenho ao nível da origem de dados. A variedade de origens de dados que Power Query oferece é ampla e as técnicas de otimização do desempenho para cada origem são igualmente amplas. Por exemplo, se extrair dados de um servidor do Microsoft SQL Server, deverá seguir as orientações de ajuste de desempenho do produto. As técnicas de otimização do desempenho SQL Server incluem a criação de índices, atualizações de hardware, otimização do plano de execução e compressão de dados. Estes tópicos não se incluem no atual âmbito, sendo abrangidos apenas como exemplo para que conheça melhor a sua origem de dados e aproveite os benefícios ao utilizar o Power BI e o Power Query.

O Power Query tira partido do bom desempenho na origem de dados através de uma técnica chamada Dobragem de Consultas.

Dobragem de consultas

A dobragem de consultas no Editor do Power Query ajuda a aumentar o desempenho dos seus relatórios do Power BI. A dobragem de consultas é o processo pelo qual as transformações e edições que efetua no Editor do Power Query são controladas simultaneamente como consultas nativas ou instruções SQL Selecionar simples enquanto faz transformações ativamente. A razão para implementar este processo é garantir que estas transformações podem ocorrer no servidor de origem de dados original e não sobrecarregar os recursos de computação do Power BI.

Pode utilizar o Power Query para carregar dados para o Power BI. Em seguida, utilize Editor do Power Query para transformar os seus dados, como mudar o nome ou eliminar colunas, acrescentar, analisar, filtrar ou agrupar os seus dados.

Considere um cenário em que mudou o nome de algumas colunas nos dados da tabela Vendas e uniu as colunas "cidade" e "estado" no formato "cidade estado". Entretanto, a funcionalidade de dobragem de consulta controla essas alterações nas consultas nativas. Em seguida, quando carregar os seus dados, as transformações serão efetuadas de forma independente na origem de dados original. Isto garante que o desempenho é otimizado no Power BI.

As vantagens da dobragem de consultas incluem:

  • Mais eficiência em atualizações de dados e atualizações incrementais. Quando importa tabelas de dados através da dobragem de consultas, o Power BI é mais capaz de alocar recursos e atualizar os dados mais rapidamente, uma vez que o Power BI não tem de executar cada transformação localmente.

  • Compatibilidade automática com os modos de armazenamento DirectQuery e Duplo. Todas as origens de dados com os modos de armazenamento DirectQuery e Duplo têm de ter capacidades de processamento de servidor de back-end para criar uma ligação direta, o que significa que a dobragem de consultas é uma capacidade automática que pode utilizar. Se todas as transformações puderem ser reduzidas a uma única instrução Select, poderá ocorrer a dobragem de consultas.

O seguinte cenário mostra a dobragem de consultas em ação. Neste cenário, aplicamos um conjunto de consultas a múltiplas tabelas. Depois de adicionar uma nova origem de dados com Power Query e ser direcionado para o Editor do Power Query, aceda ao painel Definições da Consulta e clique com o botão direito do rato no último passo aplicado, conforme mostrado na figura seguinte.

Captura de ecrã do último passo aplicado com o botão direito do rato para mostrar o menu de contexto.

Se a opção Ver Consulta Nativa não estiver disponível (não apresentada a negrito), a dobragem de consultas não é possível para este passo e terá de trabalhar para trás na área Passos Aplicados até chegar ao passo em que a opção Ver Consulta Nativa está disponível (apresentada a negrito). Este processo irá revelar a consulta nativa que é utilizada para transformar o modelo semântico.

As consultas nativas não são possíveis para as seguintes transformações:

  • Adicionar uma coluna de índice
  • Intercalar e anexar colunas de tabelas diferentes com duas origens diferentes
  • Alterar o tipo de dados de uma coluna

Uma boa orientação a ter em mente é que, se puder traduzir uma transformação para uma instrução SQL Select, que inclui operadores e cláusulas como GROUP BY, SORT BY, WHERE, UNION ALL e JOIN, pode utilizar a dobragem de consultas.

Apesar de a dobragem de consultas ser uma opção para otimizar o desempenho ao obter, importar e preparar dados, o diagnóstico de consultas também é uma opção.

Diagnóstico de consultas

Outra ferramenta que pode utilizar para estudar o desempenho da consulta é o diagnóstico de consultas. Pode determinar que estrangulamentos podem existir ao carregar e transformar os seus dados, atualizar os dados no Power Query, executar instruções SQL no Editor do Power Query, etc.

Para aceder aos diagnósticos de consultas no Editor do Power Query, aceda a Ferramentas no friso Base. Quando estiver pronto para começar a transformar os seus dados ou a efetuar outras edições no Editor do Power Query, selecione Iniciar Diagnóstico na secção Diagnóstico de Sessão. Quando terminar, certifique-se de que seleciona Parar Diagnóstico.

Captura de ecrã do separador Ferramentas com opções de diagnóstico de sessão no power query Revisor.

Ao selecionar Passo de Diagnóstico verá o período de tempo que a execução desse passo demora, como mostra a seguinte imagem. Esta seleção diz-lhe se um passo demora mais do que outros a ser concluído, o que serve de ponto de partida para uma investigação mais aprofundada.

Captura de ecrã a mostrar a aplicação de diagnósticos de consultas.

Esta ferramenta é útil quando pretende analisar o desempenho no lado do Power Query para tarefas como carregar modelos semânticos, executar atualizações de dados ou executar outras tarefas transformadoras.

Outras técnicas para otimizar o desempenho

Outras formas de otimizar o desempenho de consultas no Power BI incluem:

  • Processar o máximo de dados possível na origem de dados original. O Power Query e o Editor do Power Query permitem-lhe processar os dados. No entanto, a capacidade de processamento necessária para concluir esta tarefa poderá prejudicar o desempenho noutras áreas dos seus relatórios. Geralmente, é uma prática recomendada processar o máximo possível na origem de dados nativa.

  • Utilizar consultas SQL nativas. Ao utilizar o DirectQuery para bases de dados SQL, como o caso do nosso cenário, certifique-se de que não está a solicitar dados de procedimentos armazenados ou expressões de tabela comuns (CTEs).

  • Separar a data e a hora, se estiverem juntas. Se alguma das suas tabelas tiver colunas que combinam datas e horas, certifique-se de que as separa em colunas distintas, antes de as importar para o Power BI. Esta abordagem irá aumentar as capacidades de compressão.

Para obter mais informações, consulte Orientação Relativa à Dobragem de Consultas e Query Folding (Dobragem de Consultas).