RELATED
Restituisce un valore correlato da un'altra tabella.
Sintassi
RELATED(<column>)
Parametri
Termine | Definizione |
---|---|
column |
Colonna contenente i valori che si desidera recuperare. |
Valore restituito
Valore singolo correlato alla riga corrente.
Osservazioni:
La funzione RELATED richiede che esista una relazione tra la tabella corrente e la tabella con informazioni correlate. Specificare la colonna contenente i dati desiderati e la funzione segue una relazione molti-a-uno esistente per recuperare il valore dalla colonna specificata nella tabella correlata. Se una relazione non esiste, è necessario creare una relazione.
Quando la funzione RELATED esegue una ricerca, esamina tutti i valori nella tabella specificata indipendentemente dai filtri che potrebbero essere stati applicati.
La funzione RELATED richiede un contesto di riga; pertanto, può essere usato solo nell'espressione di colonna calcolata, in cui il contesto di riga corrente non è ambiguo o come funzione nidificata in un'espressione che usa una funzione di analisi della tabella. Una funzione di analisi delle tabelle, ad esempio SUMX, ottiene il valore del valore della riga corrente e quindi analizza un'altra tabella per le istanze di tale valore.
Impossibile utilizzare la funzione RELATED per recuperare una colonna in una relazione limitata .
Esempio
Nell'esempio seguente viene creata la misura Non USA Internet Sales per produrre un report di vendita che esclude le vendite negli Stati Uniti. Per creare la misura, è necessario filtrare la tabella InternetSales_USD per escludere tutte le vendite appartenenti agli Stati Uniti nella tabella SalesTerritory. Gli Stati Uniti, come paese, appaiono 5 volte nella tabella SalesTerritory; una volta per ognuna delle aree seguenti: nord-ovest, nord-est, centrale, sud-ovest e sud-orientale.
Il primo approccio per filtrare Internet Sales, per creare la misura, potrebbe essere aggiungere un'espressione di filtro simile alla seguente:
FILTER('InternetSales_USD'
, 'InternetSales_USD'[SalesTerritoryKey]<>1 && 'InternetSales_USD'[SalesTerritoryKey]<>2 && 'InternetSales_USD'[SalesTerritoryKey]<>3 && 'InternetSales_USD'[SalesTerritoryKey]<>4 && 'InternetSales_USD'[SalesTerritoryKey]<>5)
Tuttavia, questo approccio è controintuitivo, soggetto a errori di digitazione e potrebbe non funzionare se una delle aree esistenti è suddivisa in futuro.
Un approccio migliore consiste nell'usare la relazione esistente tra InternetSales_USD e SalesTerritory e dichiarare in modo esplicito che il paese deve essere diverso dagli Stati Uniti. A tale scopo, creare un'espressione di filtro simile alla seguente:
FILTER( 'InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")
Questa espressione usa la funzione RELATED per cercare il valore country nella tabella SalesTerritory, a partire dal valore della colonna chiave SalesTerritoryKey, nella tabella InternetSales_USD. Il risultato della ricerca viene utilizzato dalla funzione di filtro per determinare se la riga InternetSales_USD viene filtrata o meno.
Nota
Se l'esempio non funziona, potrebbe essere necessario creare una relazione tra le tabelle.
= SUMX(FILTER( 'InternetSales_USD'
, RELATED('SalesTerritory'[SalesTerritoryCountry])
<>"United States"
)
,'InternetSales_USD'[SalesAmount_USD])
La tabella seguente mostra solo i totali per ogni area, per dimostrare che l'espressione di filtro nella misura, Non USA Internet Sales, funziona come previsto.
Row Labels | Internet Sales | Non USA Internet Sales |
---|---|---|
Australia | $4,999,021.84 | $4,999,021.84 |
Canada | $1,343,109.10 | $1,343,109.10 |
Francia | $2,490,944.57 | $2,490,944.57 |
Germania | $2,775,195.60 | $2,775,195.60 |
Regno Unito | $5,057,076.55 | $5,057,076.55 |
Stati Uniti | $9,389,479.79 | |
Grand Total | $26,054,827.45 | $16,665,347.67 |
Di seguito viene illustrato ciò che è possibile ottenere se è stata usata questa misura in un oggetto visivo tabella del report:
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 |
Grand Total | $384,639.63 | $16,107,890.23 | $172,817.81 | $16,665,347.67 |