ISCROSSFILTERED-Funktion (DAX)
Gibt TRUE zurück, wenn columnName oder eine andere Spalte in derselben oder in der verknüpften Tabelle gefiltert wird.
Syntax
ISCROSSFILTERED(<columnName>)
Parameter
- columnName
Der Name einer vorhandenen Spalte mit Standard-DAX-Syntax. Kann kein Ausdruck sein.
Rückgabewert
TRUE, wenn columnName oder eine andere Spalte in derselben oder in der verknüpften Tabelle gefiltert wird. Andernfalls wird FALSE zurückgegeben.
Hinweise
Eine Spalte gilt als kreuzgefiltert, wenn ein auf eine andere Spalte in derselben oder in einer verknüpften Tabelle angewendete Filter sich durch die Filterung auch auf columnName auswirkt. Eine Spalte gilt als direkt gefiltert, wenn der oder die Filter für die Spalte angewendet werden.
Die verwandte Funktion ISFILTERED-Funktion (DAX) gibt TRUE zurück, wenn columnName direkt gefiltert wird.
Beispiel
Im folgenden Beispiel werden ein Measure erstellt und verschiedene Szenarien präsentiert, um das Verhalten von ISCROSSFILTERED() zu erläutern. Die Szenarien können durch Herunterladen des Arbeitsblattes DAX_AdventureWorks verfolgt werden.
Erstellen Sie zuerst das folgende Measure [Is ProductName Cross Filtered] in der Tabelle [Product].
=ISCROSSFILTERED(Product[ProductName])
Grundlegendes zu ISCROSSFILTERED():
Nachdem Sie das Measure erstellt haben, sollte die PivotTable anzeigen, dass [Is ProductName Cross Filtered] FALSE ist, da der Ausdruck überhaupt nicht gefiltert wird. Das Ergebnis sollte in etwa so aussehen:
Is ProductName Cross Filtered
FALSE
Wenn in der PivotTable nichts angezeigt wird, ziehen Sie die Spalte [Is ProductName Cross Filtered] in das Feld Werte.
Ziehen Sie DateTime[CalendarYear] in das Feld Spaltenbezeichnungen, und ziehen Sie SalesTerritory[SalesTerritoryGroup] in das Feld Zeilenbezeichnungen; alle Werte sollten als FALSE angezeigt werden. Das Ergebnis sollte in etwa so aussehen:
Is ProductName Cross Filtered
Spaltenbezeichnungen
Zeilenbezeichnungen
2005
2006
2007
2008
Gesamtergebnis
Europe
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
NA
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
North America
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Pacific
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Gesamtergebnis
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Der Wert FALSE wird in allen Zellen angezeigt, da weder DateTime[CalendarYear] noch SalesTerritory[SalesTerritoryGroup] einen Filtereffekt auf Product[ProductName] haben.
Ziehen Sie die Spalte "ProductCategory[ProductCategoryName]" in das Feld Slicer horizontal und "ProductSubCategory[ProductSubCategoryName]" in das Feld Slicer vertikal. Alle Werte sollten immer noch als FALSE angezeigt werden, da Sie beim Hinzufügen einer Spalte zum Slicer-Feld noch kein Set zum Aufteilen in Slices ausgewählt haben. Daher sollte das Ergebnis etwa so aussehen:
ProductCategoryName
Accessories
Bikes
Clothing
Components
ProductSubcategoryName
Is ProductName Cross Filtered
Spaltenbezeichnungen
Bib-Shorts
Zeilenbezeichnungen
2005
2006
2007
2008
Gesamtergebnis
Bike-Racks
Europe
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Bike-Stands
NA
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Bottles and Cages
North America
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Bottom Brackets
Pacific
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Brakes
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Caps
Gesamtergebnis
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Chains
Cleaners
Cranksets
Derailleurs
Fenders
Forks
Gloves
Handlebars
Headsets
Wählen Sie ein Element in den Slicern aus, und in der Tabelle werden jetzt alle Zellen auf TRUE gesetzt, da Sie jetzt die Spalte "Product[ProductName]" über die verknüpften Tabellen "ProductCategory" und "ProductSubcategory" filtern. Die Ergebnisse sollten wie folgt aussehen:
ProductCategoryName
Accessories
Bikes
Clothing
Components
ProductSubcategoryName
Is ProductName Cross Filtered
Spaltenbezeichnungen
Bib-Shorts
Zeilenbezeichnungen
2005
2006
2007
2008
Gesamtergebnis
Bike-Racks
Europe
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
Bike-Stands
NA
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
Bottles and Cages
North America
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
Bottom Brackets
Pacific
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
Brakes
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
Caps
Gesamtergebnis
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
Chains
Cleaners
Cranksets
Derailleurs
Fenders
Forks
Gloves
Handlebars
Headsets
Sie können jetzt die Slicer durch Product[ProductName] und Product[ModelName] ersetzen. Solange Sie in keinem Slicer ein Element auswählen, gibt das Measure FALSE zurück. Wenn Sie jedoch in einem Slicer ein Element auswählen, gibt das Measure jetzt TRUE, da Sie Product[ProductName] nach sich selbst oder durch Auswählen eines Product[ModelName] filtern.
Sie können also mit ISCROSSFILTERED() bestimmen, ob columnName in dem Kontext gefiltert wird, in dem der DAX-Ausdruck ausgewertet wird.
In diesem Beispiel wird das DAX_AdventureWorks-Beispielarbeitsblattmodell verwendet.