CROSSFILTERCROSSFILTER

Gibt die Richtung der Kreuzfilterung an, die in der Berechnung für eine Beziehung zwischen zwei Spalten verwendet werden soll.Specifies the cross-filtering direction to be used in a calculation for a relationship that exists between two columns.

SyntaxSyntax

CROSSFILTER(<columnName1>, <columnName2>, <direction>)  

ParameterParameters

BenennungTerm DefinitionDefinition
columnName1columnName1 Der vollqualifizierte Name einer vorhandenen Spalte mit DAX-Standardsyntax, die in der Regel die n-Seite der zu verwendenden Beziehung darstellt. Argumente in umgekehrter Reihenfolge werden vor der Verwendung ausgetauscht.The name of an existing column, using standard DAX syntax and fully qualified, that usually represents the many side of the relationship to be used; if the arguments are given in reverse order the function will swap them before using them. Bei diesem Argument darf es sich nicht um einen Ausdruck handeln.This argument cannot be an expression.
columnName2columnName2 Der vollqualifizierte Name einer vorhandenen Spalte mit DAX-Standardsyntax, die in der Regel die 1-Seite oder Suchseite der zu verwendenden Beziehung darstellt. Argumente in umgekehrter Reihenfolge werden vor der Verwendung ausgetauscht.The name of an existing column, using standard DAX syntax and fully qualified, that usually represents the one side or lookup side of the relationship to be used; if the arguments are given in reverse order the function will swap them before using them. Bei diesem Argument darf es sich nicht um einen Ausdruck handeln.This argument cannot be an expression.
RichtungDirection Die zu verwendende Kreuzfilterrichtung.The cross-filter direction to be used. Dabei muss es sich um eine der folgenden Optionen handeln:Must be one of the following:
Keinenone
Für diese Beziehung wird keine Kreuzfilterung durchgeführt.No cross-filtering occurs along this relationship

Einfach: Filter wird von der 1-Seite oder Suchseite der Beziehung in Richtung der n-Seite angewendet.one - Filters on the one or lookup side of the side of the relationship filter the many side.

Beide:both -
Filter wird in beide Richtungen angewendet.Filters on either side filter the other

Keine: Für diese Beziehung wird keine Kreuzfilterung durchgeführt.none - No cross-filtering occurs along this relationship

RückgabewertReturn value

Die Funktion gibt keinen Wert zurück, sondern legt nur für die Dauer der Abfrage die Kreuzfilterrichtung für die angegebene Beziehung fest.The function returns no value; the function only sets the cross-filtering direction for the indicated relationship, for the duration of the query.

BemerkungenRemarks

  • Bei einer 1:1-Beziehung besteht zwischen den Richtungen „Einfach“ und „Beide“ kein Unterschied.In the case of a 1:1 relationship, there is no difference between the one and both direction.

  • CROSSFILTER kann nur in Funktionen verwendet werden, die einen Filter als Argument akzeptieren, wie etwa die Funktionen CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTD und TOTALYTD.CROSSFILTER can only be used in functions that take a filter as an argument, for example: CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTD and TOTALYTD functions.

  • CROSSFILTER verwendet im Modell vorhandene Beziehungen und identifiziert sie nach deren Endpunktspalten.CROSSFILTER uses existing relationships in the model, identifying relationships by their ending point columns.

  • Für CROSSFILTER spielt die Einstellung der Kreuzfilterung keine Rolle. Das bedeutet, ob die Kreuzfilterrichtung der Beziehung im Modell auf „Einfach“ oder „Beide“ festgelegt ist, hat keine Auswirkungen auf die Verwendung der Funktion.In CROSSFILTER, the cross-filtering setting of a relationship is not important; that is, whether the relationship is set to filter one, or both directions in the model does not affect the usage of the function. CROSSFILTER überschreibt alle vorhandenen Kreuzfiltereinstellungen.CROSSFILTER will override any existing cross-filtering setting.

  • Ist eine der als Argument benannten Spalten nicht in der Beziehung enthalten oder gehören die Argumente unterschiedlichen Beziehungen an, wird ein Fehler zurückgegeben.An error is returned if any of the columns named as an argument is not part of a relationship or the arguments belong to different relationships.

  • Bei geschachtelten CALCULATE-Ausdrücken, von denen mehr als einer eine CROSSFILTER-Funktion enthält, gilt bei einem Konflikt oder bei Mehrdeutigkeit die innerste CROSSFILTER-Funktion.If CALCULATE expressions are nested, and more than one CALCULATE expression contains a CROSSFILTER function, then the innermost CROSSFILTER is the one that prevails in case of a conflict or ambiguity.

  • Die Verwendung dieser Funktion im DirectQuery-Modus wird nicht unterstützt, wenn sie in berechneten Spalten oder RLS-Regeln (Row-Level Security) eingesetzt wird.This function is not supported for use in DirectQuery mode when used in calculated columns or row-level security (RLS) rules.

BeispielExample

Im folgenden Modelldiagramm besitzen sowohl „DimProduct“ als auch „DimDate“ eine Beziehung in Richtung von „FactOnlineSales“.In the following model diagram, both DimProduct and DimDate have a single direction relationship with FactOnlineSales.

CROSSFILTER_Examp_DiagViewCROSSFILTER_Examp_DiagView

Standardmäßig wird die Anzahl der pro Jahr verkauften Produkte nicht angezeigt:By default, we cannot get the Count of Products sold by year:

CROSSFILTER_Examp_PivotTable1CROSSFILTER_Examp_PivotTable1

Es gibt zwei Möglichkeiten, die pro Jahr verkauften Produkte anzuzeigen:There are two ways to get the count of products by year:

  • Aktivieren Sie die bidirektionale Kreuzfilterung für die Beziehung.Turn on bi-directional cross-filtering on the relationship. Dadurch wird die Funktionsweise des Filters zwischen den beiden Tabellen für alle Daten geändert.This will change how filters work for all data between these two tables.

  • Ändern Sie mit der CROSSFILTER-Funktion nur für dieses Measure die Funktionsweise der Beziehungen.Use the CROSSFILTER function to change how the relationships work for just this measure.

Unter Verwendung von DAX können Sie mit der CROSSFILTER-Funktion das Verhalten der Kreuzfilterrichtung zwischen zwei Spalten ändern, die durch eine Beziehung definiert werden.When using DAX, we can use the CROSSFILTER function to change how the cross-filter direction behaves between two columns defined by a relationship. Dies ergibt in diesem Fall den folgenden DAX-Ausdruck:In this case, the DAX expression looks like this:

BiDi:= CALCULATE([Distinct Count of ProductKey], CROSSFILTER(FactInternetSales[ProductKey], DimProduct[ProductKey] , Both))

Unter Verwendung der CROSSFILTER-Funktion in Ihrem Measureausdruck erhalten Sie die erwarteten Ergebnisse:By using the CROSSFILTER function in our measure expression, we get the expected results:

CROSSFILTER_Examp_PivotTable2CROSSFILTER_Examp_PivotTable2