Rever o desempenho de medidas, relações e elementos visuais

Concluído

Se o modelo semântico tiver múltiplas tabelas, relações complexas, cálculos intrincados, múltiplos elementos visuais ou dados redundantes, existe um potencial para um fraco desempenho do relatório. O mau desempenho de um relatório leva a uma experiência de utilizador negativa.

Captura de ecrã a mostrar os fatores que afetam o desempenho do relatório.

Para otimizar o desempenho, primeiro tem de identificar de onde vem o problema; por outras palavras, descubra que elementos do relatório e do modelo semântico estão a causar os problemas de desempenho. Depois disso, pode efetuar ações para resolver esses problemas e, portanto, melhorar o desempenho.

Identificar estrangulamentos de desempenho do relatório

Para obter um desempenho ideal nos seus relatórios, tem de criar um modelo semântico eficiente que tenha consultas e medidas de execução rápida. Quando tiver uma boa base, pode melhorar o modelo ao analisar os planos de consulta e dependências e, em seguida, fazer alterações para otimizar ainda mais o desempenho.

Deve rever as medidas e as consultas no modelo semântico para garantir que está a utilizar a forma mais eficiente de obter os resultados pretendidos. O seu ponto de partida deve ser identificar os estrangulamentos existentes no código. Quando identificar a consulta mais lenta no modelo semântico, pode concentrar-se primeiro no maior estrangulamento e estabelecer uma lista de prioridades para resolver os outros problemas.

Analisar o desempenho

Pode utilizar o Analisador de desempenho no Power BI Desktop para o ajudar a descobrir o desempenho de cada um dos elementos do relatório quando os utilizadores interagem com os mesmos. Por exemplo, pode determinar quanto tempo demora para atualizar um elemento visual específico quando é iniciado por uma interação do utilizador. O Analisador de desempenho irá ajudar a identificar os elementos que contribuem para os seus problemas de desempenho, o que pode ser útil durante a resolução de problemas.

Antes de executar o Analisador de desempenho, para garantir que obtém os resultados mais precisos na sua análise (teste), certifique-se de que começa com uma cache de elemento visual limpa e uma cache de motor de dados limpa.

  • Cache de elemento visual – quando carrega um elemento visual, não pode limpar esta cache de elemento visual sem fechar o Power BI Desktop e abri-lo novamente. Para evitar qualquer cache, tem de começar a sua análise com uma cache de elemento visual limpa.

    Para garantir que tem uma cache de elemento visual limpa, adicione uma página em branco ao seu ficheiro do Power BI Desktop (.pbix) e, em seguida, com essa página selecionada, guarde e feche o ficheiro. Reabra o ficheiro do Power BI Desktop (.pbix) que pretende analisar. Será aberta uma página em branco.

  • Cache de motor de dados – quando uma consulta é executada, os resultados são colocados em cache, por isso os resultados da sua análise serão enganadores. Tem de limpar a cache de dados antes de voltar a executar o elemento visual.

    Para limpar a cache de dados, pode reiniciar Power BI Desktop ou ligar o DAX Studio ao modelo semântico e, em seguida, chamar Limpar Cache.

Quando tiver limpado as caches e aberto o ficheiro do Power BI Desktop na página em branco, aceda ao separador Ver e selecione a opção Analisador de desempenho.

Para iniciar o processo de análise, selecione Iniciar gravação, selecione a página do relatório que pretende analisar e interaja com os elementos do relatório que pretende medir. Verá os resultados das suas interações apresentados no painel Analisador de desempenho enquanto estiver a trabalhar. Quando terminar, selecione o botão Parar.

Captura de ecrã a mostrar Analisador de Desempenho ecrã inicial.

Para obter informações mais detalhadas, veja Utilizar o Analisador de Desempenho para examinar o desempenho de elementos do relatório.

Rever resultados

Pode rever os resultados do seu teste de desempenho no painel Analisador de desempenho. Para rever as tarefas por ordem de duração (da mais longa para a mais curta), clique com o botão direito do rato no ícone de Ordenar, que se encontra ao lado do cabeçalho da coluna Duração (ms) e, em seguida, selecione Tempo total por ordem Descendente.

Captura de ecrã a mostrar como ordenar resultados no Analisador.

As informações de registo de cada elemento visual mostram o tempo que demorou (a duração) a concluir as seguintes categorias de tarefas:

  • Consulta DAX – o tempo que o elemento visual demorou a enviar a consulta, juntamente com o tempo que os Analysis Services demoraram a devolver os resultados.

  • Visualização – o tempo que o elemento visual demorou a ser composto no ecrã, incluindo o tempo necessário para obter imagens Web ou geocodificação.

  • Outros – o tempo que o elemento visual demorou a preparar consultas, a aguardar que os outros elementos visuais ficassem concluídos ou a executar outras tarefas de processamento de fundo. Se esta categoria tiver uma longa duração, a única forma real de reduzir esta duração é através da otimização das consultas DAX de outros elementos visuais ou da redução do número de elementos visuais no relatório.

Captura de ecrã das categorias nos resultados do analisador de desempenho.

Os resultados do teste de análise ajudam-no a compreender o comportamento do modelo semântico e a identificar os elementos que precisa de otimizar. Pode comparar a duração de cada elemento no relatório e identificar os elementos que têm uma longa duração. Deve focar-se nesses elementos e investigar a razão pela qual estes demoram tanto tempo a carregar na página do relatório.

Para analisar as suas consultas de forma mais pormenorizada, pode utilizar o DAX Studio, que é uma ferramenta open source gratuita que é fornecida por outro serviço.

Resolver problemas e otimizar o desempenho

Os resultados da sua análise identificarão as áreas a melhorar e as oportunidades de otimização de desempenho. Poderá descobrir que precisa de efetuar melhorias aos elementos visuais, à consulta DAX ou a outros elementos no modelo semântico. As seguintes informações fornecem orientações sobre o que deve procurar e as alterações que pode fazer.

Elementos visuais

Se identificar os elementos visuais como o estrangulamento que conduz a um mau desempenho, deve encontrar uma forma de melhorar o desempenho causando o mínimo impacto na experiência de utilizador.

Considere o número de elementos visuais na página do relatório; menos elementos visuais significa um melhor desempenho. Pergunte a si mesmo se um determinado elemento visual é mesmo necessário e se este acrescenta valor ao utilizador final. Se a resposta for não, deve remover esse elemento visual. Em vez de utilizar vários elementos visuais na página, considere outras formas de fornecer mais detalhes, tais como páginas de pormenorização e descrições de página de relatório.

Examine o número de campos em cada elemento visual. Quanto mais elementos visuais houver no relatório, maior é a probabilidade de surgirem problemas de desempenho. Além disso, quanto mais elementos visuais houver, maior é a probabilidade de o relatório poder aparentar estar cheio e perder clareza. O limite superior dos elementos visuais corresponde a 100 campos (medidas ou colunas), pelo que o carregamento de um elemento visual com mais de 100 campos será lento. Pergunte a si mesmo se precisa mesmo de todos estes dados num elemento visual. Pode chegar à conclusão de que pode reduzir o número de campos que utiliza atualmente.

Consulta DAX

Quando examina os resultados do painel Analisador de desempenho, pode ver quanto tempo é que o motor do Power BI Desktop demorou a avaliar cada consulta (em milissegundos). Qualquer consulta DAX que está a demorar mais de 120 milissegundos é um bom ponto de partida. Neste exemplo, identifica uma consulta em particular que tem uma duração longa.

Captura de ecrã a mostrar um exemplo de tempo de duração grande no Analisador de Desempenho.

O analisador de desempenho realça potenciais problemas, mas não lhe diz o que tem de ser feito para os melhorar. É recomendado investigar mais aprofundadamente a razão pela qual esta medida demora tanto tempo a ser processada. Pode utilizar o DAX Studio para investigar as suas consultas de forma mais detalhada.

Por exemplo, selecione Copiar Consulta para copiar a fórmula de cálculo para a área de transferência e, em seguida, cole-a no Dax Studio. Em seguida, pode rever o passo de cálculo de forma mais detalhada. Neste exemplo, está a tentar contar o número total de produtos com quantidades de encomenda maiores ou iguais a cinco.

Count Customers =
CALCULATE (
    DISTINCTCOUNT ( Order[ProductID] ),
    FILTER ( Order, Order[OrderQty] >= 5 )
)

Depois de analisar a consulta, pode utilizar o seu próprio conhecimento e experiência para identificar onde se encontram os problemas de desempenho. Também pode tentar utilizar diferentes funções DAX para ver se estas melhoram o desempenho. No exemplo que se segue, a função FILTER foi substituída pela função KEEPFILTER. Quando o teste foi executado novamente no Analisador de desempenho, a função KEEPFILTER fez com que a duração tenha sido inferior.

Count Customers =
CALCULATE (
    DISTINCTCOUNT ( Order[ProductID] ),
    KEEPFILTERS (Order[OrderQty] >= 5 )
)

Neste caso, pode substituir a função FILTER pela função KEEPFILTER para reduzir significativamente a duração da avaliação desta consulta. Quando fizer esta alteração, limpe a cache de dados e, em seguida, volte a executar o processo do Analisador de desempenho para verificar se a duração melhorou ou não.

Captura de ecrã a mostrar um exemplo de tempo de pequena duração no Analisador de Desempenho.

Modelo semântico

Se a duração das medidas e dos elementos visuais apresentar valores baixos (por outras palavras, se estes tiverem uma curta duração), não são a causa dos problemas de desempenho. Em vez disso, se a consulta DAX apresentar um valor de duração elevada, é provável que uma medida tenha sido escrita mal ou tenha ocorrido um problema com o modelo semântico. O problema pode ser causado pelas relações, pelas colunas ou pelos metadados no seu modelo, ou pode ser o estado da opção Data/hora automáticas, conforme explicado na secção que se segue.

Relações

Deve rever as relações entre as suas tabelas para garantir que estabeleceu as relações corretas. Verifique se as propriedades de cardinalidade das relações estão bem configuradas. Por exemplo, uma coluna de um lado que contenha valores únicos poderá estar mal configurada como uma coluna de muitos lados. Vai aprender mais sobre a forma como a cardinalidade afeta o desempenho numa fase posterior deste módulo.

Colunas

Não importar colunas de dados de que não precisa é uma melhor prática. Para evitar a eliminação de colunas no Editor do Power Query, deverá tentar processá-las na origem quando carregar dados para o Power BI Desktop. No entanto, se for impossível remover colunas redundantes da consulta de origem ou se os dados já tiverem sido importados no seu estado não processado, pode sempre utilizar o Editor do Power Query para examinar cada coluna. Pergunte a si mesmo se realmente precisa de cada coluna e tente identificar o benefício que cada uma adiciona ao seu modelo semântico. Se descobrir que uma coluna não adiciona nenhum valor, deve removê-la do modelo semântico. Por exemplo, imagine que tem uma coluna de ID com milhares de linhas exclusivas. Sabe que não vai utilizar esta coluna em particular numa relação, por isso a mesma não será utilizada num relatório. Por conseguinte, deve considerar esta coluna como desnecessária e admitir que está a desperdiçar espaço no seu modelo semântico.

Quando remove uma coluna desnecessária, reduzirá o tamanho do modelo semântico que, por sua vez, resulta num tamanho de ficheiro mais pequeno e num tempo de atualização mais rápido. Além disso, uma vez que o modelo semântico contém apenas dados relevantes, o desempenho geral do relatório será melhorado.

Para obter mais informações, veja Técnicas de redução de dados para Importar modelação.

Metadados

Os metadados são informações sobre outros dados. Os metadados do Power BI contêm informações sobre o modelo semântico, como o nome, o tipo de dados e o formato de cada uma das colunas, o esquema da base de dados, a estrutura do relatório, quando o ficheiro foi modificado pela última vez, as taxas de atualização de dados e muito mais.

Quando carrega dados para Power BI Desktop, é uma boa prática analisar os metadados correspondentes para que possa identificar quaisquer inconsistências com o seu modelo semântico e normalizar os dados antes de começar a criar relatórios. A execução de análises nos metadados irá melhorar o desempenho do modelo semântico porque, ao analisar os metadados, identificará colunas desnecessárias, erros nos seus dados, tipos de dados incorretos, o volume de dados a serem carregados (modelos semânticos grandes, incluindo dados transacionais ou históricos, demorarão mais tempo a carregar) e muito mais.

Pode utilizar o Editor do Power Query no Power BI Desktop para examinar as colunas, as linhas e os valores dos dados não processados. Em seguida, pode utilizar as ferramentas disponíveis, tais como as realçadas na captura de ecrã que se segue, para fazer as alterações necessárias.

Captura de ecrã a mostrar as opções do separador base do editor de consultas.

As opções do Power Query incluem:

  • Colunas desnecessárias – avalia a necessidade da existência de cada coluna. Se uma ou mais colunas não forem utilizadas no relatório e, por conseguinte, forem desnecessárias, deve removê-las através da opção Remover Colunas do separador Base.

  • Linhas desnecessárias – verifica as primeiras linhas no modelo semântico para ver se estão vazias ou se contêm dados de que não precisa nos seus relatórios; se assim for, remove essas linhas com a opção Remover Linhas no separador Base .

  • Tipo de dados – avalia os tipos de dados da coluna para garantir que cada uma está correta. Se identificar um tipo de dados incorreto, altere-o ao selecionar a coluna Tipo de Dados no separador Transformar e o tipo de dados correto na lista.

  • Nomes de consulta – examina os nomes de consulta (tabela) no painel Consultas. Tal como fez para os nomes dos cabeçalhos das colunas, deve alterar nomes de consultas invulgares ou inúteis para nomes mais óbvios ou familiares para o utilizador. Pode mudar o nome de uma consulta ao clicar com o botão direito do rato nessa consulta, selecionar Mudar o nome, editar o nome conforme necessário e premir Enter.

  • Detalhes das colunas – o Editor do Power Query tem as três seguintes opções de pré-visualização de dados, que pode utilizar para analisar os metadados que estão associados às suas colunas. Pode encontrar estas opções no separador Ver, conforme ilustrado na captura de ecrã abaixo.

    • Qualidade das colunas – determina a percentagem de itens na coluna que são válidos, que têm erros ou que estão vazios. Se a percentagem de itens válidos não for igual a 100, deve investigar a causa, corrigir os erros e preencher os valores vazios.

    • Distribuição de colunas – apresenta a frequência e a distribuição dos valores em cada uma das colunas. Vai investigar mais adiante neste módulo.

    • Perfil de coluna – mostra o gráfico de estatísticas de colunas e um gráfico de distribuição de colunas.

Captura de ecrã a mostrar as opções de perfil de coluna.

Nota

Se estiver a rever um modelo semântico grande com mais de 1000 linhas e quiser analisar todo esse modelo semântico, tem de alterar a opção predefinida na parte inferior da janela. Selecione Criação de perfis de colunas com base na criação de perfis de coluna das 1000 linhas>superiores com base em todo o conjunto de dados.

Captura de ecrã das linhas do perfil de coluna.

Outros metadados que deve considerar são as informações sobre o modelo semântico como um todo, como o tamanho do ficheiro e as taxas de atualização de dados. Pode encontrar estes metadados no ficheiro (.pbix) do Power BI Desktop associado. Os dados que carrega para o Power BI Desktop são comprimidos e armazenados no disco pelo motor de armazenamento VertiPaq. O tamanho do modelo semântico tem um impacto direto no desempenho; Um modelo semântico de tamanho mais pequeno utiliza menos recursos (memória) e obtém uma atualização, cálculos e composição de dados mais rápido nos relatórios.

Funcionalidade de data/hora automáticas

Outro item a ter em conta na otimização do desempenho é a opção Data/hora automáticas no Power BI Desktop. Por predefinição, esta funcionalidade está ativada globalmente, o que significa que o Power BI Desktop cria automaticamente uma tabela calculada oculta para cada coluna de data, desde que sejam satisfeitas determinadas condições. As novas tabelas ocultas são além das tabelas que já tem no seu modelo semântico.

A opção Data/hora automáticas permite-lhe trabalhar com análise de tempo ao filtrar, agrupar e desagregar através dos períodos do calendário. Recomendamos que mantenha a opção Data/hora automáticas ativada apenas quando trabalhar com períodos do calendário e quando tiver requisitos de modelos simplistas em relação ao tempo.

Se a sua origem de dados já definir uma tabela de dimensões de data, essa tabela deve ser utilizada para definir consistentemente o tempo dentro da sua organização e deve desativar a opção global Data/hora automáticas. Desativar esta opção pode reduzir o tamanho do modelo semântico e reduzir o tempo de atualização.

Pode ativar/desativar a opção Data/hora automáticas a nível global para que se aplique a todos os seus ficheiros do Power BI Desktop ou pode ativar/desativar a opção para o ficheiro atual para que se aplique apenas a um ficheiro individual.

Para ativar/desativar esta opção Data/hora automática, aceda aOpções e definiçõesde Ficheiro>Opções> e, em seguida, selecione a página Ficheiro Global ou Atual. Em qualquer uma das páginas, selecione Carregamento de Dados e, em seguida, na secção Análise de tempo, selecione ou desselecione a caixa de verificação conforme necessário.

Captura de ecrã a mostrar como configurar a hora da data automática.

Para obter uma descrição e introdução gerais da funcionalidade Data/hora automáticas, veja Aplicar data/hora automáticas no Power BI Desktop.