ALLEXCEPT
Odebere všechny kontextové filtry v tabulce s výjimkou filtrů, které byly použity na zadané sloupce.
Syntaxe
ALLEXCEPT(<table>,<column>[,<column>[,…]])
Parametry
Pojem | Definice |
---|---|
table | Tabulka, u které se odeberou všechny kontextové filtry s výjimkou filtrů u sloupců, které jsou zadány v následujících argumentech. |
sloupec | Sloupec, pro který se musí zachovat kontextové filtry |
Prvním argumentem funkce ALLEXCEPT musí být odkaz na základní tabulku. Všechny následné argumenty musí odkazovat na základní sloupce. S funkcí ALLEXCEPT nelze používat výrazy tabulky ani sloupce.
Vrácená hodnota
Tabulka se všemi odebranými filtry s výjimkou filtrů u zadaných sloupců
Poznámky
Tato funkce se nepoužívá samostatně, ale slouží jako přechodová funkce, kterou můžete použít ke změně sady výsledků, s kterými se provádí jiné výpočty.
FUNKCE ALL a ALLEXCEPT je možné použít v různých scénářích:
Funkce a použití Description ALL(Table) Odebere všechny filtry z určené tabulky. V důsledku toho funkce ALL(Tabulka) vrátí všechny hodnoty v tabulce a odebere všechny filtry z kontextu, které by se jinak mohly použít. Tato funkce je užitečná, pokud pracujete s mnoha úrovněmi seskupení a chcete vytvořit výpočet, který vytvoří poměr agregované hodnoty k celkové hodnotě. ALL (Column[; Column[; …]]) Odebere všechny filtry z určených sloupců v tabulce; všechny ostatní filtry u ostatních sloupců v tabulce zůstanou stále v platnosti. Všechny argumenty sloupců musí pocházet ze stejné tabulky. Varianta ALL(Column) je užitečná, když chcete odebrat kontextové filtry pro jeden nebo více konkrétních sloupců a všechny ostatní kontextové filtry zachovat. ALLEXCEPT(Table; Column1 [;Column2]...) Odebere všechny kontextové filtry v tabulce s výjimkou filtrů, které jsou použity u zadaných sloupců. Toto je praktická funkce pro situace, kdy chcete odebrat filtry z mnoha, ale ne všech sloupců v tabulce. 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í vzorec míry sečte SalesAmount_USD funkci ALLEXCEPT k odebrání všech kontextových filtrů v tabulce DateTime s výjimkou případů, kdy byl filtr použit na sloupec CalendarYear.
= CALCULATE(SUM(ResellerSales_USD[SalesAmount_USD]), ALLEXCEPT(DateTime, DateTime[CalendarYear]))
Vzhledem k tomu, že vzorec používá FUNKCI ALLEXCEPT, kdykoli se k vytvoření řezu vizualizace použije libovolný sloupec s hodnotou CalendarYear z tabulky DateTime, vzorec odebere všechny filtry průřezů a poskytne hodnotu, která se rovná součtu SalesAmount_USD. Pokud se ale sloupec CalendarYear používá k průřezu vizualizace, výsledky se liší. Vzhledem k tomu, že sloupec CalendarYear je zadán jako argument funkce ALLEXCEPT, při průřezu dat v roce se použije filtr pro roky na úrovni řádku.