RELATED

Retorna um valor relacionado de outra tabela.

Sintaxe

RELATED(<column>)  

Parâmetros

Termo Definição
coluna A coluna que contém os valores que você deseja recuperar.

Valor retornado

Um único valor que está relacionado à linha atual.

Comentários

  • A função RELATED requer que exista uma relação entre a tabela atual e a tabela com informações relacionadas. Você especifica a coluna que contém os dados desejados e a função segue uma relação muitos para um existente para buscar o valor na coluna especificada na tabela relacionada. Se não existir uma relação, você precisará criar uma.

  • Quando a função RELATED executa uma pesquisa, ela examina todos os valores na tabela especificada, independentemente dos filtros que possam ter sido aplicados.

  • A função RELATED precisa de um contexto de linha. Portanto, ela só pode ser usada na expressão de coluna calculada, em que o contexto da linha atual não é ambíguo, ou como uma função aninhada em uma expressão que usa uma função de verificação de tabela. Uma função de verificação de tabela, como SUMX, obtém o valor do valor da linha atual e examina outra tabela em busca de instâncias desse valor.

  • A função RELATED não pode ser usada para buscar uma coluna em uma relação limitada.

Exemplo

No exemplo a seguir, a medida de Vendas pela Internet fora dos EUA é criada para produzir um relatório de vendas que exclui as vendas no Estados Unidos. Para criar a medida, a tabela InternetSales_USD deve ser filtrada para excluir todas as vendas que pertencem ao Estados Unidos na tabela SalesTerritory. Os Estados Unidos, como um país, são exibidos cinco vezes na tabela SalesTerritory; uma vez para cada uma das seguintes regiões: Noroeste, Nordeste, Centro, Sudoeste e Sudeste.

A primeira abordagem para filtrar as Vendas pela Internet a fim de criar a medida pode ser adicionar uma expressão de filtro como a seguinte:

FILTER('InternetSales_USD'
, 'InternetSales_USD'[SalesTerritoryKey]<>1 && 'InternetSales_USD'[SalesTerritoryKey]<>2 && 'InternetSales_USD'[SalesTerritoryKey]<>3 && 'InternetSales_USD'[SalesTerritoryKey]<>4 && 'InternetSales_USD'[SalesTerritoryKey]<>5)

No entanto, essa abordagem é bem intuitiva, sujeita a erros de digitação e poderá não funcionar se alguma das regiões existentes for dividida no futuro.

Uma abordagem melhor seria usar a relação existente entre InternetSales_USD e SalesTerritory e declarar explicitamente que o país deve ser diferente dos Estados Unidos. Para fazer isso, crie uma expressão de filtro como a seguinte:

FILTER( 'InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")

Essa expressão usa a função RELATED para pesquisar o valor do país na tabela SalesTerritory, começando com o valor da coluna de chave, SalesTerritoryKey, na tabela InternetSales_USD. O resultado da pesquisa é usado pela função de filtro para determinar se a linha InternetSales_USD é filtrada ou não.

Observação

Se o exemplo não funcionar, talvez seja necessário criar uma relação entre as tabelas.

= SUMX(FILTER( 'InternetSales_USD'  
            ,  RELATED('SalesTerritory'[SalesTerritoryCountry])  
               <>"United States"  
             )  
     ,'InternetSales_USD'[SalesAmount_USD])  

A tabela a seguir mostra apenas os totais de cada região, para provar que a expressão de filtro na medida, Vendas pela Internet fora dos EUA, funciona conforme o esperado.

Row Labels Internet Sales Non USA Internet Sales
Austrália US$ 4.999.021,84 US$ 4.999.021,84
Canadá US$ 1.343.109,10 US$ 1.343.109,10
França US$ 2.490.944,57 US$ 2.490.944,57
Alemanha US$ 2.775.195,60 US$ 2.775.195,60
Reino Unido US$ 5.057.076,55 US$ 5.057.076,55
Estados Unidos US$ 9.389.479,79
Grande Total US$ 26.054.827,45 US$ 16.665.347,67

O seguinte conteúdo mostra o que você poderá obter se tiver usado essa medida em um visual de tabela de relatório:

Row Labels Accessories Bikes Clothing Grand Total
2005 US$ 1.526.481,95 US$ 1.526.481,95
2006 US$ 3.554.744,04 US$ 3.554.744,04
2007 US$ 156.480,18 US$ 5.640.106,05 US$ 70.142,77 US$ 5.866.729,00
2008 US$ 228.159,45 US$ 5.386.558,19 US$ 102.675,04 US$ 5.717.392,68
Grande Total US$ 384.639,63 US$ 16.107.890,23 US$ 172.817,81 US$ 16.665.347,67

RELATEDTABLE
Funções de filtro