Filtre DAX - fonction USERELATIONSHIP
La description
Spécifie la relation à utiliser dans un calcul spécifique comme celle qui existe entre columnName1 et columnName2.
Syntaxe
USERELATIONSHIP (<columnName1>, <columnName2>)
Paramètres
N ° Sr. | Paramètre et description |
---|---|
1 | columnName1 Nom complet d'une colonne qui représente le côté plusieurs de la relation à utiliser. Si les paramètres sont donnés dans l'ordre inverse, la fonction les échangera avant de les utiliser. Ce paramètre ne peut pas être une expression. |
2 | columnName2 Nom complet d'une colonne qui représente un côté ou un côté de recherche de la relation à utiliser. Si les paramètres sont donnés dans l'ordre inverse, la fonction les échangera avant de les utiliser. Ce paramètre ne peut pas être une expression. |
Valeur de retour
La fonction DAX USERELATIONSHIP ne renvoie aucune valeur. La fonction active uniquement la relation indiquée pendant la durée du calcul.
Remarques
USERELATIONSHIP ne peut être utilisé que dans les fonctions DAX qui prennent un filtre comme paramètre. Par exemple, les fonctions CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTD et TOTALYTD.
USERELATIONSHIP utilise les relations existantes dans le modèle, identifiant les relations par leurs colonnes de point de fin.
Dans USERELATIONSHIP, le statut d'une relation n'est pas important; autrement dit, que la relation soit active ou non n'affecte pas l'utilisation de la fonction. Même si la relation est inactive, elle sera utilisée et remplace toute autre relation active qui pourrait être présente dans le modèle mais non mentionnée dans les paramètres de la fonction.
Une erreur est renvoyée si l'une des colonnes nommées en tant que paramètre ne fait pas partie d'une relation ou si les paramètres appartiennent à des relations différentes.
Si plusieurs relations sont nécessaires pour joindre la table A à la table B dans un calcul, chaque relation doit être indiquée dans une fonction USERELATIONSHIP différente.
Si les expressions CALCULATE sont imbriquées et que plusieurs expressions CALCULATE contiennent une fonction USERELATIONSHIP, alors la fonction USERELATIONSHIP la plus profonde est celle qui prévaut en cas de conflit ou d'ambiguïté.
Jusqu'à 10 fonctions USERELATIONSHIP peuvent être imbriquées. Cependant, votre expression peut avoir un niveau d'imbrication plus profond.
Exemple
Product Sales:= CALCULATE (
SUM (Sales[Sales Amount]),
USERELATIONSHIP (Sales[Product],Products[Product])
)