RELATED(coluna) busca um valor da tabela do lado “um” de um relacionamento a partir de uma linha da tabela do lado “muitos” — funcionando como um PROCV automático baseado no relacionamento já existente no modelo; RELATEDTABLE(tabela) faz o caminho inverso, trazendo, a partir de uma linha do lado “um”, todas as linhas relacionadas do lado “muitos” como uma tabela virtual.
Você já criou um relacionamento entre duas tabelas no Modelo de Dados do Power Pivot, mas ainda assim se pegou tentando usar PROCV para trazer uma informação de uma tabela para outra, sem saber que o próprio relacionamento já resolvia isso de forma nativa?
Sem conhecer RELATED e RELATEDTABLE, é comum duplicar dados desnecessariamente entre tabelas só para conseguir montar uma coluna calculada ou uma medida, o que aumenta o tamanho do arquivo e cria inconsistência quando a informação de origem muda e a cópia não é atualizada junto.
Neste artigo iremos mostrar a diferença entre RELATED e RELATEDTABLE, quando usar cada uma, e um exemplo prático completo buscando dados entre uma tabela de Produtos e uma tabela de Vendas.
Pré-requisito: um relacionamento já criado entre as tabelas
Tanto RELATED quanto RELATEDTABLE só funcionam se já existir um relacionamento configurado entre as duas tabelas no Modelo de Dados (Power Pivot > Diagrama de Exibição, ou Dados > Relacionamentos no Excel). Sem esse relacionamento, as duas funções não têm como saber quais linhas de uma tabela correspondem às linhas da outra.
RELATED: buscando da tabela “muitos” para a tabela “um”
Imagine uma tabela Vendas (lado “muitos”, com várias vendas por produto) relacionada a uma tabela Produtos (lado “um”, uma linha por produto) pela coluna ProdutoID. Para trazer a categoria do produto para dentro da tabela de Vendas, crie uma coluna calculada:
Categoria = RELATED(Produtos[Categoria])
Essa coluna calculada, criada dentro da tabela Vendas, busca automaticamente a categoria correspondente na tabela Produtos, usando o relacionamento já existente — sem precisar de nenhuma função de busca manual como PROCV ou PROCX.
RELATEDTABLE: buscando da tabela “um” para a tabela “muitos”
Agora o caminho inverso: dentro da tabela Produtos (lado “um”), você quer saber quantas vendas cada produto teve. Como um produto pode ter várias linhas relacionadas na tabela Vendas, RELATED não serve aqui — é preciso usar RELATEDTABLE, que devolve uma tabela inteira com todas as linhas relacionadas:
Qtd de Vendas = COUNTROWS(RELATEDTABLE(Vendas))
Essa coluna calculada, criada dentro da tabela Produtos, conta quantas linhas da tabela Vendas estão relacionadas àquele produto específico, usando o mesmo relacionamento configurado no modelo.
RELATED só funciona em contexto de linha
RELATED depende de um contexto de linha definido para saber “a partir de qual linha” buscar o valor relacionado — por isso, só pode ser usada dentro de uma coluna calculada, ou dentro de uma função que itera linha por linha, como SUMX ou FILTER. Tentar usar RELATED diretamente numa medida solta, sem esse contexto de linha, gera erro.
Comparando com PROCV/PROCX tradicional
A diferença fundamental é que PROCV e PROCX buscam um valor comparando textos ou números entre intervalos, célula por célula, recalculando a busca toda vez que a planilha é recalculada. RELATED e RELATEDTABLE, por outro lado, usam o relacionamento já indexado no Modelo de Dados, o que costuma ser mais rápido e mais confiável em bases grandes, além de não exigir que as colunas de busca estejam na primeira posição da tabela, como o PROCV clássico exige.
Exemplo prático completo
Tabela Produtos (lado “um”):
| A | B | |
|---|---|---|
| 1 | ProdutoID | Categoria |
| 2 | P1 | Eletrônicos |
| 3 | P2 | Móveis |
Tabela Vendas (lado “muitos”):
| A | B | |
|---|---|---|
| 1 | ProdutoID | Valor |
| 2 | P1 | 1200 |
| 3 | P1 | 950 |
| 4 | P2 | 2300 |
Com o relacionamento criado por ProdutoID, a coluna Categoria = RELATED(Produtos[Categoria]) dentro de Vendas preenche “Eletrônicos” nas duas primeiras linhas e “Móveis” na terceira. Já a coluna Qtd de Vendas = COUNTROWS(RELATEDTABLE(Vendas)) dentro de Produtos mostra 2 para P1 (duas vendas) e 1 para P2.
Erros comuns
O erro mais frequente é tentar usar RELATED no sentido errado — do lado “um” para o lado “muitos” — o que gera erro, já que RELATED só devolve um único valor, e do lado “um” existem potencialmente várias linhas relacionadas no lado “muitos”. Nesse caso, a função certa é sempre RELATEDTABLE. Outro erro comum é esquecer de criar o relacionamento entre as tabelas antes de tentar usar qualquer uma das duas funções — sem relacionamento, ambas retornam erro ou BLANK.
Disponibilidade
RELATED e RELATEDTABLE estão disponíveis em qualquer ambiente com o motor DAX: Power Pivot no Excel 2013 em diante (Windows, incluindo Microsoft 365), Power BI Desktop e Power BI Service. Não existem no Excel para Mac nem no Excel Online, por não terem Power Pivot, e não têm equivalente direto no Google Sheets.
Perguntas frequentes
RELATED funciona em qualquer direção do relacionamento?
Não. RELATED só funciona do lado “muitos” para o lado “um” de um relacionamento, trazendo um único valor. Para o caminho inverso, do lado “um” para o lado “muitos”, é preciso usar RELATEDTABLE.
Preciso criar um relacionamento antes de usar essas funções?
Sim, ambas dependem de um relacionamento já configurado entre as tabelas no Modelo de Dados. Sem esse relacionamento, RELATED e RELATEDTABLE não têm como saber quais linhas de uma tabela correspondem às da outra.
RELATED substitui completamente o PROCV no Power Pivot?
Para buscar valores entre tabelas relacionadas dentro do mesmo Modelo de Dados, sim, RELATED costuma ser mais rápido e mais simples. O PROCV continua útil para buscas entre intervalos que não fazem parte de um relacionamento formal do modelo.
Veja também: Quando Abandonar o PROCV e Migrar para o Power Pivot no Excel e Relacionamentos no Power BI: Como Conectar Tabelas e Criar um Modelo de Dados Eficiente.
Compartilhe ou Comente
Se você curtiu esse artigo aonde mostramos a diferença entre RELATED e RELATEDTABLE no DAX, quando usar cada uma dependendo da direção do relacionamento, e um exemplo prático buscando dados entre uma tabela de Produtos e uma tabela de Vendas, compartilhe com as suas redes sociais e não se esqueça de deixar um comentário aqui embaixo caso você tenha ficado com alguma dúvida.
Você ainda usa PROCV entre tabelas que já têm um relacionamento configurado no Power Pivot? Já tentou usar RELATED no sentido errado e recebeu um erro sem entender o motivo? Conta para nós nos comentários!