En DAX, la fonction USERELATIONSHIP() permet d'activer temporairement une relation inactive (dormante) entre deux colonnes, le temps d'un calcul. C'est un modificateur de CALCULATE() : elle ne renvoie aucune valeur et ne s'utilise qu'à l'intérieur de CALCULATE() ou CALCULATETABLE().
Elle répond au besoin de gérer plusieurs colonnes de dates notamment : lorsqu'une même table (typiquement une table Calendrier) est reliée plusieurs fois à une table de faits — par exemple sur une Date de commande, une Date de livraison et une Date d'expédition — une seule de ces relations peut être active. USERELATIONSHIP() permet de basculer sur l'une des relations inactives pour le calcul en cours.
Exemple :
Nombre de commandes expédiées =
CALCULATE(
COUNTROWS(Fact_Commandes),
USERELATIONSHIP(Fact_Commandes[Date_Expedition], Dim_Date[Date])
)
Remarque : il faut une relation inactive entre la date d'expédition de Fact_Commandes et la colonne Date de la table calendrier.

Gérer plusieurs dates sur Power BI : USERELATIONSHIP et relations inactives
