FILTER
Gilt für:Berechnete SpalteBerechnete TabelleMeasureVisuelle Berechnung
Gibt eine Tabelle zurück, die eine Teilmenge einer anderen Tabelle oder eines anderen Ausdrucks repräsentiert.
Syntax
FILTER(<table>,<filter>)
Parameter
Begriff | Definition |
---|---|
table | Die zu filternde Tabelle. Die Tabelle kann auch ein Ausdruck mit einer Tabelle als Ergebnis sein. |
filter | Ein boolescher Ausdruck, der für jede Zeile der Tabelle ausgewertet werden muss. Beispiel: [Amount] > 0 oder [Region] = "France" |
Rückgabewert
Eine Tabelle, die nur die gefilterten Zeilen enthält.
Bemerkungen
Sie können mithilfe von FILTER die Anzahl von Zeilen in der Tabelle, in der Sie arbeiten, verringern und nur bestimmte Daten für Berechnungen verwenden. FILTER wird nicht unabhängig verwendet, sondern als Funktion, die in andere Funktionen eingebettet ist, die eine Tabelle als Argument benötigen.
Bewährte Methoden für die Verwendung von FILTER finden Sie unter Vermeiden der Verwendung von FILTER als Filterargument.
Verwenden von COUNTROWS anstelle von COUNT in DAX
- Die Verwendung dieser Funktion im DirectQuery-Modus wird nicht unterstützt, wenn sie in berechneten Spalten oder RLS-Regeln (Row-Level Security) eingesetzt wird.
Beispiel
Im folgenden Beispiel wird ein Bericht über Internetverkäufe außerhalb der Vereinigten Staaten erstellt. Hierzu wird ein Measure verwendet, das den Umsatz in den Vereinigten Staaten herausfiltert und dann nach Kalenderjahr und Produktkategorien sortiert. Um dieses Measure zu erstellen, filtern Sie die Tabelle mit Internetverkäufen in USD nach Verkaufsgebiet und verwenden die gefilterte Tabelle dann 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 von „InternetSales“ abzüglich aller Zeilen ist, die zum Vertriebsgebiet „Vereinigte Staaten“ gehören. Die Funktion RELATED verknüpft den Gebietsschlüssel in der InternetSales-Tabelle mit „SalesTerritoryCountry“ in der Tabelle „SalesTerritory“.
Die folgende Tabelle zeigt den Proof of Concept für das Measure „Internetverkäufe außerhalb der USA“, dessen Formel im Codeabschnitt unten angegeben ist. Die Tabelle vergleicht alle Internetverkäufe mit Internetverkäufen außerhalb der USA, um zu zeigen, dass der Filterausdruck funktioniert, indem die Verkäufe in den USA von der Berechnung ausgeschlossen werden.
Fügen Sie das Feld „SalesTerritoryCountry“ zum Bereich Zeilenbeschriftungen eines Berichts oder einer PivotTable hinzu, um diese Tabelle selbst zu erstellen.
Tabelle 1. Vergleich der Gesamtverkäufe in den USA mit allen anderen Regionen
Row Labels | Internet Sales | Internetverkäufe außerhalb der USA |
---|---|---|
Australien | 4.999.021,84 USD | 4.999.021,84 USD |
Kanada | 1.343.109,10 USD | 1.343.109,10 USD |
Frankreich | 2.490.944,57 USD | 2.490.944,57 USD |
Deutschland | 2.775.195,60 USD | 2.775.195,60 USD |
Vereinigtes Königreich | 5.057.076,55 USD | 5.057.076,55 USD |
USA | 9.389.479,79 USD | |
Grand Total | 26.054.827,45 USD | 16.665.347,67 USD |
Die abschließende Berichttabelle zeigt die Ergebnisse, wenn Sie eine PivotTable mit dem Measure „Internetverkäufe außerhalb der USA“ erstellen. Fügen Sie das Feld „CalendarYear“ zum Bereich Zeilenbeschriftungen der PivotTable und das Feld „ProductCategoryName“ zum Bereich Spaltenbeschriftungen hinzu.
Tabelle 2: Vergleich der Verkäufe außerhalb der USA nach Produktkategorien
Row Labels | Accessories | Bikes | Clothing | Grand Total |
---|---|---|---|---|
2005 | 1.526.481,95 USD | 1.526.481,95 USD | ||
2006 | 3.554.744,04 USD | 3.554.744,04 USD | ||
2007 | 156.480,18 USD | 5.640.106,05 USD | 70.142,77 USD | 5.866.729,00 USD |
2008 | 228.159,45 USD | 5.386.558,19 USD | 102.675,04 USD | 5.717.392,68 USD |
Grand Total | 384.639,63 USD | 16.107.890,23 USD | 172.817,81 USD | 16.665.347,67 USD |
SUMX(FILTER('InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")
,'InternetSales_USD'[SalesAmount_USD])