Funkcja ALLNOBLANKROW (język DAX)
Zwraca z nadrzędnej tabeli relacji wszystkie wiersze, oprócz pustych, albo wszystkie unikatowe wartości kolumny, oprócz pustych wierszy, i ignoruje wszystkie filtry kontekstowe.
Składnia
ALLNOBLANKROW(<table>|<column>)
Parametry
Termin |
Definicja |
---|---|
tabela |
Tabela, dla której zostaną usunięte wszystkie filtry kontekstowe. |
kolumna |
Kolumna, dla której zostaną usunięte wszystkie filtry kontekstowe. |
Należy przekazać tylko jeden parametr, którym jest tabela lub kolumna.
Wartość zwracana
Tabela, jeśli jako parametr przekazano tabelę, lub kolumna wartości, jeśli jako parametr przekazano kolumnę.
Uwagi
Funkcja ALLNOBLANKROW filtruje tylko puste wiersze w nadrzędnej tabeli relacji i wyświetla informację, gdy w tabeli podrzędnej istnieje co najmniej jeden wiersz niemający wartości pasującej do kolumny nadrzędnej.W poniższym przykładzie przedstawiono dokładne wyjaśnienie.
W następującej tabela zestawiono różnice wszystkich dostępnych w DAX i ich różnice:
Funkcja i użycie |
Opis |
---|---|
ALL(kolumna) |
Usuwa wszystkie filtry z określonej kolumny w tabeli; wszystkie inne filtry dotyczące innych kolumn w tabeli są nadal stosowane. |
ALL(tabela) |
Usuwa wszystkie filtry z określonej tabeli. |
ALLEXCEPT(tabela,kol1,kol2...) |
Zastępuje wszystkie filtry kontekstowe w tabela, z wyjątkiem nad określonych kolumn. |
ALLNOBLANK(tabela|kolumna) |
Zwraca z nadrzędnej tabeli relacji wszystkie wiersze, oprócz pustych, albo wszystkie różne wartości kolumny, oprócz pustych wierszy, i ignoruje wszystkie filtry kontekstowe. |
Ogólny opis wszystkich działa funkcja wraz z przykładami krok po kroku, które korzystają z ALL(Table) i ALL(Column), zobacz temat Funkcja ALL (język DAX).
Przykład
W przykładowych danych znajduje się tabela ResellerSales_USD zawierająca jeden wiersz, który nie ma wartości, przez co nie można go powiązać z żadną tabelą nadrzędną w relacjach w skoroszycie.Ta tabela będzie używana w tabeli przestawnej, dzięki czemu będzie można zobaczyć zachowanie pustego wiersza oraz sposób obsługi liczebności w przypadku niepowiązanych danych.
Krok 1: Sprawdź niepowiązane dane
Otwórz PowerPivot okna, następnie wybierz tabela ResellerSales_USD.W kolumnie ProductKey odfiltruj puste wartości.Pozostanie jeden wiersz.W tym wierszu wszystkie wartości kolumny, oprócz SalesOrderLineNumber, powinny być puste.
Krok 2: Tworzenie tabela przestawna
Utwórz nową tabelę przestawną, a następnie przeciągnij kolumnę datetime.[Calendar Year] do okienka Etykiety wierszy.W poniższej tabeli pokazano oczekiwane wyniki:
Etykiety wierszy |
---|
2001 |
2002 |
2003 |
2004 |
|
Suma końcowa |
Uwaga puste etykiety między 2004 i Suma całkowita.Etykieta puste reprezentuje nieznany element członkowski, który jest specjalny grupy utworzone przez PowerPivot dla wartości w podrzędność tabela, które mają nie pasujące wartości w tabela nadrzędnej, w tym przykładzie element datetime. [Rok kalendarzowy] kolumna.
Jeśli w tabeli przestawnej jest widoczna ta pusta etykieta, wiadomo że w niektórych tabelach powiązanych z kolumną datetime.[Calendar Year] znajdują się puste lub niepasujące wartości.Pusta etykieta jest widoczna w tabeli nadrzędnej, ale niepasujące wiersze znajdują się w co najmniej jednej tabeli podrzędnej.
Wiersze dodawane do tej grupy z pustą etykietą są wartościami, które nie pasują do żadnej wartości w tabeli nadrzędnej (na przykład jest to data, która nie istnieje w tabeli datetime), lub wartościami null, które oznaczają całkowity brak wartości daty.W tym przykładzie wartość pusta znajduje się we wszystkich kolumnach podrzędnej tabeli sprzedaży.Jeśli w tabeli nadrzędnej znajduje się więcej wartości niż w tabelach podrzędnych, nie powoduje to problemu.
Krok 3: Liczenie wierszy przy użyciu wszystkich i ALLNONBLANK
Dodaj następujące dwa środki do tabela datetime, aby policzyć wiersze tabela: ALLNOBLANK numer wiersza z datetime, Wszystkie numer wiersza datetime.Formuły, których można użyć w celu zdefiniowania tych miar podano w sekcji kodu poniżej.
W pustej tabeli przestawnej dodaj kolumnę datetime.[Calendar Year] do obszaru etykiet wierszy, a następnie dodaj nowo utworzone miary.Wyniki powinny przypominać poniższą tabelę:
Etykiety wierszy |
Countrows ALLNOBLANK of datetime |
Countrows ALL of datetime |
---|---|---|
2001 |
1280 |
1281 |
2002 |
1280 |
1281 |
2003 |
1280 |
1281 |
2004 |
1280 |
1281 |
|
1280 |
1281 |
Suma końcowa |
1280 |
1281 |
W wynikach można zauważyć, że różnica w wyznaczonych liczbach wierszy w tabeli wynosi 1.Jednak po otwarciu PowerPivot okna i zaznacz tabela datetime, ponieważ specjalne pusty wiersz wymienionych tutaj jest nieznany element członkowski nie może odnaleźć żadnych pustych wierszy w tabela.
Krok 4: Sprawdź, czy liczba jest dokładne
Aby udowodnić, że ALLNOBLANKROW nie zlicza wszystkie prawdziwie pustych wierszy oraz specjalnych obsługuje tylko pusty wiersz w tabela nadrzędnej, dodać następujące dwa środki do tabela ResellerSales_USD: Numer wiersza ALLNOBLANKROW z ResellerSales_USD, numer wiersza wszystkie ResellerSales_USD.
Utwórz nową tabelę przestawną, a następnie przeciągnij kolumnę datetime.[Calendar Year] do okienka Etykiety wierszy.Teraz dodaj nowo utworzone miary.Wyniki powinny przypominać poniższą tabelę:
Etykiety wierszy |
Countrows ALLNOBLANKROW of ResellerSales_USD |
Countrows ALL of ResellerSales_USD |
---|---|---|
2001 |
60856 |
60856 |
2002 |
60856 |
60856 |
2003 |
60856 |
60856 |
2004 |
60856 |
60856 |
|
60856 |
60856 |
Suma końcowa |
60856 |
60856 |
Teraz obie miary mają taki sam wynik.Jest to spowodowane tym, że funkcja ALLNOBLANKROW nie zlicza faktycznie pustych wierszy w tabeli, ale jedynie obsługuje pusty wiersz będący wygenerowanym w tabeli nadrzędnej specjalnym przypadkiem dotyczącym sytuacji, gdy co najmniej jedna tabela podrzędna w relacji zawiera niepasujące lub puste wartości.
// 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'))
Zobacz także