Condividi tramite


Funzione RELATED

Viene restituito un valore correlato da un'altra tabella.

Sintassi

RELATED(<column>)

Parametri

Termine

Definizione

column

Colonna che contiene i valori che si desidera recuperare.

Valore restituito

Un singolo valore correlato alla riga corrente.

Osservazioni

La funzione RELATED richiede che vi sia una relazione tra la tabella corrente e la tabella con le informazioni correlate. Specificando la colonna che contiene i dati desiderati, la funzione segue una relazione molti-a-uno esistente per recuperare il valore dalla colonna specificata nella tabella correlata.

Se non vi è una relazione, è necessario crearla. Per ulteriori informazioni, vedere Creare una relazione tra due tabelle.

Quando la funzione RELATED esegue una ricerca, esamina tutti i valori nella tabella specificata indipendentemente da eventuali filtri applicati.

[!NOTA]

La funzione RELATED richiede un contesto di riga, pertanto può essere utilizzata solo in un'espressione di colonna calcolata, dove il contesto di riga corrente non è ambiguo oppure come funzione annidata in un'espressione che utilizza una funzione di analisi delle tabelle. Una funzione di analisi delle tabelle, ad esempio SUMX, ottiene il valore della riga corrente e quindi analizza un'altra tabella per individuare istanze di tale valore.

Esempio

Nell'esempio seguente viene creata la misura Non USA Internet Sales per produrre un report sulle vendite che esclude le vendite negli Stati Uniti. Per creare la misura, è necessario filtrare la tabella InternetSales_USD in modo da 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 Internet Sales, al fine di creare la misura, può essere l'aggiunta di 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)

Tale approccio è tuttavia poco intuitivo e soggetto all'immissione di errori e potrebbe non funzionare se una delle regioni esistenti venisse successivamente divisa.

Un approccio migliore consiste nell'utilizzare la relazione esistente tra InternetSales_USD e SalesTerritory e indicare 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")

L'espressione utilizza la funzione RELATED per cercare il valore del paese nella tabella SalesTerritory, iniziando 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 è filtrata.

[!NOTA]

Se l'esempio non funziona, potrebbe essere necessario creare una relazione tra le tabelle. Per ulteriori informazioni, vedere Relazioni tra tabelle.

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

Nella tabella seguente vengono illustrati solo i totali per ogni regione, per verificare che l'espressione di filtro nella misura Non USA Internet Sales funzioni come previsto.

Etichette di riga

Internet Sales

Non USA Internet Sales

Australia

$4,999,021.84

$4,999,021.84

Canada

$1,343,109.10

$1,343,109.10

France

$2,490,944.57

$2,490,944.57

Germany

$2,775,195.60

$2,775,195.60

United Kingdom

$5,057,076.55

$5,057,076.55

United States

$9,389,479.79

 

Totale complessivo

$26,054,827.45

$16,665,347.67

Nella tabella seguente viene illustrato il report finale che è possibile ottenere se è stata utilizzata questa misura in una tabella pivot:

Non USA Internet Sales

Etichette di colonna

 

 

 

Etichette di riga

Accessories

Bikes

Clothing

Totale complessivo

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

Totale complessivo

$384,639.63

$16,107,890.23

$172,817.81

$16,665,347.67

Vedere anche

Riferimento

Funzione RELATEDTABLE

Altre risorse

Funzioni filtro (DAX)

Relazioni tra tabelle