Partager via


RELATED

s’applique à :colonne calculéetable calculéemesurecalcul visuel

Retourne une valeur associée d’une autre table.

Syntaxe

RELATED(<column>)

Paramètres

Terme Définition
column Colonne qui contient les valeurs que vous souhaitez récupérer.

Valeur de retour

Valeur unique liée à la ligne actuelle.

Remarques

  • La fonction RELATED nécessite qu’une relation existe entre la table active et la table avec des informations associées. Vous spécifiez la colonne qui contient les données souhaitées, et la fonction suit une relation plusieurs-à-un existante pour extraire la valeur de la colonne spécifiée dans la table associée. Si une relation n’existe pas, vous devez créer une relation.

  • Lorsque la fonction RELATED effectue une recherche, elle examine toutes les valeurs de la table spécifiée, quels que soient les filtres qui ont pu être appliqués.

  • La fonction RELATED a besoin d’un contexte de ligne ; Par conséquent, elle ne peut être utilisée que dans l’expression de colonne calculée, où le contexte de ligne actuel n’est pas ambigu ou en tant que fonction imbriquée dans une expression qui utilise une fonction d’analyse de table. Une fonction d’analyse de table, telle que SUMX, obtient la valeur de la ligne actuelle, puis analyse une autre table pour les instances de cette valeur.

  • La fonction RELATED ne peut pas être utilisée pour extraire une colonne dans une relation limitée .

Exemple

Dans l’exemple suivant, la mesure Non USA Internet Sales est créée pour produire un rapport de ventes qui exclut les ventes aux États-Unis. Pour créer la mesure, la table InternetSales_USD doit être filtrée pour exclure toutes les ventes appartenant aux États-Unis dans la table SalesTerritory. Les États-Unis, en tant que pays, apparaissent 5 fois dans la table SalesTerritory ; une fois pour chacune des régions suivantes : Nord-Ouest, Nord-Est, Centre, Sud-Ouest et Sud-Est.

La première approche pour filtrer Internet Sales, afin de créer la mesure, peut être d’ajouter une expression de filtre comme suit :

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

Toutefois, cette approche est contre-intuitive, sujette à des erreurs de frappe et peut ne pas fonctionner si l’une des régions existantes est divisée à l’avenir.

Une meilleure approche consisterait à utiliser la relation existante entre InternetSales_USD et SalesTerritory et indiquer explicitement que le pays doit être différent des États-Unis. Pour ce faire, créez une expression de filtre comme suit :

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

Cette expression utilise la fonction RELATED pour rechercher la valeur de pays dans la table SalesTerritory, en commençant par la valeur de la colonne clé, SalesTerritoryKey, dans la table InternetSales_USD. Le résultat de la recherche est utilisé par la fonction de filtre pour déterminer si la ligne InternetSales_USD est filtrée ou non.

Notes

Si l’exemple ne fonctionne pas, vous devrez peut-être créer une relation entre les tables.

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

Le tableau suivant montre uniquement les totaux pour chaque région, pour prouver que l’expression de filtre dans la mesure, Non USA Internet Sales, fonctionne comme prévu.

Row Labels Internet Sales Non USA Internet Sales
Australie 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 $
Allemagne 2 775 195,60 $ 2 775 195,60 $
Royaume-Uni 5 057 076,55 $ 5 057 076,55 $
États-Unis 9 389 479,79 $
Total général 26 054 827,45 $ 16 665 347,67 $

Les éléments suivants montrent ce que vous pouvez obtenir si vous avez utilisé cette mesure dans un visuel de table de rapports :

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 $
Total général 384 639,63 $ 16 107 890,23 $ 172 817,81 $ 16 665 347,67 $

fonctions de filtre RELATEDTABLE