FILTER-Funktion (DAX)
Gibt eine Tabelle zurück, die eine Teilmenge einer anderen Tabelle oder eines anderen Ausdrucks darstellt.
Syntax
FILTER(<table>,<filter>)
Parameter
Ausdruck |
Definition |
---|---|
table |
Die zu filternde Tabelle. Die Tabelle kann auch ein Ausdruck sein, der zu einer Tabelle führt. |
Filter |
Ein boolescher Ausdruck, der für jede Zeile der Tabelle ausgewertet wird. Beispiel: [Amount] > 0 or [Region] = "France" |
Rückgabewert
Eine Tabelle, die nur die gefilterten Zeilen enthält.
Hinweise
Sie können die Anzahl von Zeilen in der verwendeten Tabelle mithilfe von FILTER reduzieren und nur bestimmte Daten in Berechnungen verwenden. FILTER wird nicht unabhängig, sondern als Funktion verwendet, die in andere Funktionen eingebettet ist, für die eine Tabelle als Argument erforderlich ist.
Beispiel
Im folgenden Beispiel wird ein Bericht zu den Internetverkäufen außerhalb der USA mithilfe eines Measures erstellt, das die Verkäufe in den USA herausfiltert und anschließend eine Aufteilung nach Kalenderjahr und Produktkategorien vornimmt. Um dieses Measure zu erstellen, filtern Sie die Tabelle "Internet Sales USD" nach "Sales Territory" und verwenden dann die gefilterte Tabelle in einer SUMX-Funktion.
In diesem Beispiel gibt der Ausdruck FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States") eine Tabelle zurück, die eine Teilmenge der Internetverkäufe abzüglich aller Zeilen darstellt, die zum Vertriebsgebiet USA gehören. Die RELATED-Funktion verknüpft den Territory-Schlüssel in der Tabelle "Internet Sales" mit "SalesTerritoryCountry" in der Tabelle "SalesTerritory".
In der folgenden Tabelle wird die Funktionsweise des Measures "NON USA Internet Sales" demonstriert. Die entsprechende Formel ist im Codeabschnitt unten angegeben. In der Tabelle werden alle Internetverkäufe mit Internetverkäufen außerhalb der USA verglichen und Verkäufe in den USA aus der Berechnung ausgeschlossen, um zu veranschaulichen, dass der Filterausdruck funktioniert.
Um diese Tabelle neu zu erstellen, fügen Sie dem Bereich Zeilenbezeichnungen der PivotTable das Feld "SalesTerritoryCountry" hinzu.
Tabelle 1. Vergleich zwischen den Gesamtverkäufen in den USA und anderen Vertriebsgebieten
Zeilenbezeichnungen |
Internet Sales |
Non USA Internet Sales |
---|---|---|
Australia |
$4,999,021.84 |
$4,999,021.84 |
Canada |
$1,343,109.10 |
$1,343,109.10 |
France |
$2,490,944.57 |
$2,490,944.57 |
Germany |
$2,775,195.60 |
$2,775,195.60 |
United Kingdom |
$5,057,076.55 |
$5,057,076.55 |
United States |
$9,389,479.79 |
|
Grand Total |
$26,054,827.45 |
$16,665,347.67 |
In der endgültigen Berichtstabelle werden die Ergebnisse angezeigt, wenn Sie unter Verwendung des Measures "NON USA Internet Sales" eine PivotTable erstellen. Fügen Sie dem Bereich Zeilenbezeichnungen der PivotTable das Feld "CalendarYear" und dem Bereich Spaltenbezeichnungen das Feld "ProductCategoryName" hinzu.
Tabelle 2. Vergleich der Verkäufe außerhalb der USA nach Produktkategorien
Non USA Internet Sales |
Spaltenbezeichnungen |
|
|
|
---|---|---|---|---|
Zeilenbezeichnungen |
Accessories |
Bikes |
Clothing |
Grand Total |
2001 |
|
$1,526,481.95 |
|
$1,526,481.95 |
2002 |
|
$3,554,744.04 |
|
$3,554,744.04 |
2003 |
$156,480.18 |
$5,640,106.05 |
$70,142.77 |
$5,866,729.00 |
2004 |
$228,159.45 |
$5,386,558.19 |
$102,675.04 |
$5,717,392.68 |
Grand Total |
$384,639.63 |
$16,107,890.23 |
$172,817.81 |
$16,665,347.67 |
SUMX(FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")
,'InternetSales_USD'[SalesAmount_USD])
Siehe auch