RELATED
Si applica a: Calcolo visivo misura tabella calcolata colonna calcolata
Restituisce un valore correlato da un'altra tabella.
Sintassi
RELATED(<column>)
Parametri
Termine | Definizione |
---|---|
colonna | Colonna contenente i valori che si vogliono recuperare. |
Valore restituito
Singolo valore correlato alla riga corrente.
Osservazioni:
Per la funzione RELATED è necessario che esista una relazione tra la tabella corrente e la tabella con le informazioni correlate. Si specifica la colonna che contiene i dati desiderati e la funzione segue una relazione molti-a-uno esistente per recuperare il valore dalla colonna specificata nella tabella correlata. Se non esiste una relazione, è necessario crearne una.
Quando la funzione RELATED esegue una ricerca, esamina tutti i valori nella tabella specificata indipendentemente da eventuali filtri applicati.
Per la funzione RELATED è necessario un contesto di riga. Può quindi essere usata solo nell'espressione di colonna calcolata, in cui il contesto della riga corrente non è ambiguo, o come funzione annidata in un'espressione che usa una funzione di scansione di tabella. Una funzione di scansione di tabella, ad esempio SUMX, ottiene il valore della riga corrente e quindi cerca in un'altra tabella le istanze di tale valore.
Non è possibile usare la funzione RELATED per recuperare una colonna in una relazione limitata.
Esempio
Nell'esempio seguente viene creata la misura Non USA Internet Sales per generare un report sulle vendite che esclude le vendite negli Stati Uniti. Per creare la misura, è necessario filtrare la tabella InternetSales_USD per escludere tutte le vendite che appartengono agli Stati Uniti nella tabella SalesTerritory. Gli Stati Uniti, come paese, vengono visualizzati 5 volte nella tabella SalesTerritory, ovvero una volta per ognuna delle regioni seguenti: nord-ovest, nord-est, centrale, sud-ovest e sud-est.
Il primo approccio per filtrare le vendite Internet, per poter creare la misura, potrebbe consistere nell'aggiungere un'espressione di filtro come la seguente:
FILTER('InternetSales_USD'
, 'InternetSales_USD'[SalesTerritoryKey]<>1 && 'InternetSales_USD'[SalesTerritoryKey]<>2 && 'InternetSales_USD'[SalesTerritoryKey]<>3 && 'InternetSales_USD'[SalesTerritoryKey]<>4 && 'InternetSales_USD'[SalesTerritoryKey]<>5)
Questo approccio è tuttavia controintuitivo, soggetto a errori di digitazione e potrebbe non funzionare se una delle aree esistenti venisse suddivisa in futuro.
Un approccio migliore consiste nell'usare la relazione esistente tra InternetSales_USD e SalesTerritory e nell'indicare in modo esplicito che il paese deve essere diverso da United States. 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 del paese nella tabella SalesTerritory, a partire dal valore della colonna chiave SalesTerritoryKey nella tabella InternetSales_USD. Il risultato della ricerca viene usato dalla funzione di filtro per determinare se la riga InternetSales_USD sia 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 illustra 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 della 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 |