(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa

PL-300: como implementar agregações em modelos Power BI

João Barros 28 de October de 2026 4 min de leitura

Vou ensinar como implementar agregações (aggregation tables) em modelos Power BI — uma competência valiosa para o PL-300 e para melhorar o desempenho em cenários com grandes volumes de dados. As agregações permitem responder a consultas comuns com tabelas resumidas em memória, reduzindo a carga sobre o modelo ou a fonte DirectQuery.

O que precisas de saber

Uma tabela de agregação é uma tabela adicional no modelo que contém dados resumidos (por exemplo, vendas por mês, produto e região). Quando o motor de consulta identifica que uma visualização pode ser respondida pela tabela agregada, usa-a em vez da tabela detalhada, acelerando o tempo de resposta. As agregações são especialmente úteis quando usas modelos híbridos (importação + DirectQuery) ou DirectQuery sobre grandes armazéns de dados.

Exemplo conceptual: tens uma tabela FactSales com milhões de linhas. Criando uma tabela AggregatedSales com colunas Year, Month, ProductCategory e TotalSales (soma de SalesAmount) e configurando relações e mapeamentos, consultas que pedem vendas por Month/ProductCategory usam AggregatedSales em memória, evitando varrer FactSales.

Como funciona

Passos-chave para implementar agregações em Power BI Desktop:

  1. Identificar as consultas/visualizações mais frequentes e os níveis de granularidade necessários (por ex., ano/mês, categoria de produto).
  2. Criar a tabela de agregação: pode ser gerada na origem (SQL), em Power Query (Group By) ou como Tabela Calculada DAX.
  3. Adicionar colunas-chave na tabela agregada que correspondam a colunas de dimensão (datas, produto, região) e manter tipos/códigos compatíveis.
  4. Configurar a propriedade de agregações (Manage Aggregations) no Power BI Desktop, mapeando as medidas/colunas da tabela detalhada para a tabela agregada.
  5. Testar e validar usando o Performance Analyzer e o tráfego de consulta (verificar se as consultas usam a tabela agregada ou ainda vão ao DirectQuery).

Exemplo prático: criar uma tabela agregada em Power Query e usar uma medida simples.

// Em Power Query (M) - criar agregação por Year, Month, ProductCategory
let
    Fonte = Sql.Database("servidor", "base"),
    Sales = Fonte{[Schema="dbo",Item="FactSales"]}[Data],
    AdicionarColunaData = Table.AddColumn(Sales, "Year", each Date.Year([OrderDate]), Int64.Type),
    AdicionarMes = Table.AddColumn(AdicionarColunaData, "Month", each Date.Month([OrderDate]), Int64.Type),
    Agrupar = Table.Group(AdicionarMes, {"Year","Month","ProductCategory"}, {{"TotalSales", each List.Sum([SalesAmount]), type number}})
in
    Agrupar

Depois de carregar AggregatedSales e FactSales, cria as relações normais com tabelas dimensão (por ex., DimProduct, DimDate). No Power BI Desktop vai a Model view > Manage aggregations (ou seleciona a tabela detalhada > Manage Aggregations) e faz o mapeamento:

  1. Para a medida FactSales[TotalSales] mapear para AggregatedSales[TotalSales] com a função Sum.
  2. Mapear colunas de granularidade (FactSales[Year] → AggregatedSales[Year], etc.).

O motor usará a tabela agregada quando a consulta puder ser respondida no nível de granularidade definido. Se a visualização pedir detalhe (linha a linha) o motor recairá no FactSales.

Erros comuns

  • Tentar agregar sem garantir correspondência de tipos e códigos entre colunas de dimensão: diferenças de formato impedem o uso da agregação. Sempre alinhar tipos e chaves (inteiro/texto/keys de dimensão).
  • Mapear medidas incorretamente (usar Count em vez de Sum) ou esquecer medidas derivadas: medidas que dependem de contexto complexo exigem definições adicionais para que a agregação funcione corretamente.
  • Não testar cenários de filtro: se uma visualização usa filtros que não estão presentes na tabela agregada, o motor poderá ignorá-la e ir ao DirectQuery, causando lentidão inesperada.

Como praticar

Pratica criando um modelo simples com uma FactSales grande (podes simular gerando muitas linhas em SQL ou Power Query) e várias tabelas dimensão. Cria diferentes tabelas agregadas (por dia, mês, trimestre) e configura Manage Aggregations. Usa o Performance Analyzer para verificar que as consultas usam as agregações. Para preparação para o exame, faz o Practice Assessment OFICIAL e consulta o Study Guide da Microsoft (ambos gratuitos) para ver como esta competência aparece nas skills measured.

Em resumo

  • As agregações reduzem a necessidade de varrer tabelas detalhadas e aceleram respostas a consultas comuns.
  • Criar agregações exige tabelas com granularidade adequada, colunas alinhadas às dimensões e mapeamento correto de medidas.
  • Testa com o Performance Analyzer e valida filtros e tipos para garantir que o motor use as tabelas agregadas.
  • Pratica com exemplos reais e usa os recursos oficiais da Microsoft (Practice Assessment e study guide gratuitos).