Udostępnij za pośrednictwem


RELATED

Dotyczy: Obliczanie kolumny obliczeniowej tabeli Obliczeniowej Obliczenie wizualizacji

Zwraca powiązaną wartość z innej tabeli.

Składnia

RELATED(<column>)  

Parametry

Termin Definicja
column Kolumna zawierająca wartości, które chcesz pobrać.

Wartość zwracana

Pojedyncza wartość powiązana z bieżącym wierszem.

Uwagi

  • Funkcja RELATED wymaga, aby relacja między bieżącą tabelą a tabelą zawierała powiązane informacje. Należy określić kolumnę zawierającą żądane dane, a funkcja jest zgodna z istniejącą relacją wiele do jednego, aby pobrać wartość z określonej kolumny w powiązanej tabeli. Jeśli relacja nie istnieje, musisz utworzyć relację.

  • Gdy funkcja RELATED wykonuje wyszukiwanie, sprawdza wszystkie wartości w określonej tabeli niezależnie od filtrów, które mogły zostać zastosowane.

  • Funkcja RELATED wymaga kontekstu wiersza; W związku z tym można go używać tylko w wyrażeniu kolumny obliczeniowej, gdzie bieżący kontekst wiersza jest jednoznaczny lub jako funkcja zagnieżdżona w wyrażeniu używającym funkcji skanowania tabeli. Funkcja skanowania tabel, taka jak SUMX, pobiera wartość bieżącej wartości wiersza, a następnie skanuje inną tabelę dla wystąpień tej wartości.

  • Funkcji RELATED nie można użyć do pobrania kolumny w ograniczonej relacji.

Przykład

W poniższym przykładzie miara Sprzedaż internetowa w Stanach Zjednoczonych jest tworzona w celu utworzenia raportu sprzedaży, który wyklucza sprzedaż w Stany Zjednoczone. Aby utworzyć miarę, należy przefiltrować tabelę InternetSales_USD, aby wykluczyć wszystkie sprzedaże należące do Stany Zjednoczone w tabeli SalesTerritory. Stany Zjednoczone, jako kraj, pojawia się 5 razy w tabeli SalesTerritory; raz dla każdego z następujących regionów: Północno-zachodni, Północno-Wschodni, Środkowy, Południowo-Zachodni i Południowo-Wschodni.

Pierwszym podejściem do filtrowania sprzedaży internetowej w celu utworzenia miary może być dodanie wyrażenia filtru, takiego jak następujące:

FILTER('InternetSales_USD'
, 'InternetSales_USD'[SalesTerritoryKey]<>1 && 'InternetSales_USD'[SalesTerritoryKey]<>2 && 'InternetSales_USD'[SalesTerritoryKey]<>3 && 'InternetSales_USD'[SalesTerritoryKey]<>4 && 'InternetSales_USD'[SalesTerritoryKey]<>5)

Jednak takie podejście jest nieintuicyjne, podatne na błędy wpisywania i może nie działać, jeśli którykolwiek z istniejących regionów zostanie podzielony w przyszłości.

Lepszym rozwiązaniem byłoby użycie istniejącej relacji między InternetSales_USD i SalesTerritory i jawnie stwierdzić, że kraj musi być inny niż Stany Zjednoczone. W tym celu utwórz wyrażenie filtru podobne do następującego:

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

To wyrażenie używa funkcji RELATED do wyszukiwania wartości kraju w tabeli SalesTerritory, począwszy od wartości kolumny klucza SalesTerritoryKey w tabeli InternetSales_USD. Wynik wyszukiwania jest używany przez funkcję filter w celu określenia, czy wiersz InternetSales_USD jest filtrowany, czy nie.

Uwaga

Jeśli przykład nie działa, może być konieczne utworzenie relacji między tabelami.

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

W poniższej tabeli przedstawiono tylko sumy dla każdego regionu, aby udowodnić, że wyrażenie filtru w mierze Sprzedaż internetowa w Stanach Zjednoczonych działa zgodnie z oczekiwaniami.

Row Labels Internet Sales Non USA Internet Sales
Australia 4999 021,84 USD 4999 021,84 USD
Kanada $1,343,109.10 $1,343,109.10
Francja $2,490,944,57 $2,490,944,57
Niemcy $2,775,195.60 $2,775,195.60
Zjednoczone Królestwo 5 057 076,55 USD 5 057 076,55 USD
Stany Zjednoczone $9,389,479,79
Suma końcowa 26 054 827,45 USD 16 665 347,67 USD

Poniżej przedstawiono, co można uzyskać w przypadku użycia tej miary w wizualizacji tabeli raportów:

Row Labels Accessories Bikes Clothing Grand Total
2005 1526 481,95 USD 1526 481,95 USD
2006 3554 744,04 USD 3554 744,04 USD
2007 156 480,18 USD $5,640,106.05 70 142,77 USD $5,866,729.00
2008 228 159,45 USD $5,386,558.19 102 675,04 USD 5717 392,68 USD
Suma końcowa 384 639,633 USD 16 107 890,23 USD 172 817,811 USD 16 665 347,67 USD

RELATEDTABLE
Funkcje filtrowania