RELATED
Aplica-se a: Coluna calculada Tabela calculada Medida Cálculo visual
Devolve 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 devolvido
Um único valor relacionado à linha atual.
Observações
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 da coluna especificada na tabela relacionada. Se uma relação não existir, você deve criar uma relação.
Quando a função RELATED executa uma pesquisa, ela examina todos os valores na tabela especificada, independentemente de quaisquer filtros que possam ter sido aplicados.
A função RELATED precisa de um contexto de linha; portanto, ele só pode ser usado em expressão de coluna calculada, onde o contexto de linha atual é inequívoco, ou como uma função aninhada em uma expressão que usa uma função de verificação de tabela. Uma função de varredura de tabela, como SUMX, obtém o valor do valor da linha atual e, em seguida, verifica 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 Non USA Internet Sales é criada para produzir um relatório de vendas que exclui as vendas nos Estados Unidos. Para criar a medida, a tabela InternetSales_USD deve ser filtrada para excluir todas as vendas que pertencem aos Estados Unidos na tabela SalesTerritory. Os Estados Unidos, como país, aparecem 5 vezes na tabela SalesTerritory; uma vez para cada uma das seguintes regiões: Noroeste, Nordeste, Central, Sudoeste e Sudeste.
A primeira abordagem para filtrar as vendas pela Internet, a fim de criar a medida, poderia 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 é contraintuitiva, propensa a erros de digitação e pode 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")
Esta 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.
Nota
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 totais para cada região, para provar que a expressão de filtro na medida, Vendas pela Internet fora dos EUA, funciona como pretendido.
Row Labels | Internet Sales | Non USA Internet Sales |
---|---|---|
Austrália | $4.999.021,84 | $4.999.021,84 |
Canadá | $1.343.109,10 | $1.343.109,10 |
França | $2.490.944,57 | $2.490.944,57 |
Alemanha | $2.775.195,60 | $2.775.195,60 |
Reino Unido | $5.057.076,55 | $5.057.076,55 |
Estados Unidos da América | $9,389,479.79 | |
Total Geral | $26.054.827,45 | $16.665.347,67 |
A seguir mostra o que você pode obter se usar essa medida em um visual de tabela de relatório:
Row Labels | Accessories | Bikes | Clothing | Grand Total |
---|---|---|---|---|
2005 | $1.526.481,95 | $1.526.481,95 | ||
2006 | $3.554.744,04 | $3.554.744,04 | ||
2007 | $156,480.18 | $5.640.106,05 | $70,142.77 | $5.866.729,00 |
2008 | $228,159.45 | $5,386,558.19 | $102,675.04 | $5,717,392.68 |
Total Geral | $384,639.63 | $16,107,890.23 | $172,817.81 | $16.665.347,67 |