Freigeben über


USERELATIONSHIP

Gilt für:Berechnete Spalteberechnete TabelleMeasurevisuelle Berechnung

Gibt die Beziehung an, die in einer bestimmten Berechnung als die Beziehung verwendet werden soll, die zwischen "columnName1" and "columnName2" vorhanden ist.

Syntax

USERELATIONSHIP(<columnName1>,<columnName2>)

Parameter

Begriff Definition
columnName1 Der Name einer vorhandenen Spalte unter Verwendung der standardmäßigen DAX Syntax and vollqualifizierten, die in der Regel die viele Seite der zu verwendenden Beziehung darstellt; if die Argumente in umgekehrter Reihenfolge angegeben werden, werden sie durch die Funktion ausgetauscht, bevor sie verwendet werden. Bei diesem Argument darf es sich nicht um einen Ausdruck handeln.
columnName2 Der Name einer vorhandenen Spalte unter Verwendung der standardmäßigen DAX Syntax and vollqualifizierten, die in der Regel die eine Seite or Nachschlageseite der zu verwendenden Beziehung darstellt; if die Argumente in umgekehrter Reihenfolge angegeben werden, werden sie durch die Funktion ausgetauscht, bevor sie verwendet werden. Bei diesem Argument darf es sich nicht um einen Ausdruck handeln.

value zurückgeben

Die Funktion gibt keine valuezurück; die Funktion aktiviert nur die angegebene Beziehung für die duration der Berechnung.

Bemerkungen

  • USERELATIONSHIP können nur in Funktionen verwendet werden, die eine filter als Argument verwenden, z. B. CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTDandTOTALYTD Funktionen.

  • USERELATIONSHIP können nicht verwendet werden, wenn die Sicherheit auf Zeilenebene für die Tabelle definiert ist, in der die measure enthalten ist. Beispielsweise gibt CALCULATE(SUM([SalesAmount]), USERELATIONSHIP(FactInternetSales[CustomerKey], DimCustomer[CustomerKey])) für DimCustomer eine errorif Sicherheit auf Zeilenebene zurück.

  • USERELATIONSHIP vorhandene Beziehungen im Modell verwendet, wobei Beziehungen anhand ihrer Endpunktspalten identifiziert werden.

  • In USERELATIONSHIPist der Status einer Beziehung not wichtig; d. h., ob die Beziehung aktiv ist ornot wirkt sich not auf die Verwendung der Funktion aus. Even if die Beziehung inaktiv ist, wird sie verwendet, and alle anderen aktiven Beziehungen außer Kraft setzt, die im Modell vorhanden sein können, aber not in den Funktionsargumenten erwähnt werden.

  • Ein error wird if einer der Spalten zurückgegeben, die als Argument bezeichnet werden, not Teil einer Beziehung or die Argumente zu unterschiedlichen Beziehungen gehören.

  • If mehrere Beziehungen erforderlich sind, um Tabelle A mit Tabelle B in einer Berechnung zu verbinden, muss jede Beziehung in einer anderen USERELATIONSHIP Funktion angegeben werden.

  • If CALCULATE Ausdrücke sind geschachtelt, and mehr als ein CALCULATE Ausdruck contains einer USERELATIONSHIP Funktion, dann ist die innerste USERELATIONSHIP die, die im Falle eines Konflikts or Mehrdeutigkeit vorherrscht.

  • Bis zu 10 USERELATIONSHIP Funktionen können geschachtelt werden; Ihr Ausdruck hat jedoch möglicherweise eine tiefere Schachtelungsebene, also eine tiefere Ebene der Schachtelung. Der folgende sample Ausdruck ist 3 Ebenen tief geschachtelt, aber nur 2 für USERELATIONSHIP: =CALCULATE(CALCULATE( CALCULATE( <anyExpression>, USERELATIONSHIP( t1[colA], t2[colB])), t99[colZ]=999), USERELATIONSHIP( t1[colA], t2[colA])).

  • Bei 1:1-Beziehungen aktiviert USERELATIONSHIP nur die Beziehung in eine Richtung. Insbesondere kann filters nur von "columnName2"Tabelle in "columnName1"'s Tabelle fließen. If bidirektionale Kreuzfilterung erwünscht ist, können zwei USERELATIONSHIPs mit entgegengesetzter Richtung in derselben Berechnung verwendet werden. Beispiel: CALCULATE(..., USERELATIONSHIP(T1[K], T2[K]), USERELATIONSHIP(T2[K], T1[K])).

Beispiel

Im folgenden sample wird gezeigt, wie die Standardmäßige, aktive Beziehung zwischen InternetSales and DateTime-Tabellen außer Kraft gesetzt wird. Die Standardbeziehung ist zwischen der Spalte "OrderDate" in der Tabelle "InternetSales" and der Spalte "Date" in der Tabelle "DateTime" vorhanden.

Um den sum von Internetverkäufen zu calculate, and das Slicing von ShippingDate anstelle des herkömmlichen OrderDate zulassen, erstellen Sie measure, [InternetSales by ShippingDate] mit dem folgenden Ausdruck:

= CALCULATE(SUM(InternetSales[SalesAmount]), USERELATIONSHIP(InternetSales[ShippingDate], DateTime[Date]))

Beziehungen zwischen InternetSales[ShipmentDate] and DateTime[Date] müssen vorhanden seinand sollte not die aktive Beziehung sein; Außerdem sollte die Beziehung zwischen InternetSales[OrderDate] and DateTime[Date] vorhanden sein, and die aktive Beziehung sein sollte.