🚀 Analisar Performance de Relatórios

🚀 Analyze Report Performance

O desempenho de um relatório impacta diretamente a experiência do usuário e pode influenciar o tempo de carregamento de cada visual no Power BI. Este módulo apresenta as práticas essenciais para identificar e resolver gargalos de performance.

The performance of a report directly impacts the user experience and can influence the loading time of each visual in Power BI. This module presents the essential practices to identify and resolve performance bottlenecks.


🔹 Performance Analyzer

🔹 Performance Analyzer

A ferramenta Performance Analyzer permite medir:

The Performance Analyzer tool allows you to measure:

  • Tempo de renderização do visual
  • Tempo de execução de DAX
  • Tempo de consulta à fonte
  • Fatores que contribuem para lentidão
  • Visual rendering time
  • DAX execution time
  • Data source query time
  • Factors contributing to slowness

✔ Como utilizar

✔ How to use

  1. Acesse: View → Performance Analyzer
  2. Clique em Start recording
  3. Interaja com os visuais
  4. Avalie o tempo gasto por cada componente
  5. Acesse detalhes e copie a consulta DAX se necessário
  1. Go to: View → Performance Analyzer
  2. Click Start recording
  3. Interact with the visuals
  4. Evaluate the time spent by each component
  5. Access details and copy the DAX query if necessary

🔹 Otimização de DAX

🔹 DAX Optimization

Recomendações gerais:

General recommendations:

✔ Usar variáveis (VAR)

✔ Use variables (VAR)

Melhora legibilidade e evita cálculos repetidos.

Improves readability and avoids repeated calculations.

Total Com Desconto =
VAR vBase = [Total Vendas]
RETURN vBase * 0.9
Total Com Desconto =
VAR vBase = [Total Vendas]
RETURN vBase * 0.9

✔ Evitar FILTER sobre tabelas grandes

✔ Avoid FILTER on large tables

Sempre que possível filtrar colunas, não tabelas.

Whenever possible, filter columns instead of tables.

-- Evitar
CALCULATE([Total Vendas], FILTER(FatoVendas, FatoVendas[Categoria] = "A"))

-- Preferir
CALCULATE([Total Vendas], FatoVendas[Categoria] = "A")
-- Avoid
CALCULATE([Total Vendas], FILTER(FatoVendas, FatoVendas[Categoria] = "A"))

-- Prefer
CALCULATE([Total Vendas], FatoVendas[Categoria] = "A")

✔ Evitar funções iterativas desnecessárias

✔ Avoid unnecessary iterative functions

Ex.: SUMX sobre tabelas muito grandes quando SUM simples resolve.

Example: SUMX on very large tables when a simple SUM suffices.


🔹 Otimizar o Layout e a Página do Relatório

🔹 Optimize the Report Layout and Page

✔ Reduzir número de visuais

✔ Reduce number of visuals

Acima de 20 visuais em uma mesma página, o desempenho normalmente cai.

Above 20 visuals on the same page, performance usually drops.

✔ Minimizar segmentadores

✔ Minimize slicers

Segmentadores (especially dropdowns complexos) consomem muita memória.

Slicers (especially complex dropdowns) consume a lot of memory.

✔ Reduzir elementos gráficos pesados

✔ Reduce heavy graphic elements

  • Imagens pesadas
  • Mapas detalhados
  • Visualizações customizadas mal otimizadas
  • Heavy images
  • Detailed maps
  • Poorly optimized custom visuals

🔹 Melhorar Consultas e Interações

🔹 Improve Queries and Interactions

  • Desativar interações desnecessárias entre visuais
  • Usar botões no lugar de muitos segmentadores
  • Substituir joins complexos feitos em DAX por modelagem melhorada
  • Usar agregações para tabelas grandes (Premium ou otimização avançada)
  • Disable unnecessary interactions between visuals
  • Use buttons instead of many slicers
  • Replace complex joins made in DAX with improved modeling
  • Use aggregations for large tables (Premium or advanced optimization)

🔹 Boas Práticas Adicionais

🔹 Additional Best Practices

✔ Usar medidas em vez de colunas calculadas

✔ Use measures instead of calculated columns

Medidas são mais leves e calculadas sob demanda.

Measures are lighter and calculated on demand.

✔ Ajustar cardinalidade

✔ Adjust cardinality

Menos valores distintos = melhor compressão e performance.

Fewer distinct values = better compression and performance.

✔ Evitar bidirectional relationships

✔ Avoid bidirectional relationships

Usar apenas quando absolutamente necessário.

Use only when absolutely necessary.


📚 Links Oficiais

📚 Official Links

  • Power BI Performance Best Practices:
    https://learn.microsoft.com/power-bi/guidance/power-bi-performance-best-practices
  • Power BI Performance Best Practices:
    https://learn.microsoft.com/power-bi/guidance/power-bi-performance-best-practices

Este material resume as principais técnicas de diagnóstico e otimização de desempenho, fundamentais para a certificação PL-300 e para criação de relatórios de alta performance no Power BI.

This material summarizes the main techniques for diagnosing and optimizing performance, essential for the PL-300 certification and for creating high-performance reports in Power BI.

\n