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

DP-600: implementar tabelas de ponte (bridge tables) em modelos semânticos

João Barros 26 de September de 2026 4 min de leitura

Vou ensinar como implementar e usar tabelas de ponte (bridge tables) num modelo semântico — competência útil no DP-600 e crucial para modelos que têm relacionamentos muitos‑para‑muitos, dimensionamento de atributos ou historização. Saber quando e como usar uma bridge table ajuda a garantir medidas correctas e desempenho aceitável em Power BI/Fabric.

O que precisas de saber

Uma tabela de ponte (bridge table) é uma tabela intermédia que normaliza ou resolve relacionamentos complexos entre tabelas fact e dimension. Serve, por exemplo, quando uma entidade tem múltiplas categorias atribuídas (tags), ou quando tens várias chaves naturais que ligam dimensões duplicadas. Em vez de criar relações directas muitos‑para‑muitos entre fact e dimension, colocas uma bridge que contém pares chave_fact–chave_dim e, opcionalmente, uma granularidade ou peso.

Exemplo simples: tens uma tabela Sales com SalesID e ProductID, e uma tabela Product com ProductID e Category. Mas um produto pode pertencer a várias Category (por exemplo, tags como "Eco", "Premium"). Em vez de armazenar todas as categorias na tabela Product como lista, crias ProductCategory (ProductID, CategoryID) — a bridge — e ligas Sales → Product (1:N) e ProductCategory → Category (N:1). Para agregações por Category, passas por ProductCategory.

Como funciona na prática

Passo a passo para criar e usar uma bridge table de forma correcta:

  1. Modelação inicial: Identifica as entidades e o tipo de relacionamento (1:1, 1:N, N:N). Se houver N:N entre fact e dimensão, considera uma bridge.
  2. Projectar a bridge: Cria uma tabela com as chaves que ligam as duas entidades (ex.: ProductID, CategoryID). Inclui metadados se necessário (ex.: weight, EffectiveFrom, EffectiveTo).
  3. Definir relações: No modelo semântico, estabelece relações 1:N entre as tabelas apropriadas. Evita relações directas N:N; usa a bridge para encaminhar a filtragem.
  4. Medidas correctas: As medidas precisam de trabalhar através da bridge. Normalmente usas funções DAX que respeitam relações (ex.: SUM, CALCULATE) mas, se houver ambiguidade, usa funções como RELATEDTABLE, CROSSFILTER ou TREATAS.
  5. Performance e filtragem: Avalia a cardinalidade da bridge — se for muito grande, adiciona pré‑agregações ou índices na origem. Considera também Storage Mode e partições.

Exemplo DAX típico (cenário: contar vendas por Category quando existe ProductCategory bridge):

SalesByCategory =
CALCULATE(
    COUNTROWS(Sales),
    CROSSFILTER(Sales[ProductID], Product[ProductID], Both),
    VALUES(Category[CategoryID])
)

Uma alternativa é usar TREATAS para aplicar um filtro a partir de uma tabela derivada da bridge:

SalesByCategory2 =
CALCULATE(
    COUNTROWS(Sales),
    TREATAS(VALUES(ProductCategory[ProductID]), Sales[ProductID])
)

Erros comuns

  • Ligações directas N:N sem bridge: Criar relações directas muitos‑para‑muitos pode levar a resultados incorrectos e ambiguidade de filtragem. Usa a bridge para modelar explicitamente o relacionamento.
  • Ignorar granularidade: Se a bridge não incluir informação de período (EffectiveFrom/To) podes contaminar agregados temporais. Para dados historizados, adiciona colunas de validade e filtra/agrupa conforme necessário.
  • Medidas que não consideram a bridge: Escrever medidas simples que assumem relação directa entre fact e dimensão leva a contagens duplicadas ou omitidas. Testa medidas com contextos de filtro variados e utiliza CROSSFILTER/TREATAS quando preciso.

Como praticar

Para praticar, constrói um modelo pequeno com estas tabelas: Sales (SalesID, ProductID, Amount, Date), Product (ProductID, Name), Category (CategoryID, Name) e ProductCategory (ProductID, CategoryID). Importa dados de exemplo CSV e implementa relações no Power BI Desktop ou no Fabric Model. Cria medidas: total de vendas por categoria, média por categoria ponderada por peso, e análises temporais com a bridge.

Refere-te sempre aos recursos oficiais: o Practice Assessment OFICIAL da Microsoft (gratuito) e a Study Guide oficial do DP-600 (gratuita). Usa o Practice Assessment para avaliar o teu nível e a Study Guide para cobrir todas as "skills measured". Não uses exam dumps — pratica com labs e os materiais oficiais.

Em resumo

  • Uma bridge table resolve relacionamentos complexos e evita relações N:N directas no modelo semântico.
  • Projecta a bridge com as chaves e metadados essenciais (p.ex. peso, validade) para manter a granularidade correcta.
  • Escreve medidas DAX que respeitem a filtragem através da bridge; utiliza CROSSFILTER ou TREATAS quando necessário.
  • Testa e optimiza: valida resultados com cenários de filtragem diferentes e considera o impacto na performance.