Curso
Modelagem de dados é fundamental para criar relatórios poderosos no Power BI. Ela permite definir relacionamentos claros entre tabelas e organizar, limpar e recuperar dados com eficiência. Neste tutorial, você vai conhecer a função RELATED no Power BI.
Com exemplos práticos, você vai ver como a função RELATED pode turbinar suas habilidades de modelagem de dados e de criação de relatórios.
Se você ainda está começando no Power BI, pode se familiarizar com o tema com a nossa trilha de habilidades Power BI Fundamentals.
Você também pode baixar o guia rápido de DAX e mantê-lo à mão enquanto aprofunda seus estudos em Power BI e DAX.
DataCamp DAX Cheat Sheet
O que é a função RELATED no Power BI?
RELATED é uma função DAX no Power BI que permite buscar um valor de uma coluna em uma tabela relacionada. O ponto-chave é que ela só funciona se existir um relacionamento entre a tabela atual e a tabela onde está a coluna desejada.
A função RELATED simplifica a modelagem de dados ao permitir incorporar informações relevantes de outras tabelas sem precisar mesclar ou fazer junções manualmente.
A sintaxe da função RELATED é assim:
RELATED(ColumnToFetch)
Como exemplo simples, imagine que você tenha uma tabela de Vendas e outra separada de Produtos:
|
InvoiceID |
ProductID |
Quantity |
Price |
|
1000 |
123 |
2 |
21 |
|
1001 |
456 |
1 |
19.99 |
|
1002 |
123 |
3 |
31.5 |
|
1003 |
789 |
1 |
24.95 |
Tabela 1. Sales
|
ProductID |
ProductName |
UnitPrice |
|
123 |
Widget |
10.5 |
|
456 |
Gear |
19.99 |
|
789 |
Gizmo |
24.95 |
Tabela 2. Products
A tabela Sales registra as transações, incluindo o Product ID de cada venda, mas não o nome ou os detalhes do produto. A tabela Products contém esses nomes e detalhes vinculados a cada Product ID.
Sem RELATED, você teria que mesclar as duas tabelas caso quisesse criar uma coluna calculada que usasse o nome do produto dentro da tabela Sales.
Com RELATED, você pode criar uma nova coluna em Sales que mostre diretamente o Product Name de cada venda, buscando essa informação na tabela Products. Também é possível usar a função RELATED em uma medida para buscar esses dados dinamicamente.
|
InvoiceID |
ProductID |
Quantity |
Price |
Product Name |
|
1000 |
123 |
2 |
21 |
Widget |
|
1001 |
456 |
1 |
19.99 |
Gear |
|
1002 |
123 |
3 |
31.5 |
Widget |
|
1003 |
789 |
1 |
24.95 |
Gizmo |
Tabela 3. Usando RELATED
Entendendo os relacionamentos no Power BI
No Power BI, relacionamentos permitem vincular tabelas com base em colunas em comum. Eles são essenciais para integrar dados de múltiplas fontes, trazendo para seus modelos uma abordagem típica de bancos de dados relacionais.
Tipos de relacionamentos no Power BI
Os tipos de relacionamentos possíveis no Power BI são:
- Um para um (1:1): cada linha de uma tabela se relaciona com uma (e apenas uma) linha de outra tabela. É menos comum.
- Um para muitos (1:muitos): uma linha de uma tabela pode se relacionar com várias linhas de outra. É o tipo mais comum no Power BI.
- Muitos para muitos (muitos:muitos): linhas de uma tabela podem se relacionar com múltiplas linhas de outra e vice-versa. Use com cautela por conta da complexidade e possíveis impactos de performance.
Importância dos relacionamentos para a função RELATED
A função RELATED aproveita esses relacionamentos para buscar dados em uma tabela relacionada, trazendo-os para o contexto da tabela atual. Sem relacionamentos bem definidos, a RELATED não funciona.
Os relacionamentos fornecem o caminho de navegação para a RELATED, garantindo que a função saiba exatamente onde buscar os dados.
Boas práticas de modelagem e relacionamentos bem definidos permitem que a RELATED acesse dados relacionados com eficiência. Assim, você evita buscas complexas e melhora o desempenho e a usabilidade dos seus relatórios no Power BI.
Domine o Power BI do zero
Exemplos práticos com a função RELATED
Agora vamos ver alguns exemplos para entender como a RELATED funciona na prática.
Uso básico da RELATED
Suponha que temos uma tabela com vendas mensais por produto, mas sem nomes ou categorias — apenas o ProductID. Também temos uma tabela Products com ProductID, ProductName e Category. Criamos um relacionamento entre essas duas tabelas usando ProductID.
Queremos analisar as vendas por categoria de produto. Para isso, criamos uma coluna calculada na tabela Sales com a seguinte fórmula DAX, que depois podemos adicionar a um visual no nosso relatório do Power BI:
ProductCategory = RELATED(Products[ProductCategory])
A RELATED é perfeita aqui porque há um relacionamento direto de um-para-muitos entre Products e Sales, o que torna simples buscar ProductName ou Category.
Cenário avançado
A RELATED é especialmente poderosa quando você precisa trazer dados de uma tabela relacionada para o contexto da tabela atual.
Usar RELATED em uma medida permite fazer cálculos dinâmicos que mudam conforme o contexto de filtro do relatório. Medidas são usadas para agregações e podem incorporar dados relacionados por meio de funções com contexto de linha como SUMX.
Se você ainda não conhece a função SUMX, saiba mais neste tutorial completo sobre SUMX.
Vamos explorar uma versão mais complexa do exemplo anterior. Suponha que existam tabelas com múltiplos produtos, preços diferentes e uma meta de vendas dinâmica que varia por produto e muda mês a mês. Seu objetivo é acompanhar o desempenho mensal frente a essas metas por categoria de produto.
Nosso modelo de dados, que contém as tabelas Sales e Products, agora também inclui a tabela SalesTargets com metas mensais por produto, incluindo as colunas ProductID, Month e TargetAmount.
Para usar a função RELATED corretamente, criamos um relacionamento com uma chave composta que combina Product ID e Month tanto em Sales quanto em SalesTargets.
O objetivo é calcular o percentual de meta atingida para cada categoria de produto, em cada mês.
Monthly Target Achievement =
VAR TotalSalesRevenue =
SUMX(
Sales,
Sales[QuantitySold] * RELATED(Products[Price])
)
VAR MonthlyTarget =
SUMX(
Sales,
RELATED(SalesTargets[TargetAmount])
)
RETURN
IF(
MonthlyTarget > 0,
TotalSalesRevenue / MonthlyTarget,
BLANK()
)
Essa medida calcula TotalSalesRevenue iterando sobre a tabela Sales e usando RELATED para buscar o preço por produto. Em seguida, MonthlyTarget é calculada somando os valores de meta relevantes do mês e do produto na tabela SalesTargets.
Por fim, divide a receita total pelas metas mensais para obter o percentual de atingimento, retornando um valor apenas quando há meta definida (evitando divisão por zero).
Você pode aprender mais sobre análise de dados financeiros na trilha de habilidades Financial Reporting in Power BI, com exercícios práticos que mostram como analisar e visualizar seus dados no Power BI.
A função RELATED no Power BI: boas práticas
Agora que entendemos bem como a RELATED funciona, vamos nos aprofundar em algumas boas práticas.
Use RELATED só quando precisar
Aplique RELATED quando realmente precisar trazer dados de outra tabela para o contexto da tabela atual a fim de realizar cálculos. Isso é especialmente útil para criar colunas calculadas que simplificam a construção de relatórios.
O uso excessivo de RELATED pode deixar o modelo desnecessariamente complexo e até reduzir a performance do relatório. Se você conseguir fazer a análise apenas com os relacionamentos nos visuais, sem precisar materializar os dados na sua tabela, muitas vezes é mais eficiente.
Entenda seu modelo de dados
Antes de usar RELATED, garanta que você entende seu modelo — em especial os relacionamentos entre tabelas. RELATED requer um relacionamento ativo existente — normalmente de um-para-muitos, sendo usada no lado "muitos" para buscar dados do lado "um".
A função RELATED não funciona com relacionamentos muitos-para-muitos.
Se você usar RELATED sem definir corretamente os relacionamentos ou sem entender a direcionalidade, pode acabar com erros ou resultados inesperados.
Entenda a direção do relacionamento
Use RELATED para puxar dados de uma tabela primária (lado "um") para uma tabela relacionada (lado "muitos"). Isso é útil quando você quer incluir dados de referência de outras tabelas em seus cálculos ou análises.
Usar RELATED no sentido inverso (de muitos para um) sem a devida compreensão pode gerar confusão. Para o caminho inverso, RELATEDTABLE pode ser mais apropriada, embora exija funções de agregação adicionais por retornar uma tabela.
Alternativas ao RELATED
Quando a função RELATED não atende às suas necessidades no Power BI, há abordagens alternativas a considerar. As duas que veremos aqui são a função LOOKUPVALUE e a mescla de dados no Power Query.
LOOKUPVALUE
LOOKUPVALUE é extremamente versátil, mas pode ter desempenho inferior ao RELATED. Isso porque ela procura linha a linha até encontrar a combinação. No nosso exemplo, milhares ou milhões de transações podem deixar o relatório bem mais lento.
LOOKUPVALUE pode ser complexa à toa em cenários simples com relacionamento direto. No entanto, se você precisa de critérios de correspondência mais complexos, não tem relacionamentos estabelecidos ou não está preocupado com performance, LOOKUPVALUE oferece mais flexibilidade.
Se quiser aprender mais, confira este guia completo de DAX LOOKUPVALUE.
Mesclando dados com o Power Query
Mesclar tabelas no Power Query, na prática, gera um retrato estático dos seus dados no momento da mescla.
Mas suponha que sua tabela Products seja atualizada com frequência (novos produtos ou categorias alteradas). Nesse caso, a tabela mesclada no Power Query não refletirá automaticamente essas mudanças sem atualizar tanto Products quanto Sales.
Tabelas mescladas podem ficar grandes e afetar a performance do relatório, especialmente se você só precisa de um pequeno pedaço de informação da tabela relacionada (como a categoria do produto).
Conclusão
A função RELATED simplifica a modelagem ao buscar dados em tabelas conectadas por relacionamentos, eliminando a necessidade de mesclas manuais. Isso permite criar colunas calculadas e medidas que incorporam dinamicamente dados de outras tabelas.
Para um uso ideal, aplique RELATED de forma estratégica, trazendo dados ao contexto da tabela atual apenas quando necessário. Entender bem o modelo e os relacionamentos é crucial.
Se quiser continuar aprendendo sobre Power BI, experimente estes recursos:
Torne-se um analista de dados do Power BI
Domine a ferramenta de business intelligence mais popular do mundo.
FAQs
A função RELATED pode ser usada com relacionamentos inativos?
Não. A função RELATED não utiliza diretamente relacionamentos inativos no Power BI. A RELATED foi projetada para funcionar com relacionamentos ativos entre tabelas.
Em um modelo do Power BI, embora possam existir vários relacionamentos entre duas tabelas, apenas um pode estar ativo por vez. É esse relacionamento ativo que o Power BI usa automaticamente com a função RELATED.
A função RELATED pode ser usada em medida e em coluna calculada?
Embora a RELATED seja geralmente usada em colunas calculadas, ela também pode ser utilizada em medidas — especialmente dentro de funções iteradoras como a SUMX, como vimos neste tutorial.
Quando usada em uma medida, a RELATED busca dados de uma tabela relacionada com base no contexto de linha atual estabelecido pela função iteradora. Isso permite cálculos dinâmicos entre tabelas relacionadas dentro do contexto de filtro da medida.
A função RELATED pode ser usada ao longo de várias tabelas em cadeia de relacionamentos?
Sim. A RELATED pode percorrer uma cadeia de relacionamentos entre múltiplas tabelas, desde que cada elo dessa cadeia tenha um relacionamento devidamente definido. Isso viabiliza modelos mais complexos em que a RELATED consegue buscar dados por tabelas intermediárias.
Como o contexto de filtro afeta o uso de RELATED em medidas?
A RELATED opera dentro do contexto de filtro estabelecido quando usada em medidas, o qual pode ser modificado por segmentações, visuais ou outras funções DAX como CALCULATE.
Os valores retornados por RELATED refletirão o contexto de filtro atual, tornando-a dinâmica e responsiva às interações do relatório. Isso possibilita cálculos sensíveis ao contexto que se adaptam às ações do usuário.


