O relacionamento muitos-para-muitos é uma das adições mais poderosas — e perigosas — do Power BI. Resolve alguns cenários reais, mas introduz complexidade e riscos de double-counting (contagem dupla) se não for usado com cuidado.

O que é muitos-para-muitos

Em um relacionamento 1:*, um ID aparece uma vez na tabela "1" e pode aparecer várias vezes na tabela "*". Em um *:*, o mesmo ID pode aparecer múltiplas vezes em ambas as tabelas. Exemplos reais:

Como o Power BI implementa *:*

O Power BI suporta relacionamentos *:* desde 2018. Quando você cria um relacionamento entre dois campos que não são únicos em nenhuma das tabelas, o Power BI detecta automaticamente e cria um relacionamento muitos-para-muitos.

O filtro flui bidirecionalmente por padrão — o que pode causar ambiguidade em modelos com múltiplas tabelas.

O risco de double-counting

Imagine: tabela de Vendas relacionada a tabela de Metas por Região. Se uma venda pertence a duas regiões (possível em *:*), ela pode ser contada duas vezes em um gráfico por região. Isso é o double-counting — um erro silencioso que passa despercebido se você não souber procurar.

A alternativa: tabela-ponte

Para a maioria dos casos de *:*, a solução correta é criar uma tabela intermediária (bridge table) que resolve o relacionamento em dois 1:*:

Clientes (1) --- (*) ClienteVendedor (*) --- (1) Vendedores

A tabela ClienteVendedor tem uma linha para cada par cliente-vendedor. Isso elimina a ambiguidade e torna o modelo mais explícito e correto.

Quando *:* é a escolha correta

O relacionamento *:* direto é válido quando:

Perguntas frequentes

Como sei se meu relacionamento *:* está causando double-counting?

Crie uma medida de contagem de linhas da tabela de fatos e compare com o total esperado. Se o número for maior que o total de transações, há double-counting.

Posso desabilitar a direção bidirecional em um *:*?

Sim. Nas propriedades do relacionamento, mude "Direção do filtro cruzado" para "Único". Isso limita o fluxo do filtro a uma direção e reduz o risco de ambiguidade.