Sdílet prostřednictvím


RELATED

Platí pro:Calculated columnCalculated tableMeasureVisual calculation

Vrátí hodnotu v relaci z jiné tabulky.

Syntaxe

RELATED(<column>)  

Parametry

Pojem definice
column Sloupec obsahující hodnoty, které chcete načíst.

Vrácená hodnota

Jedna hodnota, která souvisí s aktuálním řádkem.

Poznámky

  • Funkce RELATED vyžaduje, aby mezi aktuální tabulkou a tabulkou existoval vztah se souvisejícími informacemi. Zadáte sloupec, který obsahuje požadovaná data, a funkce následuje existující relaci M:1, která načte hodnotu ze zadaného sloupce v související tabulce. Pokud relace neexistuje, musíte vytvořit relaci.

  • Když funkce RELATED provede vyhledávání, zkontroluje všechny hodnoty v zadané tabulce bez ohledu na všechny filtry, které mohly být použity.

  • Funkce RELATED potřebuje kontext řádku; Lze jej proto použít pouze ve výrazu počítaného sloupce, kde je kontext aktuálního řádku jednoznačný nebo jako vnořená funkce ve výrazu, který používá funkci prohledávání tabulky. Funkce prohledávání tabulek, například SUMX, získá hodnotu aktuální hodnoty řádku a pak prohledá jinou tabulku pro výskyty této hodnoty.

  • Funkci RELATED nelze použít k načtení sloupce v omezené relaci.

Příklad

V následujícím příkladu se vytvoří míra Mimo USA Internet Sales, která vytvoří sestavu prodeje, která vyloučí prodeje v USA. Aby bylo možné míru vytvořit, musí být tabulka InternetSales_USD filtrována, aby se vyloučily všechny prodeje, které patří do USA v tabulce SalesTerritory. V tabulce SalesTerritory se USA jako země zobrazuje 5krát; jednou pro každou z následujících oblastí: Severozápad, Severovýchod, Středozápad, Jihozápad a Jihovýchod.

Prvním přístupem k filtrování internetového prodeje, aby bylo možné míru vytvořit, může být přidání výrazu filtru podobnému následujícímu:

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

Tento přístup je však neintuitivní, náchylný k překlepům a nemusí fungovat, pokud je některá z existujících oblastí v budoucnu rozdělená.

Lepším přístupem by bylo použít stávající vztah mezi InternetSales_USD a SalesTerritory a explicitně uvést, že se země musí lišit od USA. Uděláte to tak, že vytvoříte výraz filtru, jako je následující:

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

Tento výraz používá funkci RELATED k vyhledání hodnoty země v tabulce SalesTerritory počínaje hodnotou klíčového sloupce SalesTerritoryKey v tabulce InternetSales_USD. Výsledek vyhledávání používá funkce filtru k určení, jestli je řádek InternetSales_USD filtrovaný nebo ne.

Poznámka:

Pokud příklad nefunguje, možná budete muset vytvořit relaci mezi tabulkami.

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

V následující tabulce jsou uvedeny pouze součty pro každou oblast, aby bylo možno prokázat, že výraz filtru v míře Internetový prodej mimo USA funguje podle očekávání.

Row Labels Internet Sales Non USA Internet Sales
Austrálie 4 999 021,84 Kč 4 999 021,84 Kč
Kanada 1 343 109,10 Kč 1 343 109,10 Kč
Francie 2 490 944,57 Kč 2 490 944,57 Kč
Německo 2 775 195,60 Kč 2 775 195,60 Kč
Spojené království 5 057 076,55 Kč 5 057 076,55 Kč
USA 9 389 479,79 Kč
Celkový součet 26 054 827,45 Kč 16 665 347,67 Kč

Následující příklad ukazuje, co můžete získat, pokud jste tuto míru použili ve vizuálu tabulky sestavy:

Row Labels Accessories Bikes Clothing Grand Total
2005 1 526 481,95 Kč 1 526 481,95 Kč
2006 3 554 744,04 Kč 3 554 744,04 Kč
2007 156 480,18 Kč 5 640 106,05 Kč 70 142,77 Kč 5 866 729,00 Kč
2008 228 159,45 Kč 5 386 558,19 Kč 102 675,04 Kč 5 717 392,68 Kč
Celkový součet 384 639,63 Kč 16 107 890,23 Kč 172 817,81 Kč 16 665 347,67 Kč

RELATEDTABLE
Funkce filtru