ALLSELECTED

Odebere kontextové filtry ze sloupců a řádků v aktuálním dotazu a zachová všechny ostatní kontextové nebo explicitní filtry.

Funkce ALLSELECTED získá kontext, který představuje všechny řádky a sloupce v dotazu, a přitom zachová jiné explicitní filtry a kontexty, než jsou filtry řádků a sloupců. Tato funkce se dá použít k získání vizuálních souhrnů v dotazech.

Syntaxe

ALLSELECTED([<tableName> | <columnName>[, <columnName>[, <columnName>[,…]]]] )

Parametry

Pojem Definice
tableName Název existující tabulky pomocí standardní syntaxe jazyka DAX. Tento parametr nemůže být výraz. Tento parametr je volitelný.
columnName Název existujícího sloupce pomocí standardní syntaxe jazyka DAX, obvykle plně kvalifikovaný. Nemůže se jednat o výraz. Tento parametr je volitelný.

Vrácená hodnota

Kontext dotazu bez jakýchkoli filtrů sloupců a řádků.

Poznámky

  • Pokud existuje jeden argument, jedná se buď o argument tableName, nebo columnName. Pokud existuje více než jeden argument, musí se jednat o sloupce ze stejné tabulky.

  • Tato funkce je odlišná od funkce ALL(), protože zachovává všechny filtry explicitně nastavené v rámci dotazu a uchovává všechny kontextové filtry, než jsou filtry řádků a sloupců.

  • Když se tato funkce používá v počítaných sloupcích nebo v pravidlech zabezpečení na úrovni řádků (RLS), její využití v režimu DirectQuery se nepodporuje.

Příklad

Následující příklad ukazuje, jak generovat různé úrovně vizuálních souhrnů v sestavě tabulky pomocí výrazů DAX. V sestavě 2 byly předchozí filtry použity u dat Reseller Sales; jeden u Sales Territory Group = Europe a druhý u Promotion Type = Volume Discount. Po použití filtrů je možné vizuální souhrny vypočítat pro celou sestavu, pro část All Years nebo pro část All Product Categories. Pro ilustraci je také uveden celkový součet pro All Reseller Sales a ze sestavy byly odebrány všechny filtry. Vyhodnocením následujícího výrazu DAX vznikne tabulka s informacemi, které jsou potřeba k vytvoření tabulky s vizuálními souhrny.

define  
measure 'Reseller Sales'[Reseller Sales Amount]=sum('Reseller Sales'[Sales Amount])  
measure 'Reseller Sales'[Reseller Grand Total]=calculate(sum('Reseller Sales'[Sales Amount]), ALL('Reseller Sales'))  
measure 'Reseller Sales'[Reseller Visual Total]=calculate(sum('Reseller Sales'[Sales Amount]), ALLSELECTED())  
measure 'Reseller Sales'[Reseller Visual Total for All of Calendar Year]=calculate(sum('Reseller Sales'[Sales Amount]), ALLSELECTED('Date'[Calendar Year]))  
measure 'Reseller Sales'[Reseller Visual Total for All of Product Category Name]=calculate(sum('Reseller Sales'[Sales Amount]), ALLSELECTED('Product Category'[Product Category Name]))  
evaluate  
CalculateTable(  
    //CT table expression  
    summarize(
//summarize table expression  
crossjoin(distinct('Product Category'[Product Category Name]), distinct('Date'[Calendar Year]))  
//First Group by expression  
, 'Product Category'[Product Category Name]  
//Second Group by expression  
, 'Date'[Calendar Year]  
//Summary expressions  
, "Reseller Sales Amount", [Reseller Sales Amount]  
, "Reseller Grand Total", [Reseller Grand Total]  
, "Reseller Visual Total", [Reseller Visual Total]  
, "Reseller Visual Total for All of Calendar Year", [Reseller Visual Total for All of Calendar Year]  
, "Reseller Visual Total for All of Product Category Name", [Reseller Visual Total for All of Product Category Name]  
)  
//CT filters  
, 'Sales Territory'[Sales Territory Group]="Europe", 'Promotion'[Promotion Type]="Volume Discount"  
)  
order by [Product Category Name], [Calendar Year]  

Po spuštění uvedeného výrazu v sadě SQL Server Management Studio u tabulkového modelu DW AdventureWorks získáte následující výsledky:

[Product Category Name] [Calendar Year] [Reseller Sales Amount] [Reseller Grand Total] [Reseller Visual Total] [Reseller Visual Total for All of Calendar Year] [Reseller Visual Total for All of Product Category Name]
Accessories 2000 80 450 596,9823 877 006,7987 38 786,018
Accessories 2001 80 450 596,9823 877 006,7987 38 786,018
Accessories 2002 625,7933 80 450 596,9823 877 006,7987 38 786,018 91 495,3104
Accessories 2003 26 037,3132 80 450 596,9823 877 006,7987 38 786,018 572 927,0136
Accessories 2004 12 122,9115 80 450 596,9823 877 006,7987 38 786,018 212 584,4747
Accessories 2005 80 450 596,9823 877 006,7987 38 786,018
Accessories 2006 80 450 596,9823 877 006,7987 38 786,018
Bikes 2000 80 450 596,9823 877 006,7987 689 287,7939
Bikes 2001 80 450 596,9823 877 006,7987 689 287,7939
Bikes 2002 73 778,938 80 450 596,9823 877 006,7987 689 287,7939 91 495,3104
Bikes 2003 439 771,4136 80 450 596,9823 877 006,7987 689 287,7939 572 927,0136
Bikes 2004 175 737,4423 80 450 596,9823 877 006,7987 689 287,7939 212 584,4747
Bikes 2005 80 450 596,9823 877 006,7987 689 287,7939
Bikes 2006 80 450 596,9823 877 006,7987 689 287,7939
Clothing 2000 80 450 596,9823 877 006,7987 95 090,7757
Clothing 2001 80 450 596,9823 877 006,7987 95 090,7757
Clothing 2002 12 132,4334 80 450 596,9823 877 006,7987 95 090,7757 91 495,3104
Clothing 2003 58 234,2214 80 450 596,9823 877 006,7987 95 090,7757 572 927,0136
Clothing 2004 24 724,1209 80 450 596,9823 877 006,7987 95 090,7757 212 584,4747
Clothing 2005 80 450 596,9823 877 006,7987 95 090,7757
Clothing 2006 80 450 596,9823 877 006,7987 95 090,7757
Komponenty 2000 80 450 596,9823 877 006,7987 53 842,2111
Komponenty 2001 80 450 596,9823 877 006,7987 53 842,2111
Komponenty 2002 4 958,1457 80 450 596,9823 877 006,7987 53 842,2111 91 495,3104
Komponenty 2003 48 884,0654 80 450 596,9823 877 006,7987 53 842,2111 572 927,0136
Komponenty 2004 80 450 596,9823 877 006,7987 53 842,2111 212 584,4747
Komponenty 2005 80 450 596,9823 877 006,7987 53 842,2111
Komponenty 2006 80 450 596,9823 877 006,7987 53 842,2111

Sloupce v sestavě jsou tyto:

Reseller Sales Amount
Skutečná hodnota Reseller Sales pro rok a kategorii produktu. Tato hodnota se zobrazí v buňce uprostřed sestavy v průniku roku a kategorie.

Reseller Visual Total for All of Calendar Year
Celková hodnota pro kategorii produktu za všechny roky. Tato hodnota se zobrazí na konci sloupce nebo řádku pro danou kategorii produktu a za všechny roky v sestavě.

Reseller Visual Total for All of Product Category Name
Celková hodnota pro rok pro všechny kategorie produktů. Tato hodnota se zobrazí na konci sloupce nebo řádku pro daný rok a pro všechny kategorie produktů v sestavě.

Reseller Visual Total
Celková hodnota pro všechny roky a kategorie produktů. Tato hodnota se obvykle zobrazí v tabulce úplně vpravo dole.

Reseller Grand Total
Toto je celkový součet veškerého prodeje u prodejců před použitím filtru; všimněte si rozdílu oproti [Reseller Visual Total]. Pamatujte si, že tato sestava zahrnuje dva filtry – jeden u položky Product Category Group a druhý v části Promotion Type.

Poznámka

Pokud výraz obsahuje explicitní filtry, použijí se u výrazu také tyto filtry.