ALLNOBLANKROW

Gibt aus der übergeordneten Tabelle einer Beziehung alle Zeilen mit Ausnahme der leeren Zeile oder alle eindeutigen Werte einer Spalte mit Ausnahme der leeren Zeile zurück, und ignoriert alle eventuell vorhandenen Kontextfilter.

Syntax

ALLNOBLANKROW( {<table> | <column>[, <column>[, <column>[,…]]]} )

Parameter

Begriff Definition
Tabelle Die Tabelle, für die alle Kontextfilter entfernt wurden.
Säulendiagramm Eine Spalte, für die alle Kontextfilter entfernt wurden.

Es muss nur ein Parameter übergeben werden, wobei der Parameter eine Tabelle oder eine Spalte ist.

Rückgabewert

Eine Tabelle, wenn der übergebene Parameter eine Tabelle ist, oder eine Spalte mit Werten, wenn der übergebene Parameter eine Spalte ist.

Bemerkungen

  • Mit der ALLNOBLANKROW-Funktion wird nur die leere Zeile gefiltert, die sich in einer Beziehung in einer übergeordneten Tabelle befindet, wenn mindestens eine Zeile in der untergeordneten Tabelle Werte enthält, die mit der übergeordneten Spalte nicht übereinstimmen. Eine ausführliche Erläuterung finden Sie im Beispiel weiter unten.

  • Die folgende Tabelle enthält eine Übersicht über die in DAX bereitgestellten Variationen von ALL und die jeweiligen Unterschiede:

    Funktion und Syntax Beschreibung
    ALL(Column) Entfernt alle Filter aus der angegebenen Spalte in der Tabelle. Alle anderen Filter in der Tabelle in anderen Spalten werden weiterhin angewendet.
    ALL(Table) Entfernt alle Filter aus der angegebenen Tabelle.
    ALLEXCEPT(Table,Col1,Col2...) Überschreibt alle Kontextfilter in der Tabelle außer denen für die angegebenen Spalten.
    ALLNOBLANK(table|column) Gibt aus der übergeordneten Tabelle einer Beziehung alle Zeilen mit Ausnahme der leeren Zeile oder alle eindeutigen Werte einer Spalte mit Ausnahme der leeren Zeile zurück, und ignoriert alle eventuell vorhandenen Kontextfilter.

    Eine allgemeine Beschreibung der Funktionsweise der ALL-Funktion sowie Beispiele mit einer Schritt-für-Schritt-Anleitung zur Verwendung von „ALL(Table)“ und „ALL(Column)“ finden Sie unter ALL-Funktion.

  • 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

Die Tabelle „ResellerSales_USD“ in den Beispieldaten enthält eine Zeile, die keine Werte aufweist und somit keiner übergeordneten Tabelle in den Beziehungen in der Arbeitsmappe zugeordnet werden kann. Verwenden Sie diese Tabelle in einer PivotTable, damit Sie sehen, wie sich die leere Zeile verhält und wie Zählungen für nicht zugeordnete Daten verwendet werden.

Schritt 1: Überprüfen der nicht zugeordneten Daten

Öffnen Sie das Power Pivot-Fenster, und wählen Sie die Tabelle „ResellerSales_USD“ aus. Filtern Sie die Spalte „ProductKey“ nach leeren Werten. Danach wird nur noch eine Zeile angezeigt. In dieser Zeile müssen mit Ausnahme von „SalesOrderLineNumber“ alle Spaltenwerte leer sein.

Schritt 2: Erstellen einer PivotTable

Erstellen Sie eine neue PivotTable, und ziehen Sie die Spalte „datetime.[Calendar Year]“ in den Bereich „Zeilenbeschriftungen“. Die folgende Tabelle enthält die erwarteten Ergebnisse:

Row Labels
2005
2006
2007
2008
Gesamtsumme

Die leere Beschriftung befindet sich zwischen 2008 und Gesamtsumme. Diese leere Beschriftung stellt das unbekannte Element dar. Hierbei handelt es sich um eine spezielle Gruppe, die zur Erfassung aller Werte in der untergeordneten Tabelle, für die in der übergeordneten Tabelle kein übereinstimmender Wert vorhanden ist, erstellt wird. In diesem Beispiel ist das die Spalte „datetime.[Calendar Year]“.

Wenn diese leere Beschriftung in der PivotTable vorhanden ist, wissen Sie, dass in einigen Tabellen, die sich auf die Spalte „datetime.[Calendar Year]“ beziehen, leere Werte oder nicht übereinstimmende Werte befinden. Die leere Beschriftung wird zwar für die übergeordnete Tabelle angezeigt, die nicht übereinstimmenden Zeilen befinden sich jedoch in einer oder mehreren untergeordneten Tabellen.

Bei den Zeilen, die dieser Gruppe mit leeren Beschriftungen hinzugefügt werden, handelt es sich entweder um Werte, die mit keinem Wert in der übergeordneten Tabelle übereinstimmen – z. B. ein Datum, das in der datetime-Tabelle nicht vorhanden ist – oder um NULL-Werte, was bedeutet, dass für das Datum kein Wert vorhanden ist. In diesem Beispiel haben wir in allen Spalten der untergeordneten Tabelle mit den Umsätzen einen leeren Wert eingefügt. Dadurch, dass sich in der übergeordneten Tabelle mehr Werte als in den untergeordneten Tabellen befinden, wird kein Problem verursacht.

Schritt 3: Zeilenzählen mit ALL und ALLNOBLANK

Fügen Sie der datetime-Tabelle die folgenden beiden Measures hinzu, um die Tabellenzeilen zu zählen: Countrows ALLNOBLANK of datetime, Countrows ALL of datetime. Folgende Formeln können Sie zum Definieren dieser Measures verwenden:

// Countrows ALLNOBLANK of datetime  
= COUNTROWS(ALLNOBLANKROW('DateTime'))  
  
// Countrows ALL of datetime  
= COUNTROWS(ALL('DateTime'))  
  
// Countrows ALLNOBLANKROW of ResellerSales_USD  
= COUNTROWS(ALLNOBLANKROW('ResellerSales_USD'))  
  
// Countrows ALL of ResellerSales_USD  
= COUNTROWS(ALL('ResellerSales_USD'))  

Fügen Sie den Zeilenbeschriftungen in einer leeren PivotTable die Spalte „datetime.[Calendar Year]“ und anschließend die neu erstellten Measures hinzu. Die Ergebnisse sollten wie in der folgenden Tabelle aussehen:

Row Labels Countrows ALLNOBLANK of datetime Countrows ALL of datetime
2005 1280 1281
2006 1280 1281
2007 1280 1281
2008 1280 1281
1280 1281
Gesamtsumme 1280 1281

In den Ergebnissen wird für die Anzahl der Tabellenzeilen ein Unterschied von einer Zeile angezeigt. Wenn Sie jedoch das Power Pivot-Fenster öffnen und die datetime-Tabelle auswählen, wird in der Tabelle keine leere Zeile angezeigt, da es sich bei der hier genannten leeren Zeile um das unbekannte Element handelt.

Schritt 4: Überprüfen, ob die Anzahl richtig angegeben wird

Wenn Sie überprüfen möchten, ob mit ALLNOBLANKROW keine wirklich leeren Zeilen gezählt werden und nur die spezielle leere Zeile in der übergeordneten Tabelle verarbeitet wird, fügen Sie der Tabelle „ResellerSales_USD“ die folgenden beiden Measures hinzu: Countrows ALLNOBLANKROW of ResellerSales_USD, Countrows ALL of ResellerSales_USD.

Erstellen Sie eine neue PivotTable, und ziehen Sie die Spalte „datetime.[Calendar Year]“ in den Bereich „Zeilenbeschriftungen“. Fügen Sie nun die eben erstellten Measures hinzu. Die Ergebnisse sollten wie in der folgenden Tabelle aussehen:

Row Labels Countrows ALLNOBLANKROW of ResellerSales_USD Countrows ALL of ResellerSales_USD
2005 60856 60856
2006 60856 60856
2007 60856 60856
2008 60856 60856
60856 60856
Gesamtsumme 60856 60856

Nun wird für beide Measures dasselbe Ergebnis angezeigt. Der Grund dafür ist, dass die ALLNOBLANKROW-Funktion keine wirklich leeren Zeilen in einer Tabelle zählt, sondern nur die leere Zeile verarbeitet, bei der es sich um einen Sonderfall handelt, der in einer übergeordneten Tabelle entsteht, wenn mindestens eine untergeordnete Tabelle in der Beziehung nicht übereinstimmende oder leere Werte enthält.

Filterfunktionen
ALL-Funktion
FILTER-Funktion