Corrigir problemas de desempenho

Concluído

Ocasionalmente, as organizações precisarão resolver problemas de desempenho ao executar relatórios. O Power BI fornece a ferramenta Performance Analyzer para ajudar a corrigir problemas e simplificar o processo.

Considere o cenário em que você está criando relatórios para a equipe de Vendas da sua organização. Você importou dados, que estão em várias tabelas dentro do banco de dados SQL da equipe de Vendas, criando uma conexão de dados com o banco de dado por meio de DirectQuery. Ao criar visuais e filtros preliminares, você percebe que algumas tabelas são consultadas mais rapidamente do que outras e alguns filtros estão demorando mais para serem processados em comparação com outros.

Otimizar o desempenho no Power Query

O desempenho no Power Query depende do desempenho no nível da fonte de dados. A variedade de fontes de dados que o Power Query oferece é muito ampla e as técnicas de ajuste de desempenho para cada fonte também são amplas. Por exemplo, se você extrair dados de um Microsoft SQL Server, deverá seguir as diretrizes de ajuste de desempenho desse produto. As boas técnicas de ajuste de desempenho do SQL Server incluem criação de índice, atualizações de hardware, ajuste do plano de execução e compactação de dados. Esses tópicos estão além do escopo aqui e são abordados apenas como um exemplo para criar familiaridade com sua fonte de dados e colher os benefícios ao usar o Power BI e o Power Query.

O Power Query aproveita o bom desempenho na fonte de dados por meio 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 de seus relatórios do Power BI. A dobragem de consultas é o processo pelo qual as transformações e edições feitas no Editor do Power Query são controladas simultaneamente como consultas nativas ou como instruções SQL Select simples, enquanto você está ativamente fazendo transformações. O motivo para implementar esse processo é garantir que essas transformações ocorram no servidor da fonte de dados original e não sobrecarreguem os recursos de computação do Power BI.

Você pode usar o Power Query para carregar dados no Power BI. Em seguida, use o Editor do Power Query para transformar seus dados, como renomear ou excluir colunas e acrescentar, analisar, filtrar ou agrupar os dados.

Considere um cenário em que você renomeou algumas colunas nos dados de Vendas e mesclou uma coluna de cidade e estado no formato "cidade estado". Enquanto isso, o recurso de dobragem de consultas rastreia essas alterações em consultas nativas. Então, quando você carrega os dados, as transformações ocorrem independentemente na fonte original e isso garante que o desempenho seja otimizado no Power BI.

Os benefícios do dobragem de consultas incluem:

  • Mais eficiência nas atualizações de dados e nas atualizações incrementais. Quando você importa tabelas de dados usando a dobragem de consultas, o Power BI tem maior capacidade de alocar recursos e atualizar os dados mais rapidamente porque não precisa executar cada transformação localmente.

  • Compatibilidade automática com os modos de armazenamento DirectQuery e Duplo. Todas as fontes de dados dos modos de armazenamento DirectQuery e Duplo devem ter as capacidades de processamento do servidor de back-end para criar uma conexão direta, o que significa que a dobragem de consultas é uma funcionalidade automática que você pode usar. Se todas as transformações puderem ser reduzidas a uma única instrução Select, a dobragem de consultas poderá ocorrer.

O cenário a seguir mostra a dobragem de consultas em ação. Nesse cenário, você aplica um conjunto de consultas a várias tabelas. Depois que você adiciona uma nova fonte de dados usando o Power Query e é direcionado para o Editor do Power Query, você acessa o painel Configurações de Consulta e clica com o botão direito do mouse na última etapa aplicada, conforme mostrado na figura a seguir.

Se a opção Exibir Consulta Nativa não estiver disponível (não exibida em negrito), a dobragem de consultas não será possível nessa etapa, e você terá que trabalhar de trás para frente na área Etapas Aplicadas até chegar à etapa em que Exibir Consulta Nativa estará disponível (exibida em negrito). Esse processo irá revelar a consulta nativa que foi usada para transformar o modelo semântico.

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

  • Adição de uma coluna de índice
  • Mesclar e acrescentar colunas de tabelas diferentes com duas fontes diferentes
  • Alteração do tipo de dados de uma coluna

Uma boa diretriz a ser lembrada é que, se você puder converter uma transformação em uma instrução SQL Select que inclua operadores e cláusulas como GROUP BY, SORT BY, WHERE, UNION ALL e JOIN, você poderá usar a dobragem de consultas.

Embora a dobragem de consultas seja uma opção para otimizar o desempenho ao recuperar, importar e preparar dados, outra opção é o diagnóstico de consulta.

Diagnóstico de consulta

Outra ferramenta que você pode usar para estudar o desempenho da consulta é o diagnóstico de consulta. Você pode determinar quais gargalos podem existir durante o carregamento e a transformação dos dados, durante a atualização dos dados no Power Query, durante a execução de instruções SQL no Editor de Consultas e assim por diante.

Para acessar o diagnóstico de consulta no Editor do Power Query, acesse Ferramentas na faixa de opções da Página Inicial. Quando estiver pronto para começar a transformar os dados ou fazer outras edições no Editor do Power Query, selecione Iniciar Diagnóstico na seção Diagnóstico de Sessão. Quando tiver terminado, selecione Parar Diagnóstico.

A seleção de Diagnosticar Etapa mostra o período de tempo necessário para executar essa etapa, conforme mostrado na imagem a seguir. Essa seleção pode informar se uma etapa demora mais para ser concluída do que outras, o que funciona como um ponto de partida para uma investigação mais aprofundada.

Essa ferramenta é útil quando você quer analisar o desempenho no lado do Power Query para tarefas como o carregamento de modelos semânticos e a execução de atualizações de dados ou de outras tarefas de transformação.

Outras técnicas para otimizar o desempenho

Outras maneiras de otimizar o desempenho de consulta no Power BI incluem:

  • Processar o máximo de dados possível na fonte de dados original. O Power Query e o Editor do Power Query permitem processar os dados; no entanto, a capacidade de processamento necessária para concluir essa tarefa pode reduzir o desempenho em outras áreas de seus relatórios. Em geral, uma boa prática é processar o máximo possível na fonte de dados nativa.

  • Use consultas SQL nativas. Ao usar o DirectQuery para bancos de dados SQL, como o caso do nosso cenário, não efetue pull de dados de procedimentos armazenados ou de CTEs (Expressões de Tabela Comum).

  • Separe data e hora, se combinadas. Se qualquer uma das tabelas tiver colunas que combinem data e hora, separe-as em colunas distintas antes de importá-las para o Power BI. Essa abordagem aumentará as capacidades de compactação.

Para obter mais informações, consulte Diretrizes sobre a Dobragem de Consultas e Dobragem de Consultas.