ALLNOBLANKROW
Dotyczy:kolumna obliczeniowatabela obliczeniowaMiarawizualizacji
Z tabeli nadrzędnej relacji zwraca wszystkie wiersze, ale pusty wiersz lub wszystkie odrębne wartości kolumny, ale pusty wiersz i ignoruje wszystkie filtry kontekstu, które mogą istnieć.
Składnia
ALLNOBLANKROW( {<table> | <column>[, <column>[, <column>[,…]]]} )
Parametry
Termin | Definicja |
---|---|
table |
Tabela, w której są usuwane wszystkie filtry kontekstowe. |
column |
Kolumna, w której są usuwane wszystkie filtry kontekstowe. |
Należy przekazać tylko jeden parametr; parametr jest tabelą lub kolumną.
Wartość zwracana
Tabela, gdy przekazany parametr był tabelą lub kolumną wartości, kiedy przekazany parametr był kolumną.
Uwagi
Funkcja ALLNOBLANKROW filtruje tylko pusty wiersz, który tabela nadrzędna w relacji będzie pokazywać, gdy w tabeli podrzędnej znajduje się co najmniej jeden wiersz z wartościami niezgodnymi z kolumną nadrzędną. Zapoznaj się z poniższym przykładem, aby uzyskać dokładne wyjaśnienie.
W poniższej tabeli przedstawiono podsumowanie odmian
ALL
dostępnych w DAXi ich różnice:Funkcja i użycie Opis ALL(Column)
Usuwa wszystkie filtry z określonej kolumny w tabeli; wszystkie inne filtry w tabeli, w innych kolumnach, nadal mają zastosowanie. ALL(Table)
Usuwa wszystkie filtry z określonej tabeli. ALLEXCEPT(Table,Col1,Col2...)
Zastępuje wszystkie filtry kontekstowe w tabeli z wyjątkiem określonych kolumn. ALLNOBLANK(table|column)
Z tabeli nadrzędnej relacji zwraca wszystkie wiersze, ale pusty wiersz lub wszystkie odrębne wartości kolumny, ale pusty wiersz i ignoruje wszystkie filtry kontekstu, które mogą istnieć Aby uzyskać ogólny opis działania funkcji ALL, wraz z przykładami krok po kroku, które używają ALL(Tabela) i ALL(Kolumna), zobacz ALL funkcji.
Ta funkcja nie jest obsługiwana w trybie DirectQuery w przypadku użycia w kolumnach obliczeniowych lub regułach zabezpieczeń na poziomie wiersza.
Przykład
W przykładowych danych tabela ResellerSales_USD zawiera jeden wiersz, który nie zawiera wartości i dlatego nie może być powiązany z żadną z tabel nadrzędnych w relacjach w skoroszycie. Użyjesz tej tabeli w tabeli przestawnej, aby zobaczyć zachowanie pustego wiersza i sposób obsługi liczby niepowiązanych danych.
Krok 1. Weryfikowanie niepowiązanych danych
Otwórz okno Power Pivot, a następnie wybierz tabelę ResellerSales_USD. W kolumnie ProductKey odfiltruj puste wartości. Pozostanie jeden wiersz. W tym wierszu wszystkie wartości kolumn powinny być puste z wyjątkiem kolumn SalesOrderLineNumber.
Krok 2. Tworzenie tabeli przestawnej
Utwórz nową tabelę przestawną, a następnie przeciągnij kolumnę datetime. [Rok kalendarzowy] w okienku Etykiety wierszy. W poniższej tabeli przedstawiono oczekiwane wyniki:
Etykiety wierszy |
---|
2005 |
2006 |
2007 |
2008 |
Suma końcowa |
Zwróć uwagę na pustą etykietę między 2008 a Grand Total. Ta pusta etykieta reprezentuje nieznany element członkowski, który jest grupą specjalną utworzoną w celu uwzględnienia wszystkich wartości w tabeli podrzędnej, które nie mają pasującej wartości w tabeli nadrzędnej, w tym przykładzie data/godzina. [Rok kalendarzowy] kolumna.
Gdy ta pusta etykieta zostanie wyświetlona w tabeli przestawnej, wiesz, że w niektórych tabelach powiązanych z kolumną data/godzina. [Rok kalendarzowy] istnieją puste wartości lub wartości niezgodne. Tabela nadrzędna to ta, która pokazuje pustą etykietę, ale wiersze, które nie są zgodne, znajdują się w co najmniej jednej tabeli podrzędnej.
Wiersze dodawane do tej pustej grupy etykiet to wartości, które nie są zgodne z żadną wartością w tabeli nadrzędnej — na przykład datą, która nie istnieje w wartościach tabeli datetime lub null, co oznacza brak wartości daty w ogóle. W tym przykładzie umieściliśmy pustą wartość we wszystkich kolumnach podrzędnej tabeli sprzedaży. Posiadanie większej liczby wartości w tabeli nadrzędnej niż w tabelach podrzędnych nie powoduje problemu.
Krok 3. Zlicz wiersze przy użyciu ALL i ALLNOBLANK
Dodaj następujące dwie miary do tabeli datetime, aby zliczyć wiersze tabeli: Countrows ALLNOBLANKdatetime , Countrows ALL daty/godziny. Formuły, których można użyć do zdefiniowania tych miar, to:
// 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'))
W pustej tabeli przestawnej dodaj datę/godzinę. [Rok kalendarzowy] kolumna do etykiet wierszy, a następnie dodaj nowo utworzone miary. Wyniki powinny wyglądać podobnie do poniższej tabeli:
Etykiety wierszy | Countrows ALLNOBLANK daty/godziny | Liczba ALL daty/godziny |
---|---|---|
2005 | 1280 | 1281 |
2006 | 1280 | 1281 |
2007 | 1280 | 1281 |
2008 | 1280 | 1281 |
1280 | 1281 | |
Suma końcowa | 1280 | 1281 |
Wyniki pokazują różnicę 1 wierszy w liczbie wierszy tabeli. Jeśli jednak otworzysz okno dodatku Power Pivot i wybierzesz tabelę datetime, nie będzie można odnaleźć pustego wiersza w tabeli, ponieważ specjalny pusty wiersz wymieniony tutaj jest elementem członkowskim Nieznany.
Krok 4. Sprawdzanie, czy liczba jest dokładna
Aby udowodnić, że ALLNOBLANKROW nie zlicza żadnych naprawdę pustych wierszy i obsługuje tylko specjalny pusty wiersz w tabeli nadrzędnej, dodaj następujące dwie miary do tabeli ResellerSales_USD: Countrows ALLNOBLANKROW ResellerSales_USD, Countrows ALL ResellerSales_USD.
Utwórz nową tabelę przestawną i przeciągnij kolumnę datetime. [Rok kalendarzowy] w okienku Etykiety wierszy. Teraz dodaj miary, które zostały właśnie utworzone. Wyniki powinny wyglądać następująco:
Etykiety wierszy | Liczba ALLNOBLANKROW ResellerSales_USD | Liczba ALL ResellerSales_USD |
---|---|---|
2005 | 60856 | 60856 |
2006 | 60856 | 60856 |
2007 | 60856 | 60856 |
2008 | 60856 | 60856 |
60856 | 60856 | |
Suma końcowa | 60856 | 60856 |
Teraz te dwie miary mają te same wyniki. Wynika to z faktu, że funkcja ALLNOBLANKROW nie liczy naprawdę pustych wierszy w tabeli, ale obsługuje tylko pusty wiersz, który jest specjalnym przypadkiem wygenerowanym w tabeli nadrzędnej, gdy co najmniej jedna tabela podrzędna w relacji zawiera niepasujące wartości lub puste wartości.
Powiązana zawartość
funkcje FilterALLFILTER funkcji