Rever o desempenho das medidas, relações e imagens

Concluído

Se o seu modelo semântico tiver várias tabelas, relações complexas, cálculos intrincados, vários elementos visuais ou dados redundantes, existe a possibilidade de um fraco desempenho do relatório. O mau desempenho de um relatório conduz a uma experiência negativa para o utilizador.

Para otimizar o desempenho, é necessário identificar primeiro a origem do problema; por outras palavras, descobrir quais os elementos do relatório e do modelo semântico que estão a causar os problemas de desempenho. Em seguida, pode tomar medidas para resolver esses problemas e, consequentemente, melhorar o desempenho.

Identificar estrangulamentos no desempenho do relatório

Para obter um desempenho ótimo nos seus relatórios, é necessário criar um modelo semântico eficiente que tenha consultas e medidas de execução rápida. Quando se tem uma boa base, é possível melhorar ainda mais o modelo, analisando os planos de consulta e as dependências e, em seguida, fazendo alterações para otimizar ainda mais o desempenho.

Deve rever as medidas e consultas no seu modelo semântico para garantir que está a utilizar a forma mais eficiente de obter os resultados pretendidos. O ponto de partida deve ser a identificação dos 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 desempenho

Pode utilizar o analisador de desempenho em Power BI Desktop para o ajudar a descobrir o desempenho de cada um dos elementos do seu relatório quando os utilizadores interagem com eles. Por exemplo, pode determinar o tempo que demora a atualização de um determinado visual quando isto é iniciado por uma interação do utilizador. Analisador de desempenho ajudá-lo-á a identificar os elementos que estão a contribuir 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 exactos na sua análise (teste), certifique-se de que começa por limpar a cache visual e a cache do motor de dados.

  • Cache visual - Quando carrega uma imagem, não pode limpar esta cache visual sem fechar Power BI Desktop e voltar a abri-la. Para evitar qualquer armazenamento em cache em jogo, é necessário iniciar a análise com um cache visual limpo.

    Para garantir que tem uma cache visual clara, adicione uma página em branco ao seu ficheiro Power BI Desktop (.pbix) e, em seguida, com essa página selecionada, guarde e feche o ficheiro. Reabrir o ficheiro Power BI Desktop (.pbix) que se pretende analisar. Abrirá uma página em branco.

  • Cache do motor de dados - Quando uma consulta é executada, os resultados são armazenados em cache, pelo que os resultados da sua análise serão enganadores. É necessário limpar a cache de dados antes de voltar a executar o 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 Clear Cache.

Depois de limpar as caches e abrir o ficheiro Power BI Desktop na página em branco, vá ao separador View e seleccione a opção Performance analyzer .

Para iniciar o processo de análise, seleccione Iniciar gravação, seleccione 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 interacções no painel Analisador de desempenho à medida que trabalha. Quando tiver terminado, seleccione o botão Stop .

Para obter informações mais detalhadas, consulte Use o Analisador de Desempenho para examinar o desempenho do elemento de relatório.

Resultados da análise

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 Ordenar junto ao cabeçalho da coluna Duração (ms) e, em seguida, seleccione Tempo total em Ordem descendente .

A informação de registo para cada visual mostra quanto tempo demorou (duração) a completar as seguintes categorias de tarefas:

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

  • Apresentação visual - O tempo que o visual demorou a ser apresentado 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 a conclusão de outros elementos visuais ou a efetuar outras tarefas de processamento em segundo plano. Se esta categoria apresentar uma duração longa, a única forma real de reduzir esta duração é otimizar as consultas DAX para outros elementos visuais ou reduzir o número de elementos visuais no relatório.

Os resultados do teste de análise ajudam-no a compreender o comportamento do seu modelo semântico e a identificar os elementos que precisa de otimizar. É possível comparar a duração de cada elemento no relatório e identificar os elementos que têm uma longa duração. Deve concentrar-se nesses elementos e investigar porque é que demoram tanto tempo a carregar na página do relatório.

Para analisar as suas consultas com mais pormenor, pode utilizar o DAX Studio, que é uma ferramenta gratuita e de código aberto 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 do desempenho. Poderá ser necessário efetuar melhorias nos elementos visuais, na consulta DAX ou noutros elementos do seu modelo semântico. As informações que se seguem fornecem orientações sobre o que procurar e as alterações que pode efetuar.

Visuais

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

Considere o número de elementos visuais na página do relatório; menos elementos visuais significa melhor desempenho. Pergunte a si próprio se um elemento visual é realmente necessário e se acrescenta valor ao utilizador final. Se a resposta for não, deve remover essa imagem. Em vez de utilizar vários elementos visuais na página, considere outras formas de fornecer detalhes adicionais, como páginas de pesquisa e dicas de ferramentas da página do relatório.

Examine o número de campos em cada imagem. Quanto maior for o número de elementos visuais no relatório, maior é a probabilidade de surgirem problemas de desempenho. Além disso, quanto maior for o número de elementos visuais, mais o relatório pode parecer congestionado e perder clareza. O limite superior para as imagens é de 100 campos (medidas ou colunas), pelo que uma imagem com mais de 100 campos será lenta a carregar. Pergunte a si próprio se precisa mesmo de todos estes dados numa imagem. Poderá descobrir que pode reduzir o número de campos que utiliza atualmente.

Consulta DAX

Quando examina os resultados no painel Performance analyzer , pode ver quanto tempo demorou o motor Power BI Desktop a avaliar cada consulta (em milissegundos). Um bom ponto de partida é qualquer consulta DAX que esteja a demorar mais de 120 milissegundos. Neste exemplo, identifica-se uma consulta específica que tem um tempo de duração elevado.

O analisador de desempenho destaca potenciais problemas, mas não lhe diz o que é necessário fazer para os melhorar. Talvez seja necessário efetuar uma investigação mais aprofundada sobre a razão pela qual esta medida demora tanto tempo a ser processada. Pode utilizar o DAX Studio para investigar as suas consultas com mais pormenor.

Por exemplo, seleccione Copy Query para copiar a fórmula de cálculo para a área de transferência e, em seguida, cole-a no Dax Studio. Em seguida, é possível rever o cálculo passo com mais pormenor. 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 os seus próprios conhecimentos e experiência para identificar onde estão os problemas de desempenho. Também pode tentar utilizar diferentes funções DAX para ver se melhoram o desempenho. No exemplo seguinte, a função FILTER foi substituída pela função KEEPFILTER. Quando o teste foi executado novamente em Performance analyzer, a duração foi mais curta como resultado da função KEEPFILTER.

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

Neste caso, é possível substituir a função FILTER pela função KEEPFILTER para reduzir significativamente o tempo de duração da avaliação desta consulta. Quando efetuar esta alteração, para verificar se o tempo de duração melhorou ou não, limpe a cache de dados e volte a executar o processo Performance analyzer .

Modelo semântico

Se a duração das medidas e dos elementos visuais estiver a apresentar valores baixos (por outras palavras, têm um tempo de duração curto), não são a razão dos problemas de desempenho. Em vez disso, se a consulta DAX estiver a apresentar um valor de duração elevado, é provável que uma medida esteja mal escrita ou que tenha ocorrido um problema com o modelo semântico. O problema pode ser causado pelas relações, colunas ou metadados no seu modelo, ou pode ser o estado da opção Auto date/time , conforme explicado na secção seguinte.

Relações

Deve rever as relações entre as suas tabelas para garantir que estabeleceu as relações correctas. Verificar se as propriedades de cardinalidade da relação estão corretamente configuradas. Por exemplo, uma coluna de um lado que contém valores únicos pode ser incorretamente configurada como uma coluna de vários lados. Saberá mais sobre como a cardinalidade afecta o desempenho mais adiante neste módulo.

Colunas

É uma boa prática não importar colunas de dados que não sejam necessárias. Para evitar a eliminação de colunas no Power Query Editor, deve tentar lidar com elas na fonte ao carregar dados para 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 bruto, pode sempre utilizar o Editor Power Query para examinar cada coluna. Pergunte a si próprio se precisa mesmo de cada coluna e tente identificar a vantagem que cada uma delas acrescenta ao seu modelo semântico. Se achar que uma coluna não acrescenta valor, deve removê-la do seu modelo semântico. Por exemplo, suponha que tem uma coluna de ID com milhares de linhas únicas. Sabe que não irá utilizar esta coluna específica numa relação, pelo que não será utilizada num relatório. Por conseguinte, deve considerar esta coluna desnecessária e admitir que está a desperdiçar espaço no seu modelo semântico.

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

Para mais informações, consultar Técnicas de redução de dados para modelação de importações.

Metadados

Os metadados são informações sobre outros dados. Power BI Os metadados contêm informações sobre o seu modelo semântico, como o nome, o tipo de dados e o formato de cada uma das colunas, o esquema da base de dados, o design 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, é 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 seus metadados melhorará o desempenho do modelo semântico porque, ao analisar os seus metadados, identificará colunas desnecessárias, erros nos seus dados, tipos de dados incorrectos, o volume de dados que estão a ser carregados (modelos semânticos grandes, incluindo dados transaccionais ou históricos, demorarão mais tempo a carregar) e muito mais.

Pode utilizar o Power Query Editor em Power BI Desktop para examinar as colunas, linhas e valores dos dados em bruto. Pode então utilizar as ferramentas disponíveis, como as destacadas na seguinte captura de ecrã, para efetuar as alterações necessárias.

As opções de Power Query incluem:

  • Colunas desnecessárias - Avalia a necessidade de cada coluna. Se uma ou mais colunas não forem utilizadas no relatório e, por conseguinte, forem desnecessárias, deve removê-las utilizando a opção Remove Columns no separador Home .

  • Linhas desnecessárias - Verifica as primeiras linhas no modelo semântico para ver se estão vazias ou se contêm dados que não são necessários nos seus relatórios; em caso afirmativo, remove essas linhas utilizando a opção Remove Rows no separador Home .

  • Tipo de dados - Avalia os tipos de dados da coluna para garantir que cada um está correto. Se identificar um tipo de dados incorreto, altere-o seleccionando a coluna, seleccionando Data Type no separador Transform e, em seguida, seleccionando o tipo de dados correto na lista.

  • Nomes das consultas - Examina os nomes das consultas (tabelas) no painel Consultas . Tal como fez para os nomes dos cabeçalhos das colunas, deve alterar os nomes de consultas pouco comuns ou inúteis para nomes mais óbvios ou nomes com os quais o utilizador esteja mais familiarizado. Pode mudar o nome de uma consulta clicando com o botão direito do rato nessa consulta, seleccionando Rename, editando o nome conforme necessário e, em seguida, premindo Enter.

  • Detalhes da coluna - O editor Power Query tem as seguintes três opções de dados pré-visualização que pode utilizar para analisar os metadados associados às suas colunas. Pode encontrar estas opções no separador View , conforme ilustrado na seguinte captura de ecrã.

    • Qualidade da coluna - Determina a percentagem de itens na coluna que são válidos, têm erros ou estão vazios. Se a percentagem válida não for 100, deve investigar a razão, corrigir os erros e preencher os valores vazios.

    • Distribuição das colunas - Apresenta a frequência e a sindicação dos valores em cada uma das colunas. Irá investigar isto assunto mais tarde neste módulo.

    • Perfil da coluna - Mostra o gráfico de estatísticas da coluna e um gráfico de sindicação da coluna.

Nota

Se estiver a rever um modelo semântico de grandes dimensões, com mais de 1000 linhas, e pretender analisar todo esse modelo semântico, tem de alterar a opção predefinida na parte inferior da janela. Seleccione Análise de perfil de coluna com base nas 1000 linhas principais>Análise de perfil de coluna com base em todo o conjunto de dados.

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 Power BI Desktop (.pbix) associado. Os dados que são carregados em Power BI Desktop são comprimidos e armazenados no disco pelo mecanismo de armazenamento VertiPaq. O tamanho do seu modelo semântico tem um impacto direto no seu desempenho; um modelo semântico mais pequeno utiliza menos recursos (memória) e consegue uma atualização de dados mais rápida, cálculos e apresentação de imagens em relatórios.

Função de data/hora automática

Outro item a considerar ao otimizar o desempenho é a opção Auto date/time em Power BI Desktop. Por predefinição, esta funcionalidade está activada globalmente, o que significa que o Power BI Desktop cria automaticamente uma tabela calculada oculta para cada coluna de data, desde que sejam cumpridas determinadas condições. As novas tabelas ocultas são adicionais às tabelas que já tem no seu modelo semântico.

A opção Auto date/time permite-lhe trabalhar com a inteligência temporal ao filtrar, agrupar e pesquisar através de períodos de tempo do calendário. Recomendamos que mantenha a opção Auto date/time activada apenas quando trabalhar com períodos de tempo do calendário e quando tiver requisitos de modelo simplistas em relação ao tempo.

Se a sua origem de dados já define uma tabela de dimensão de data, essa tabela deve ser utilizada para definir consistentemente o tempo na sua organização e deve desativar a opção global Auto date/time . A desativação desta opção pode diminuir o tamanho do seu modelo semântico e reduzir o tempo de atualização.

Pode ativar/desativar esta opção Auto date/time globalmente, para que se aplique a todos os seus ficheiros 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 , vá a Ficheiro>Opções e definições>Opções e, em seguida, seleccione a página Global ou Ficheiro atual . Em qualquer uma das páginas, seleccione Data Load e, em seguida, na secção Time Intelligence , seleccione ou desmarque a caixa de verificação conforme necessário.

Para uma visão geral e uma introdução geral à funcionalidade Auto date/time , consulte Aplicar auto date/time em Power BI Desktop.