Sdílet prostřednictvím


ALLNOBLANKROW

Platí pro:Calculated columnCalculated tableMeasureVisual calculation

Z nadřazené tabulky relace vrátí všechny řádky, ale prázdný řádek nebo všechny jedinečné hodnoty sloupce, ale prázdný řádek a ignoruje všechny kontextové filtry, které by mohly existovat.

Syntaxe

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

Parametry

Pojem definice
table Tabulka, u které jsou odebrány všechny kontextové filtry.
column Sloupec, u kterého se odeberou všechny kontextové filtry.

Musí být předán pouze jeden parametr; parametr je tabulka nebo sloupec.

Vrácená hodnota

Tabulka, kdy předaný parametr byl tabulka nebo sloupec hodnot, když předaný parametr byl sloupec.

Poznámky

  • Funkce ALLNOBLANKROW filtruje pouze prázdný řádek, který nadřazená tabulka v relaci zobrazí, když je v podřízené tabulce jeden nebo více řádků, které nemají odpovídající hodnoty nadřazeného sloupce. Podrobné vysvětlení najdete v následujícím příkladu.

  • Následující tabulka shrnuje varianty ALL, které jsou k dispozici v jazyce DAX, a jejich rozdíly:

    Funkce a využití Popis
    ALL(sloupec) Odebere všechny filtry ze zadaného sloupce v tabulce; všechny ostatní filtry v tabulce, přes ostatní sloupce, stále platí.
    ALL(tabulka) Odebere všechny filtry ze zadané tabulky.
    ALLEXCEPT(Tabulka;Sloupec1;Sloupec2...) Přepíše všechny kontextové filtry v tabulce s výjimkou zadaných sloupců.
    ALLNOBLANK(tabulka|sloupec) Z nadřazené tabulky relace vrátí všechny řádky, ale prázdný řádek nebo všechny jedinečné hodnoty sloupce, ale prázdný řádek, a ignoruje všechny kontextové filtry, které by mohly existovat.

    Obecný popis fungování funkce ALL společně s podrobnými příklady, které používají all(Table) a ALL(Column), najdete v tématu FUNKCE ALL.

  • Tato funkce není podporována pro použití v režimu DirectQuery při použití v počítaných sloupcích nebo pravidlech zabezpečení na úrovni řádků (RLS).

Příklad

V ukázkových datech tabulka ResellerSales_USD obsahuje jeden řádek, který neobsahuje žádné hodnoty, a proto nemůže souviset s žádnou z nadřazených tabulek v relacích v sešitu. Tuto tabulku použijete v kontingenční tabulce, abyste viděli chování prázdného řádku a způsob zpracování počtu nesouvisejících dat.

Krok 1: Ověření nesouvisejících dat

Otevřete okno Power Pivotu a pak vyberte tabulku ResellerSales_USD. Ve sloupci ProductKey vyfiltrujte prázdné hodnoty. Zůstane jeden řádek. V daném řádku by měly být všechny hodnoty sloupců prázdné s výjimkou hodnoty SalesOrderLineNumber.

Krok 2: Vytvoření kontingenční tabulky

Vytvořte novou kontingenční tabulku a přetáhněte sloupec datetime. [Kalendářní rok] do podokna Popisky řádků. V následující tabulce jsou uvedeny očekávané výsledky:

Popisky řádků
2005
2006
2007
2008
Celkový součet

Všimněte si prázdného popisku mezi 2008 a celkovým součtem. Tento prázdný popisek představuje neznámý člen, což je zvláštní skupina, která je vytvořena pro všechny hodnoty v podřízené tabulce, které nemají v nadřazené tabulce žádnou odpovídající hodnotu, v tomto příkladu datetime. Sloupec [Calendar Year] (Kalendářní rok).

Když se v kontingenční tabulce zobrazí tento prázdný popisek, víte, že v některých tabulkách souvisejících se sloupcem datetime. [Kalendářní rok], jsou buď prázdné hodnoty, nebo neodpovídající hodnoty. Nadřazená tabulka je tabulka, která zobrazuje prázdný popisek, ale řádky, které se neshodují, jsou v jedné nebo více podřízených tabulkách.

Řádky přidané do této prázdné skupiny popisků jsou buď hodnoty, které neodpovídají žádné hodnotě v nadřazené tabulce– například datum, které v tabulce datetime neexistuje, nebo hodnoty null, což znamená, že žádná hodnota pro datum vůbec neexistuje. V tomto příkladu jsme umístili prázdnou hodnotu do všech sloupců podřízené tabulky prodejů. Více hodnot v nadřazené tabulce než v podřízených tabulkách nezpůsobuje problém.

Krok 3: Počítání řádků pomocí ALL a ALLNOBLANK

Přidejte do tabulky datetime následující dvě míry pro počítání řádků tabulky: Countrows ALLNOBLANK of datetime, Countrows ALL of datetime. Vzorce, které můžete použít k definování těchto měr, jsou:

// 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'))  

Do prázdné kontingenční tabulky přidejte datum a čas. Sloupec [Calendar Year] (Rok kalendáře) do popisků řádků a pak přidejte nově vytvořené míry. Výsledky by měly vypadat jako v následující tabulce:

Popisky řádků Countrows ALLNOBLANK of datetime Countrows ALL of datetime
2005 1280 1281
2006 1280 1281
2007 1280 1281
2008 1280 1281
1280 1281
Celkový součet 1280 1281

Výsledky ukazují rozdíl 1 řádku v počtu řádků tabulky. Pokud ale otevřete okno Power Pivotu a vyberete tabulku datetime, nemůžete v tabulce najít žádný prázdný řádek, protože speciální prázdný řádek uvedený zde je neznámý člen.

Krok 4: Ověření správnosti počtu

Aby bylo možné prokázat, že ALLNOBLANKROW nepočítá žádné skutečně prázdné řádky a zpracovává pouze speciální prázdný řádek pouze v nadřazené tabulce, přidejte do tabulky ResellerSales_USD následující dvě míry: Countrows ALLNOBLANKROW of ResellerSales_USD, Countrows ALL of ResellerSales_USD.

Vytvořte novou kontingenční tabulku a přetáhněte sloupec datetime. [Kalendářní rok] do podokna Popisky řádků. Teď přidejte míry, které jste právě vytvořili. Výsledky by měly vypadat takto:

Popisky řádků Countrows ALLNOBLANKROW of ResellerSales_USD Countrows ALL of ResellerSales_USD
2005 60856 60856
2006 60856 60856
2007 60856 60856
2008 60856 60856
60856 60856
Celkový součet 60856 60856

Obě míry teď mají stejné výsledky. Je to proto, že funkce ALLNOBLANKROW nepočítá skutečně prázdné řádky v tabulce, ale zpracovává pouze prázdný řádek, který je speciální případ vygenerovaný v nadřazené tabulce, když jedna nebo více podřízených tabulek v relaci obsahuje neodpovídající hodnoty nebo prázdné hodnoty.

Funkce filtru
ALL
FILTER