Udostępnij za pośrednictwem


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.

funkcje FilterALLFILTER funkcji