ALLEXCEPT
Platí pro: Výpočet počítané tabulky Počítaná tabulka Výpočet vizuálu
Odebere všechny kontextové filtry v tabulce s výjimkou filtrů použitých pro zadané sloupce.
Syntaxe
ALLEXCEPT(<table>,<column>[,<column>[,…]])
Parametry
Pojem | definice |
---|---|
table | Tabulka, ve které jsou odebrány všechny kontextové filtry, s výjimkou filtrů u sloupců zadaných v následujících argumentech. |
column | Sloupec, pro který se musí zachovat kontextové filtry. |
Prvním argumentem funkce ALLEXCEPT musí být odkaz na základní tabulku. Všechny následující argumenty musí být odkazy na základní sloupce. S funkcí ALLEXCEPT nelze použít výrazy tabulky ani výrazy sloupců.
Vrácená hodnota
Tabulka se všemi odebranými filtry s výjimkou filtrů v zadaných sloupcích.
Poznámky
Tato funkce se nepoužívá sama o sobě, ale slouží jako zprostředkující funkce, která se dá použít ke změně sady výsledků, u kterých se provádí jiný výpočet.
ALL a ALLEXCEPT lze použít v různých scénářích:
Funkce a využití Popis ALL(tabulka) Odebere všechny filtry ze zadané tabulky. Funkce ALL(Table) vrátí všechny hodnoty v tabulce a odebere všechny filtry z kontextu, které by jinak mohly být použity. Tato funkce je užitečná při práci s mnoha úrovněmi seskupení a chcete vytvořit výpočet, který vytvoří poměr agregované hodnoty k celkové hodnotě. ALL (Sloupec[, Sloupec[; ...]]) Odebere všechny filtry ze zadaných sloupců v tabulce; všechny ostatní filtry pro ostatní sloupce v tabulce stále platí. 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 zachovat všechny ostatní kontextové filtry. ALLEXCEPT(Tabulka; Sloupec1 [;Sloupec2]...) Odebere všechny kontextové filtry v tabulce s výjimkou filtrů použitých pro zadané sloupce. Toto je praktická zkratka pro situace, kdy chcete odebrat filtry pro mnoho, ale ne všechny sloupce v tabulce. 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
Následující vzorec míry sečte SalesAmount_USD a pomocí funkce ALLEXCEPT odebere všechny kontextové filtry v tabulce DateTime s výjimkou případu, kdy byl filtr použit ve sloupci CalendarYear.
= CALCULATE(SUM(ResellerSales_USD[SalesAmount_USD]), ALLEXCEPT(DateTime, DateTime[CalendarYear]))
Vzhledem k tomu, že vzorec používá funkci ALLEXCEPT, pokaždé, když se k průřezu vizualizace použije libovolný sloupec, ale CalendarYear z tabulky DateTime, vzorec odebere všechny filtry průřezů a poskytne hodnotu rovnou součtu SalesAmount_USD. Pokud se ale sloupec CalendarYear používá k průřezu vizualizace, výsledky se liší. Vzhledem k tomu, že funkce CalendarYear je určena jako argument funkce ALLEXCEPT, použije se při průřezu dat v roce filtr pro roky na úrovni řádků.