RELATEDRELATED

Retorna um valor relacionado de outra tabela.Returns a related value from another table.

SintaxeSyntax

RELATED(<column>)  

ParâmetrosParameters

TermoTerm DefiniçãoDefinition
colunacolumn A coluna que contém os valores que você deseja recuperar.The column that contains the values you want to retrieve.

Valor retornadoReturn value

Um único valor que está relacionado à linha atual.A single value that is related to the current row.

ComentáriosRemarks

  • A função RELATED requer que exista uma relação entre a tabela atual e a tabela com informações relacionadas.The RELATED function requires that a relationship exists between the current table and the table with related information. 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.You specify the column that contains the data that you want, and the function follows an existing many-to-one relationship to fetch the value from the specified column in the related table. Se não existir uma relação, você precisará criar uma.If a relationship does not exist, you must create a relationship.

  • Quando a função RELATED executa uma pesquisa, ela examina todos os valores na tabela especificada, independentemente dos filtros que possam ter sido aplicados.When the RELATED function performs a lookup, it examines all values in the specified table regardless of any filters that may have been applied.

  • 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.The RELATED function needs a row context; therefore, it can only be used in calculated column expression, where the current row context is unambiguous, or as a nested function in an expression that uses a table scanning function. 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 table scanning function, such as SUMX, gets the value of the current row value and then scans another table for instances of that value.

  • A função RELATED não pode ser usada para buscar uma coluna em uma relação fraca.The RELATED function cannot be used to fetch a column across a weak relationship.

ExemploExample

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.In the following example, the measure Non USA Internet Sales is created to produce a sales report that excludes sales in the United States. Para criar a medida, a tabela InternetSales_USD deve ser filtrada para excluir todas as vendas que pertencem ao Estados Unidos na tabela SalesTerritory.In order to create the measure, the InternetSales_USD table must be filtered to exclude all sales that belong to the United States in the SalesTerritory table. 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.The United States, as a country, appears 5 times in the SalesTerritory table; once for each of the following regions: Northwest, Northeast, Central, Southwest, and Southeast.

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:The first approach to filter the Internet Sales, in order to create the measure, could be to add a filter expression like the following:

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.However, this approach is counterintuitive, prone to typing errors, and might not work if any of the existing regions is split in the future.

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.A better approach would be to use the existing relationship between InternetSales_USD and SalesTerritory and explicitly state that the country must be different from the United States. Para fazer isso, crie uma expressão de filtro como a seguinte:To do so, create a filter expression like the following:

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.This expression uses the RELATED function to lookup the country value in the SalesTerritory table, starting with the value of the key column, SalesTerritoryKey, in the InternetSales_USD table. O resultado da pesquisa é usado pela função de filtro para determinar se a linha InternetSales_USD é filtrada ou não.The result of the lookup is used by the filter function to determine if the InternetSales_USD row is filtered or not.

Observação

Se o exemplo não funcionar, talvez seja necessário criar uma relação entre as tabelas.If the example does not work, you might need to create a relationship between the tables.

= 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.The following table shows only totals for each region, to prove that the filter expression in the measure, Non USA Internet Sales, works as intended.

Rótulos de linhaRow Labels Internet SalesInternet Sales Vendas pela Internet fora dos EUANon USA Internet Sales
AustráliaAustralia US$ 4.999.021,84$4,999,021.84 US$ 4.999.021,84$4,999,021.84
CanadáCanada US$ 1.343.109,10$1,343,109.10 US$ 1.343.109,10$1,343,109.10
FrançaFrance US$ 2.490.944,57$2,490,944.57 US$ 2.490.944,57$2,490,944.57
AlemanhaGermany US$ 2.775.195,60$2,775,195.60 US$ 2.775.195,60$2,775,195.60
Reino UnidoUnited Kingdom US$ 5.057.076,55$5,057,076.55 US$ 5.057.076,55$5,057,076.55
Estados UnidosUnited States US$ 9.389.479,79$9,389,479.79
Grande TotalGrand Total US$ 26.054.827,45$26,054,827.45 US$ 16.665.347,67$16,665,347.67

A tabela a seguir mostra o relatório final que você poderá obter se tiver usado essa medida em uma Tabela Dinâmica:The following table shows the final report that you might get if you used this measure in a PivotTable:

Vendas pela Internet fora dos EUANon USA Internet Sales Rótulos de ColunaColumn Labels
Rótulos de linhaRow Labels AcessóriosAccessories BikesBikes ClothingClothing Grande TotalGrand Total
20052005 US$ 1.526.481,95$1,526,481.95 US$ 1.526.481,95$1,526,481.95
20062006 US$ 3.554.744,04$3,554,744.04 US$ 3.554.744,04$3,554,744.04
20072007 US$ 156.480,18$156,480.18 US$ 5.640.106,05$5,640,106.05 US$ 70.142,77$70,142.77 US$ 5.866.729,00$5,866,729.00
20082008 US$ 228.159,45$228,159.45 US$ 5.386.558,19$5,386,558.19 US$ 102.675,04$102,675.04 US$ 5.717.392,68$5,717,392.68
Grande TotalGrand Total US$ 384.639,63$384,639.63 US$ 16.107.890,23$16,107,890.23 US$ 172.817,81$172,817.81 US$ 16.665.347,67$16,665,347.67

Confira tambémSee also

RELATEDTABLERELATEDTABLE
Funções de filtroFilter functions