ALLNOBLANKROW

Vzťahuje sa na:Vypočítaný stĺpecVypočítaná tabuľkaVýpočet vizuálu mierky

Z nadradenej tabuľky vzťahu vráti všetky riadky okrem prázdneho riadka alebo všetky odlišné hodnoty stĺpca, okrem prázdneho riadka, a nezohľadňuje žiadne kontextové filtre, ktoré môžu existovať.

Syntax

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

Parametre

Obdobie Definícia
table Tabuľka, pre ktorú sa odstránia všetky kontextové filtre.
stĺpec Stĺpec, pre ktorý sa odstránia všetky kontextové filtre.

Musí sa odovzdať iba jeden parameter. parameter je buď tabuľka, alebo stĺpec.

Vrátená hodnota

Tabuľka, v prípade, že odoslaný parameter bol tabuľkou alebo stĺpcom hodnôt, keď odoslaný parameter bol stĺpec.

Poznámky

  • Funkcia ALLNOBLANKROW odfiltruje iba prázdny riadok, ktorý sa zobrazí v nadradenej tabuľke vo vzťahu, keď v podradenej tabuľke existuje jeden alebo viac riadkov, ktoré majú nezhodné hodnoty s nadradeným stĺpcom. Podrobné vysvetlenie nájdete v príklade nižšie.

  • V nasledujúcej tabuľke sú zhrnuté variácie funkcií ALL, ktoré sú uvedené v jazyku DAX, a ich rozdiely:

    Funkcia a použitie Description
    ALL(stĺpec) Odstráni všetky filtre zo zadaného stĺpca v tabuľke; stále však budú použité všetky ostatné filtre v tabuľke, v ostatných stĺpcoch.
    ALL(tabuľka) Odstráni všetky filtre zo zadanej tabuľky.
    ALLEXCEPT(tabuľka, stĺpec1, stĺpec2...) Prepíše všetky kontextové filtre v tabuľke okrem zadaných stĺpcov.
    ALLNOBLANK(table|column) Z nadradenej tabuľky vzťahu vráti všetky riadky okrem prázdneho riadka alebo všetky odlišné hodnoty stĺpca okrem prázdneho riadka a nezohľadňuje žiadne kontextové filtre, ktoré môžu existovať.

    Všeobecný popis spôsobu fungovania funkcie ALL spolu s postupnými príkladmi, ktoré používajú funkcie ALL(tabuľka) a ALL(stĺpec), nájdete v téme Funkcia ALL.

  • Táto funkcia nie je podporovaná na použitie v režime DirectQuery, keď sa používa vo vypočítaných stĺpcoch alebo v pravidlách zabezpečenia na úrovni riadkov (RLS).

Príklad

Vo vzorových údajoch tabuľka ResellerSales_USD obsahuje jeden riadok, ktorý nemá žiadne hodnoty, a preto nemôže súvisieť so žiadnou z nadradených tabuliek, s ktorými je vo vzťahu v rámci zošita. Túto tabuľku použijete v kontingenčnej tabuľke, aby ste mohli vidieť správanie sa prázdneho riadka a spôsob narábania s počtami nesúvisiacich údajov.

Krok č. 1: Overenie nesúvisiacich údajov

Otvorte okno Power Pivot a potom vyberte tabuľku ResellerSales_USD. V stĺpci ProductKey vykonajte filtrovanie pre prázdne hodnoty. Ostane jeden riadok. V tomto riadku by mali byť všetky hodnoty stĺpca prázdne, okrem SalesOrderLineNumber.

Krok č. 2: Vytvorenie kontingenčnej tabuľky

Vytvorte novú kontingenčnú tabuľku a potom presuňte stĺpec Datetime. [Kalendárny rok] na tablu Označenie riadkov. V nasledujúcej tabuľke sú uvedené očakávané výsledky:

Označenia riadkov
2005
2006
2007
2008
Celkový súčet

Všimnite si prázdne označenie medzi 2008 a Celkový súčet. Toto prázdne označenie predstavuje neznámy člen, ktorý je špeciálnou skupinou, ktorá sa vytvorila pre všetky hodnoty v podradenej tabuľke, ktoré nemajú žiadnu zodpovedajúcu hodnotu v nadradenej tabuľke, v tomto príklade hodnotu datetime. [Kalendárny rok] stĺpec.

Keď sa v kontingenčnej tabuľke zobrazí toto prázdne označenie, viete, že v niektorých tabuľkách, ktoré súvisia so stĺpcom datetime. [Kalendárny rok] existujú buď prázdne hodnoty, alebo nezodpovedaujúce hodnoty. Nadradená tabuľka je tá, ktorá zobrazuje prázdne označenie, ale riadky, ktoré sa nezhodujú, sa nachádzajú v jednej alebo viacerých podradených tabuľkách.

Riadky, ktoré sa pridajú do tejto prázdnej skupiny označení, sú buď hodnoty, ktoré nezodpovedajú žiadnej hodnote v nadradenej tabuľke, napríklad dátum, ktorý neexistuje v tabuľke datetime alebo hodnoty null, čo znamená, že pre dátum nie je k dispozícii vôbec žiadna hodnota. V tomto príklade sme umiestnili prázdnu hodnotu do všetkých stĺpcov podradenej tabuľky predaja. Ak je viac hodnôt v nadradenej tabuľke ako v poddeľových tabuľkách, nespôsobuje to žiadny problém.

Krok č. 3: Spočítanie riadkov pomocou funkcie ALL a ALLNOBLANK

Nasledujúce dve mierky pridajte do tabuľky datetime na spočítanie riadkov tabuľky: Countrows ALLNOBLANK tabuľky datetime, Countrows ALL tabuľky datetime. Vzorce, ktoré môžete použiť na definovanie týchto mierok, sú:

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

V prázdnej kontingenčnej tabuľke pridajte hodnotu datetime. [Kalendárny rok] stĺpec k označeniam riadkov a potom pridajte novovytvorené mierky. Výsledky by mali vyzerať ako v nasledujúcej tabuľke:

Označenia riadkov Countrows ALLNOBLANK tabuľky datetime Countrows ALL tabuľky datetime
2005 1280 1281
2006 1280 1281
2007 1280 1281
2008 1280 1281
1280 1281
Celkový súčet 1280 1281

Výsledky zobrazujú v počte riadkov tabuľky rozdiel 1 riadka. Ak však otvoríte okno Power Pivot a vyberiete tabuľku datetime, nemôžete v tabuľke nájsť žiadny prázdny riadok, pretože tu uvedený špeciálny prázdny riadok je neznámy člen.

Krok č. 4: Kontrola, či je počet presný

Ak chcete dokázať, že funkcia ALLNOBLANKROW nezapočítava žiadne skutočne prázdne riadky a spracováva len špeciálny prázdny riadok iba v nadradenej tabuľke, pridajte do ResellerSales_USD tabuľky nasledujúce dve mierky: Countrows ALLNOBLANKROW tabuľky ResellerSales_USD, Countrows ALL tabuľky ResellerSales_USD.

Vytvorte novú kontingenčnú tabuľku a presuňte stĺpec Datetime. [Kalendárny rok] na tablu Označenie riadkov. Teraz pridajte mierky, ktoré ste práve vytvorili. Výsledky by mali vyzerať približne takto:

Označenia riadkov Countrows ALLNOBLANKROW zo ResellerSales_USD Countrows ALL of ResellerSales_USD
2005 60856 60856
2006 60856 60856
2007 60856 60856
2008 60856 60856
60856 60856
Celkový súčet 60856 60856

Teraz majú tieto dve mierky rovnaké výsledky. Dôvodom je, že funkcia ALLNOBLANKROW nezapočítava v tabuľke naozaj prázdne riadky, ale spracováva iba prázdny riadok, ktorý je špeciálnym prípadom vygenerovaným v nadradenej tabuľke, keď jedna alebo viac podradených tabuliek vo vzťahu obsahuje nezhodné hodnoty alebo prázdne hodnoty.

Funkcie filtrovania
Funkcia ALL
Funkcia FILTER