RELATED
Returnerar ett relaterat värde från en annan tabell.
Syntax
RELATED(<column>)
Parametrar
| Period | Definition |
|---|---|
| kolumn | Den kolumn som innehåller de värden som du vill hämta. |
Returvärde
Ett enda värde som är relaterat till den aktuella raden.
Kommentarer
Funktionen RELATED kräver att det finns en relation mellan den aktuella tabellen och tabellen med relaterad information. Du anger den kolumn som innehåller de data du vill använda, och funktionen följer en befintlig många-till-en-relation för att hämta värdet från den angivna kolumnen i den relaterade tabellen. Om det inte finns någon relation måste du skapa en sådan.
När funktionen RELATED utför en sökning undersöker den alla värden i den angivna tabellen oavsett vilka filter som kan ha tillämpats.
Funktionen RELATED behöver en radkontext. Därför kan den bara användas i uttryck för beräknade kolumner, där den aktuella radkontexten är otvetydig, eller som en kapslad funktion i ett uttryck som använder en tabellsökningsfunktion. En tabellsökningsfunktion, till exempel SUMX, hämtar värdet för det aktuella radvärdet och genomsöker sedan en annan tabell efter förekomster av det värdet.
Funktionen RELATED kan inte användas till att hämta kolumner via begränsade relationer.
Exempel
I följande exempel skapas måttet Non USA Internet Sales för att bilda en försäljningsrapport som omfattar försäljning i USA. För att måttet ska kunna skapas måste tabellen InternetSales_USD filtreras så att all försäljning som tillhör USA i tabellen SalesTerritory utesluts. USA som land förekommer fem gånger i tabellen SalesTerritory, en gång för var och en av följande regioner: Northwest, Northeast, Central, Southwest och Southeast.
Den första metoden för att filtrera Internetförsäljning, i syfte att skapa måttet, kan vara att lägga till ett filteruttryck såsom följande:
FILTER('InternetSales_USD'
, 'InternetSales_USD'[SalesTerritoryKey]<>1 && 'InternetSales_USD'[SalesTerritoryKey]<>2 && 'InternetSales_USD'[SalesTerritoryKey]<>3 && 'InternetSales_USD'[SalesTerritoryKey]<>4 && 'InternetSales_USD'[SalesTerritoryKey]<>5)
Den här metoden är dock kontraintuitiv, lätt att skriva fel i och fungerar kanske inte om någon av de befintliga regionerna delas i framtiden.
En bättre metod vore att använda den befintliga relationen mellan InternetSales_USD och SalesTerritory och uttryckligen ange att landet måste vara något annat än USA. Det gör du genom att skapa ett filteruttryck såsom följande:
FILTER( 'InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")
Det här uttrycket använder funktionen RELATED för att leta upp landsvärdet i tabellen SalesTerritory. Det börjar med värdet för nyckelkolumnen SalesTerritoryKey i tabellen InternetSales_USD. Resultatet av sökningen används av filterfunktionen för att avgöra huruvida raden InternetSales_USD är filtrerad.
Anteckning
Om exemplet inte fungerar kan du behöva skapa en relation mellan tabellerna.
= SUMX(FILTER( 'InternetSales_USD'
, RELATED('SalesTerritory'[SalesTerritoryCountry])
<>"United States"
)
,'InternetSales_USD'[SalesAmount_USD])
I följande tabell visas endast totalsummor för varje region i syfte att bevisa att filteruttrycket i måttet, Non USA Internet Sales, fungerar som avsett.
| Row Labels | Internet Sales | Non USA Internet Sales |
|---|---|---|
| Australien | $4,999,021.84 | $4,999,021.84 |
| Kanada | $1,343,109.10 | $1,343,109.10 |
| Frankrike | $2,490,944.57 | $2,490,944.57 |
| Tyskland | $2,775,195.60 | $2,775,195.60 |
| Storbritannien | $5,057,076.55 | $5,057,076.55 |
| USA | $9,389,479.79 | |
| Totalsumma | $26,054,827.45 | $16,665,347.67 |
Följande visar vad du kan få om du använde det här måttet i ett visuellt objekt i en rapporttabell:
| 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 |
| Totalsumma | $384,639.63 | $16,107,890.23 | $172,817.81 | $16,665,347.67 |