ALL

Gibt alle Zeilen in einer Tabelle oder alle Werte in einer Spalte zurück, wobei alle möglicherweise angewendeten Filter ignoriert werden. Mit dieser Funktion können in allen Zeilen in einer Tabelle Filter gelöscht und Berechnungen erstellt werden.

Syntax

ALL( [<table> | <column>[, <column>[, <column>[,…]]]] )  

Parameter

Begriff Definition
Tabelle Die Tabelle, für die Filter gelöscht werden sollen.
Säulendiagramm Die Spalte, für die Filter gelöscht werden sollen.

Beim Argument für die ALL-Funktion muss es sich um einen Verweis auf eine Basistabelle oder um einen Verweis auf eine Basisspalte handeln. Tabellen- oder Spaltenausdrücke können nicht zusammen mit der ALL-Funktion verwendet werden.

Rückgabewert

Eine Tabelle oder Spalte, in der die Filter entfernt wurden.

Bemerkungen

  • Diese Funktion wird nicht allein verwendet, sondern dient als Zwischenfunktion, die verwendet werden kann, um die Ergebnisse zu ändern, für die andere Berechnungen ausgeführt werden.

  • Standardmäßig werden für DAX-Ausdrücke, die die Funktion ALL() enthalten, alle angewendeten Filter ignoriert. Es gibt jedoch einige Szenarios, in denen dies aufgrund von Auto-exist nicht der Fall ist. Hierbei handelt es sich um eine DAX-Technologie, die die Filterung optimiert, um den für bestimmte DAX-Abfragen erforderlichen Verarbeitungsaufwand zu verringern. Beispielsweise stellen Auto-exist und ALL() unerwartete Ergebnisse bereit, wenn Filter auf mindestens zwei Spalten einer Tabelle angewendet werden (wie bei der Verwendung von Slicern) und es ein Measure für diese Tabelle gibt, das ALL() verwendet. In diesem Fall führt Auto-Exist die Filter zusammen und filtert nur die vorhandenen Wertekombinationen. Aufgrund dieser Zusammenführung wird das Measure für die vorhandenen Wertekombinationen berechnet, und das Ergebnis basiert entgegen der Erwartung auf gefilterten Werten anstatt auf allen Werten. Weitere Informationen zur Funktion Auto-exist und ihren Auswirkungen auf Berechnungen finden Sie im Artikel Die DAX-Funktion Auto-exist des Microsoft MVP Alberto Ferrari unter sql.bi.com.

  • Wie in der folgenden Tabelle beschrieben, können Sie die Funktionen ALL und ALLEXCEPT in unterschiedlichen Szenarios verwenden.

    Funktion und Nutzung Beschreibung
    ALL() Entfernt überall alle Filter. Mit „ALL()“ können nur Filter gelöscht werden. Eine Tabelle kann damit nicht zurückgegeben werden.
    ALL(Table) Entfernt alle Filter aus der angegebenen Tabelle. Mit ALL(Table) werden alle Werte in der Tabelle zurückgegeben. Dabei werden alle Filter aus dem Kontext entfernt, die ansonsten möglicherweise angewendet worden wären. Diese Funktion ist nützlich, wenn Sie mit vielen Gruppierungsebenen arbeiten und eine Berechnung erstellen möchten, mit der das Verhältnis eines aggregierten Werts zum Gesamtwert erstellt wird. Im ersten Beispiel wird dieses Szenario veranschaulicht.
    ALL (Column[, Column[, …]]) Entfernt alle Filter aus den angegebenen Spalten in der Tabelle. Alle anderen Filter in anderen Spalten in der Tabelle werden weiterhin angewendet. Alle Spaltenargumente müssen aus einer Tabelle stammen. Die Variante „ALL(Column)“ ist nützlich, wenn Sie die Kontextfilter für mindestens eine bestimmte Spalte entfernen und alle anderen Kontextfilter beibehalten möchten. Im zweiten und dritten Beispiel wird dieses Szenario veranschaulicht.
    ALLEXCEPT(Table, Column1 [,Column2]...) Entfernt alle Kontextfilter in der Tabelle mit Ausnahme der Filter, die auf die angegebenen Spalten angewendet werden. Dies ist ein praktisches Schnellverfahren in Situationen, in denen Sie die Filter für viele, aber nicht für alle Spalten in einer Tabelle entfernen möchten.
  • 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 1

Berechnung des Verhältnisses von Umsatz pro Kategorie zu Gesamtumsatz

Angenommen, Sie möchten die Umsatzhöhe für die aktuelle Zelle in Ihrer PivotTable geteilt durch den Gesamtumsatz für alle Handelspartner ermitteln. Wenn Sie sicherstellen möchten, dass der Nenner immer gleich ist, unabhängig davon, wie der PivotTable-Benutzer die Daten filtert oder gruppiert, definieren Sie eine Formel mit „ALL“, um die entsprechende Gesamtsumme zu ermitteln.

In der folgenden Tabelle werden die Ergebnisse angezeigt, wenn das neue Measure Umsatzquote aller Handelspartner mit der im Codeabschnitt angegebenen Formel erstellt wird. Wenn Sie wissen möchten, wie das funktioniert, fügen Sie das Feld „CalendarYear“ zum Bereich Zeilenbeschriftungen der PivotTable und das Feld „ProductCategoryName“ zum Bereich Spaltenbeschriftungen hinzu. Anschließend ziehen Sie das Measure Umsatzquote aller Handelspartner in den Bereich Werte der PivotTable. Wenn Sie die Ergebnisse in Prozentwerten anzeigen möchten, verwenden Sie die Formatierungsfunktionen von Excel, um die Zahlenformatierung für Prozentwerte auf die Zellen anzuwenden, die das Measure enthalten.

Row Labels Accessories Bikes Kleidung Komponenten Gesamtsumme
2005 0,02 % 9,10 % 0,04 % 0,75 % 9,91 %
2006 0,11 % 24,71 % 0,60 % 4,48 % 29,90 %
2007 0,36 % 31,71 % 1,07 % 6,79 % 39,93 %
2008 0,20 % 16,95 % 0,48 % 2,63 % 20,26 %
Gesamtsumme 0,70 % 82,47 % 2,18 % 14,65 % 100,00 %

Formel

= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/SUMX(ALL(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])  

Die Formel wird wie folgt erstellt:

  1. Der Zähler SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]) ist die Summe der Werte in „ResellerSales_USD[SalesAmount_USD]“ für die aktuelle Zelle in der PivotTable, wobei auf „CalendarYear“ und „ProductCategoryName“ Kontextfilter angewendet werden.

  2. Geben Sie zunächst für den Nenner die Tabelle „ResellerSales_USD“ an, und entfernen mithilfe der ALL-Funktion alle Kontextfilter in der Tabelle.

  3. Verwenden Sie anschließend die SUMX-Funktion, um die Werte in der Spalte „ResellerSales_USD[SalesAmount_USD]“ zu addieren. Damit rufen Sie die Summe von „ResellerSales_USD[SalesAmount_USD]“ für alle Handelspartnerumsätze ab.

Beispiel 2

Berechnung des Verhältnisses von Produktumsatz zu Gesamtumsatz im laufenden Jahr

Angenommen, Sie möchten eine Tabelle mit dem Umsatz in Prozent im Jahresvergleich für die einzelnen Produktkategorien (ProductCategoryName) erstellen. Um den Prozentsatz für die einzelnen Jahre und alle Werte von „ProductCategoryName“ zu ermitteln, müssen Sie die Umsatzsumme für das jeweilige Jahr und die jeweilige Produktkategorie durch die Umsatzsumme für dieselbe Produktkategorie für alle Jahre dividieren. Das bedeutet, dass Sie bei der Berechnung des Nenners für den Prozentsatz den Filter für „ProductCategoryName“ beibehalten, den Filter für das Jahr jedoch entfernen.

In der folgenden Tabelle werden die Ergebnisse angezeigt, wenn das neue Measure Umsatz pro Handelspartner und Jahr mit der im Codeabschnitt angegebenen Formel erstellt wird. Wenn Sie wissen möchten, wie das funktioniert, fügen Sie das Feld „CalendarYear“ zum Bereich Zeilenbezeichnungen einer PivotTable und das Feld „ProductCategoryName“ zum Bereich Spaltenbezeichnungen hinzu. Wenn Sie die Ergebnisse in Prozentwerten anzeigen möchten, verwenden Sie die Formatierungsfunktionen von Excel, um die Zahlenformatierung für Prozentwerte auf die Zellen anzuwenden, die das Measure Umsatz pro Handelspartner und Jahr enthalten.

Zeilenbeschriftungen Accessories Bikes Kleidung Komponenten Gesamtsumme
2005 3,48 % 11,03 % 1,91 % 5,12 % 9,91 %
2006 16,21 % 29,96 % 27,29 % 30,59 % 29,90 %
2007 51,62 % 38,45 % 48,86 % 46,36 % 39,93 %
2008 28,69 % 20,56 % 21,95 % 17,92 % 20,26 %
Gesamtsumme 100,00 % 100,00 % 100,00 % 100,00 % 100,00 %

Formel

= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(DateTime[CalendarYear]))  

Die Formel wird wie folgt erstellt:

  1. Der Zähler SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]) ist die Summe der Werte in „ResellerSales_USD[SalesAmount_USD]“ für die aktuelle Zelle in der PivotTable, wobei auf die Spalten „CalendarYear“ und „ProductCategoryName“ Kontextfilter angewendet werden.

  2. Für den Nenner entfernen Sie den vorhandenen Filter für „CalendarYear“ mithilfe der Funktion „ALL(Column)“. Damit wird nach dem Anwenden der vorhandenen Kontextfilter aus den Spaltenbeschriftungen die Summe für die restlichen Zeilen in der Tabelle „ResellerSales_USD“ berechnet. Somit wird für den Nenner die Summe für die ausgewählte Spalte „ProductCategoryName“ (impliziter Kontextfilter) sowie für alle Werte in der Spalte „Year“ berechnet.

Beispiel 3

Berechnung des Beitrags von Produktkategorien zum Gesamtumsatz pro Jahr

Angenommen, Sie möchten eine Tabelle erstellen, die den Umsatz in Prozent für die einzelnen Produktkategorien pro Jahr enthält. Um den Prozentsatz für die einzelnen Produktkategorien in einem bestimmten Jahr zu ermitteln, müssen Sie die Umsatzsumme für die jeweilige Produktkategorie (ProductCategoryName) im Jahr n berechnen und anschließend das Ergebnis durch die Umsatzsumme für das Jahr n für alle Produktkategorien dividieren. Das bedeutet, dass Sie bei der Berechnung des Nenners für den Prozentsatz den Filter für das Jahr beibehalten, den Filter für „ProductCategoryName“ jedoch entfernen.

In der folgenden Tabelle werden die Ergebnisse angezeigt, wenn das neue Measure Umsatz pro Handelspartner und „CategoryName“ mit der im Codeabschnitt angegebenen Formel erstellt wird. Wenn Sie wissen möchten, wie das funktioniert, fügen Sie das Feld „CalendarYear“ zum Bereich Zeilenbeschriftungen der PivotTable und das Feld „ProductCategoryName“ zum Bereich Spaltenbeschriftungen hinzu. Anschließend fügen Sie dem Bereich Werte der PivotTable das neue Measure hinzu. Wenn Sie die Ergebnisse in Prozentwerten anzeigen möchten, verwenden Sie die Formatierungsfunktionen von Excel, um die Zahlenformatierung für Prozentwerte auf die Zellen anzuwenden, die das neue Measure Umsatz pro Handelspartner und „CategoryName“ enthalten.

Row Labels Accessories Bikes Kleidung Komponenten Gesamtsumme
2005 0,25 % 91,76 % 0,42 % 7,57 % 100,00 %
2006 0,38 % 82,64 % 1,99 % 14,99 % 100,00 %
2007 0,90 % 79,42 % 2,67 % 17,01 % 100,00 %
2008 0,99 % 83,69 % 2,37 % 12,96 % 100,00 %
Gesamtsumme 0,70 % 82,47 % 2,18 % 14,65 % 100,00 %

Formel

= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(ProductCategory[ProductCategoryName]))  

Die Formel wird wie folgt erstellt:

  1. Der Zähler SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]) ist die Summe der Werte in „ResellerSales_USD[SalesAmount_USD]“ für die aktuelle Zelle in der PivotTable, wobei auf die Felder „CalendarYear“ und „ProductCategoryName“ Kontextfilter angewendet werden.

  2. Für den Nenner verwenden Sie die Funktion „ALL(Column)“, um den Filter für „ProductCategoryName“ zu entfernen und die Summe für die restlichen Zeilen in der Tabelle „ResellerSales_USD“ zu berechnen, nachdem Sie die vorhandenen Kontextfilter aus den Zeilenbeschriftungen angewendet haben. Damit wird für den Nenner die Summe für die ausgewählte Spalte „Year“ (impliziter Kontextfilter) sowie für alle Werte in der Spalte „ProductCategoryName“ berechnet.

Filterfunktionen
ALL-Funktion
ALLEXCEPT-Funktion
FILTER-Funktion