Filtern von Daten in DAX-Formeln

Hinweis:  Wir möchten Ihnen die aktuellsten Hilfeinhalte so schnell wie möglich in Ihrer eigenen Sprache bereitstellen. Diese Seite wurde automatisiert übersetzt und kann Grammatikfehler oder Ungenauigkeiten enthalten. Unser Ziel ist es, Ihnen hilfreiche Inhalte bereitzustellen. Teilen Sie uns bitte über den Link am unteren Rand dieser Seite mit, ob die Informationen für Sie hilfreich sind. Hier finden Sie den englischen Artikel als Referenz.

In diesem Abschnitt beschreibt das Erstellen von Filtern in Formeln Data Analysis Expressions (DAX). Sie können Filter innerhalb von Formeln, um die Werte aus den Quelldaten einzuschränken, die in Berechnungen verwendet werden, erstellen. Hierzu angeben einer Tabelle als Eingabe in die Formel, und klicken Sie dann Definieren eines Filterausdrucks. Der Filter-Ausdruck, die, den Sie bereitstellen, wird verwendet, um die Daten Abfragen und nur eine Teilmenge der Quelldaten zurückzugeben. Der dynamisch jedes Mal Filter, dass Sie das Ergebnis der Formel, je nach den aktuellen Kontext Ihrer Daten aktualisieren.

In diesem Artikel werden folgende Themen behandelt:

Erstellen eines Filters für eine in einer Formel verwendete Tabelle

Filter, die Duplikate entfernen

Wie der Kontext auf Filter auswirkt

Entfernen von Filtern

Überschreiben aller Filter mit der ALL-Funktion

Überschreiben bestimmter Filter mit der Funktion ALLEXCEPT

Erstellen eines Filters für eine in einer Formel verwendete Tabelle

Sie können einen Filter in einer Formel anwenden, für die eine Tabelle als Eingabe verwendet wird. Statt einen Tabellennamen einzugeben, verwenden Sie die FILTER-Funktion, um eine Teilmenge der Zeilen aus der angegebenen Tabelle zu definieren. Anschließend wird diese Teilmenge an eine andere Funktion für Vorgänge wie etwa benutzerdefinierte Aggregationen übergeben.

Nehmen Sie beispielsweise an, Sie haben eine Tabelle mit Bestellinformationen zu Wiederverkäufern, und Sie möchten berechnen, wie viel jeder Wiederverkäufer verkauft hat. Allerdings soll der jeweilige Umsatzbetrag nur für die Wiederverkäufer angezeigt werden, die mehrere Einheiten Ihrer höherwertigen Produkte verkauft haben. Die folgende Formel zeigt auf Grundlage der DAX-Beispielarbeitsmappe ein Beispiel dafür, wie Sie diese Berechnung erstellen können, wenn Sie einen Filter verwenden:

= SUMX (
FILTER (ResellerSales_USD, "ResellerSales_USD" [Menge] > 5 & &
'ResellerSales_USD' [ProductStandardCost_USD] > 100),
'ResellerSales_USD' [SalesAmt]
)

  • Im erste Teil der Formel gibt eine der Power Pivot Aggregationsfunktionen, die eine Tabelle als Argument annimmt. SUMX berechnet eine Summe für eine Tabelle.

  • Der zweite Teil der Formel, teilt FILTER(table, expression),SUMX welche Daten zur Verfügung. SUMX erfordert eine Tabelle oder ein Ausdruck, der in einer Tabelle ergibt. Hier verwenden alle Daten in einer Tabelle verwenden, Sie die Funktion FILTER um anzugeben, welche Zeilen aus der Tabelle verwendet werden.

    Der Filterausdruck besteht aus zwei Teilen: der erste Teil gibt den Namen der Tabelle der Filters gilt. Die zweite Komponente definiert einen Ausdruck als Bedingung Filter verwenden. In diesem Fall sind Sie Wiederverkäufern filtern, die mehr als 5 Einheiten und Produkten, die mehr als 100 € Kosten verkauft. Der Operator & &, ist ein logisches AND, was bedeutet, dass beide Teile der Bedingung sein müssen, damit die Zeile der gefilterten Teilmenge gehören soll.

  • Im dritten Teil der Formel wird für die Funktion SUMX angegeben, welche Werte summiert werden sollen. In diesem Fall wird nur der Umsatzbetrag (SalesAmt) verwendet.

    Beachten Sie, dass Funktionen wie FILTER, die eine Tabelle zurückgeben, nie die Tabelle oder Zeilen direkt zurück, aber immer in einer anderen Funktion eingebettet werden. Weitere Informationen zu filtern und anderen Funktionen zum Filtern, einschließlich Weitere Beispiele finden Sie unter Filter-Funktionen (DAX).

    Hinweis: Der Filterausdruck wird durch den Kontext beeinflusst in dem es verwendet wird. Beispielsweise kann, wenn Sie einen Filter in ein Measure verwenden, und das Measure in einem PivotTable- oder PivotChart-verwendet wird, die Teilmenge der Daten, die zurückgegeben werden beeinträchtigt werden, indem Sie zusätzliche Filter oder Datenschnitte, die der Benutzer in der PivotTable angewendet wurde. Weitere Informationen zu den Kontext finden Sie unter Kontext in DAX-Formeln.

Filter, die Duplikate entfernen

Zusätzlich zum Filtern nach bestimmten Werten, können Sie einen eindeutigen Satz von Werten aus einer anderen Tabelle oder Spalte zurückgeben. Dies kann hilfreich sein, wenn Sie zählen der Anzahl eindeutiger Werte in einer Spalte oder eine Liste mit eindeutigen Werten für andere Vorgänge verwenden möchten. DAX stellt zwei Funktionen für die Rückgabe von unterschiedlicher Werten: DISTINCT-Funktion und VALUES-Funktion.

  • Von der Funktion DISTINCT wird eine einzelne Spalte ausgewertet, die Sie als Argument für die Funktion angeben, und eine neue Spalte zurückgegeben, die nur die eindeutigen Werte enthält.

  • VALUES-Funktion gibt außerdem eine Liste mit eindeutigen Werten, aber es gibt auch unbekannte Element. Dies ist nützlich, wenn Sie die Werte aus zwei Tabellen verwenden, die durch eine Beziehung verknüpft sind, und ein Wert ist, fehlt in einer Tabelle und in anderen präsentieren. Weitere Informationen zu unbekannten Element finden Sie unter Kontext in DAX-Formeln.

Von beiden dieser Funktionen wird eine komplette Spalte mit Werten zurückgegeben. Daher werden diese Funktionen dazu verwendet, eine Liste mit Werten abzurufen, die anschließend an eine andere Funktion übergeben wird. Sie können beispielsweise mithilfe der folgenden Formel anhand des eindeutigen Product Keys eine Liste der unterschiedlichen Produkte abrufen, die von einem bestimmten Wiederverkäufer verkauft wurden, und anschließend die in der Liste enthaltenen Produkte mit der Funktion COUNTROWS zählen:

=COUNTROWS(DISTINCT('ResellerSales_USD'[ProductKey]))

Seitenanfang

Wie sich der Kontext auf Filter auswirkt

Wenn Sie eine DAX-Formel in einer PivotTable oder PivotChart hinzufügen, können das Ergebnis der Formel nach dem Kontext beeinflusst. Wenn Sie in einer Tabelle Power Pivot arbeiten, ist der Kontext der aktuellen Zeile und die zugehörigen Werte. Wenn Sie in einem PivotTable- oder PivotChart-arbeiten, bedeutet im Kontext der festlegen oder eine Teilmenge der Daten, die von JOIN-Operationen wie segmentieren oder Filtern definiert ist. Das Design der PivotTable oder PivotChart wendet eine auch eigenen Kontext. Wenn Sie eine PivotTable, in dem Umsätze nach Region und Jahr gruppiert erstellen, werden nur die Daten, die für diese Bereiche und Jahren gilt beispielsweise in der PivotTable. Daher sind keine Maßnahmen, die Sie in der PivotTable hinzufügen im Kontext der Spalten- und Zeilenüberschriften sowie alle Filter in der Formel Measure berechnet.

Weitere Informationen finden Sie unter Kontext in DAX-Formeln.

Seitenanfang

Entfernen von Filtern

Beim Arbeiten mit komplexen Formeln möchten Sie möglicherweise genau wissen, wie die aktuellen Filter funktionieren, oder den Filterteil der jeweiligen Formel ändern. DAX stellt mehrere Funktionen bereit, mit denen Sie Filter entfernen und steuern können, welche Spalten als Teil des aktuellen Filterkontexts beibehalten werden. Dieser Abschnitt enthält eine Übersicht, wie sich diese Funktionen auf Ergebnisse in einer Formel auswirken.

Überschreiben aller Filter mit der Funktion ALL

Sie können mit der ALL -Funktion können Sie keine der Filter, die zuvor angewendet wurden, außer Kraft setzen und alle Zeilen in der Tabelle für die Funktion, die die aggregate oder eine andere Operation durchführt zurückgeben. Wenn Sie eine oder mehrere Spalten statt in einer Tabelle als Argumente für ALLverwenden, gibt die Funktion ALL alle Zeilen, die alle Kontextfilter ignorieren.

Hinweis: Wenn Sie mit der Terminologie für relationale Datenbanken vertraut sind, können Sie sich die Funktion ALL als Element vorstellen, von dem die natürliche linke äußere Verknüpfung aller Tabellen generiert wird.

Angenommen, Sie haben die Tabellen "Sales" und "Products" und möchten eine Formel erstellen, die die Summe der Umsätze für das aktuelle Produkt geteilt durch die Umsätze aller Produkte berechnet. Wird die Formel in einem Measure verwendet, müssen Sie berücksichtigen, dass der Benutzer der PivotTable möglicherweise einen Datenschnitt verwendet, um über die Produktnamen in den Zeilen nach einem bestimmten Produkt zu filtern. Sie müssen daher die Funktion ALL hinzufügen, um alle Filter zu überschreiben, sodass der tatsächliche Wert des Nenners unabhängig von Filtern oder Datenschnitten ermittelt wird. Die folgende Formel ist ein Beispiel, wie ALL verwendet werden kann, um alle Auswirkungen vorheriger Filter zu überschreiben:

= Summe (Sales [Amount]) / SUMX (Sales [Amount], FILTER (Umsatz, ALL(Products)))

  • Im ersten Teil der Formel, SUM (Sales[Amount]), wird der Zähler berechnet.

  • Für diese Summe wird der aktuelle Kontext berücksichtigt. Das heißt: Wenn Sie die Formel in eine berechnete Spalte einfügen, wird der Zeilenkontext angewendet, und wenn Sie die Formel als Measure in eine PivotTable einfügen, werden alle Filter angewendet, die in der PivotTable (dem Filterkontext) angewendet werden.

  • Der zweite Teil der Formel berechnet den Nenner. Die ALL-Funktion überschreibt alle Filter, die in der Tabelle Products angewendet werden können.

Weitere Informationen und Ausführliche Beispiele finden Sie unter ALL-Funktion.

Überschreiben bestimmter Filter mit der Funktion ALLEXCEPT

ALLEXCEPT-Funktion überschreibt auch vorhandene Filter, aber Sie können angeben, dass einige der vorhandenen Filter beibehalten werden soll. Die Spalten, die Sie als Argumente für die ALLEXCEPT-Funktion einen Namen angeben, welche Spalten weiterhin gefiltert werden. Wenn Sie die meisten Spalten, aber nicht für alle Filter außer Kraft setzen möchten, ist ALLEXCEPT komfortabler als alle. ALLEXCEPT-Funktion ist besonders hilfreich beim Erstellen von PivotTables, die gefiltert werden möglicherweise auf vielen verschiedenen Spalten, und die Werte steuern, die in der Formel verwendet werden soll. Weitere Informationen einschließlich einer Ausführliche Beispiele zum Verwenden von ALLEXCEPT in einer PivotTable finden Sie unter ALLEXCEPT-Funktion.

Seitenanfang

Ihre Office-Fähigkeiten erweitern
Schulung erkunden
Neue Funktionen als Erster erhalten
An Office Insider teilnehmen

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×