Introdução à otimização do desempenho

Concluído

A otimização do desempenho, também conhecida como otimização do desempenho, envolve fazer alterações ao estado atual do modelo semântico para que seja executado de forma mais eficiente. Essencialmente, quando o seu modelo semântico está otimizado, tem um melhor desempenho.

Pode achar que o seu relatório funciona bem em ambientes de teste e desenvolvimento, mas quando é implementado para produção para ter um consumo mais vasto, surgem problemas de desempenho. Do ponto de vista do utilizador de um relatório, um mau desempenho caracteriza-se pelo carregamento mais demorado das páginas do relatório e pela atualização mais demorada dos elementos visuais. Este mau desempenho resulta numa experiência de utilizador negativa.

Enquanto analista de dados, irá gastar aproximadamente 90% do seu tempo a trabalhar com os seus dados e, nove em cada dez vezes, o fraco desempenho é um resultado direto de um modelo semântico incorreto, expressões de análise de dados incorretas (DAX) ou da mistura dos dois. O processo de conceção de um modelo semântico para desempenho pode ser entediante e é muitas vezes subestimado. No entanto, se resolver problemas de desempenho durante o desenvolvimento, terá um modelo semântico robusto do Power BI que devolverá um melhor desempenho de relatórios e uma experiência de utilizador mais positiva. Em última instância, também poderá manter um desempenho otimizado. À medida que a sua organização cresce, o tamanho dos dados aumenta e o modelo semântico torna-se mais complexo. Ao otimizar o seu modelo semântico antecipadamente, pode mitigar o impacto negativo que este crescimento pode ter no desempenho do seu modelo semântico.

Um modelo semântico de tamanho mais pequeno utiliza menos recursos (memória) e obtém uma atualização de dados, cálculos e composição mais rápida de elementos visuais em relatórios. Por conseguinte, o processo de otimização do desempenho envolve minimizar o tamanho do modelo semântico e fazer a utilização mais eficiente dos dados no modelo, que inclui:

  • Garantir que são utilizados os tipos de dados corretos.

  • Eliminar colunas e linhas desnecessárias.

  • Evitar valores repetidos.

  • Substituir colunas numéricas por medidas.

  • Reduzir cardinalidades.

  • Analisar metadados de modelos.

  • Resumir dados sempre que possível.

Captura de ecrã que desagragra as tarefas neste módulo.

Neste módulo, serão apresentados os passos, os processos e os conceitos necessários para otimizar um modelo semântico para o desempenho ao nível da empresa. No entanto, tenha em atenção que, embora as orientações básicas de desempenho e melhores práticas no Power BI o levem a um longo caminho, para otimizar um modelo semântico para o desempenho de consultas, provavelmente terá de fazer uma parceria com um engenheiro de dados para impulsionar a otimização do modelo semântico nas origens de dados de origem.

Por exemplo, imagine que é programador do Microsoft Power BI na Tailwind Traders. Foi-lhe dada uma tarefa para rever um modelo semântico criado há alguns anos por outro programador, uma pessoa que deixou a organização desde então.

O modelo semântico produz um relatório que recebeu feedback negativo dos utilizadores. Os utilizadores estão satisfeitos com os resultados que veem no relatório, mas não estão satisfeitos com o desempenho do mesmo. O carregamento das páginas do relatório demora bastante tempo e as tabelas não são atualizadas com a rapidez suficiente quando são feitas determinadas seleções. Além deste feedback, a equipa de TI destacou que o tamanho do ficheiro deste modelo semântico específico é demasiado grande e está a colocar uma pressão sobre os recursos da organização.

Tem de rever o modelo semântico para identificar a causa principal dos problemas de desempenho e fazer alterações para otimizar o desempenho.

No final deste módulo, poderá:

  • Analisar o desempenho de medidas, relações e elementos visuais.

  • Utilizar variáveis para melhorar o desempenho e a resolução de problemas.

  • Melhorar o desempenho através da redução dos níveis de cardinalidade.

  • Otimizar os modelos do DirectQuery com armazenamento a nível da tabela.

  • Criar e gerir agregações.