Práce s chováním filtru hodnot (Preview)
Možnosti chování filtru hodnot v Power BI umožňují ovlivnit mechanismus automatického filtrování v jazyce DAX, ke kterému dochází při filtrování více sloupců ze stejné tabulky. Toto chování se neformálně nazývá "auto-exist".
Co je chování filtru hodnot
Pokud je filtrováno více sloupců ze stejné tabulky, jazyk DAX chápe, že pravděpodobně nejsou všechny kombinace hodnot v těchto sloupcích platné a v důsledku toho automaticky vyloučí neplatné kombinace. Modul DAX vygeneroval filtr sloučených hodnot, který nejen vrací platné kombinace, ale také ovlivňuje měřené výpočty. Nastavení chování filtru hodnot umožňuje změnit toto chování v sémantickém modelu. Můžete se rozhodnout, jestli chcete vypnout filtry sloučených hodnot a místo toho zapnout nezávislé filtry hodnot. Zapnutí nezávislých filtrů hodnot nastavením nastavení chování filtru hodnot na Nezávislé (viz dále v tomto článku) vede k tomu, že se více filtrů ve stejné tabulce uchovává odděleně místo toho, aby modul DAX tyto filtry zkombinoval do jedné.
Principy chování filtru hodnot
Když filtrujete více sloupců ve stejné tabulce, aktuální výchozí chování filtru hodnot vezme tyto filtry a zkombinuje je do jednoho, přičemž zvažují pouze kombinace, které existují. Vezměte v úvahu následující dva sloupce ve stejné tabulce:
- Rok, který obsahuje hodnoty jako "2023".
- Měsíc, který obsahuje hodnoty jako Leden 2024.
Pokud filtrujete podle roku i měsíce, protože tyto sloupce jsou ve stejné tabulce, chování filtru hodnot kombinuje filtry do jedné, ale považují se pouze za kombinace, které existují. Kombinace měsíce leden 2024 s rokem 2023 neexistuje a nebyla by zahrnuta do filtru. Existují však situace, kdy jsou výsledky překvapivý.
Podívejme se na příklad, kde máme katalog zobrazující dostupnost barev pro produkty podle roku. Výrobce těchto produktů experimentoval s výrobou produktů v různých barvách v průběhu let:
Máme tři produkty, které byly v průběhu let k dispozici v různých barvách. Všimněte si, že v roce 2024 nejsou k dispozici žádné červené produkty. O něco později to bude důležité. Teď spočítáme počet produktů přidáním následující míry:
Number of Products = COUNTROWS( 'Catalog' )`
Následující matice ukazuje počet produktů, které jsou k dispozici v různých barvách za rok:
Teď přidáme další míru pro výpočet celkového počtu produktů pro všechny roky:
Number of Products All Years = CALCULATE ( [Number of Products], ALL ( 'Catalog'[Year] ) )
Pojďme tyto míry umístit vedle sebe a filtrovat na rok 2023 a jenom modré a červené barvy (takže ne černá). Můžete vidět, že počet produktů je 4 a počet produktů za všechny roky pro tyto dvě barvy je 6:
Pokud přepneme rok na rok 2024, očekáváme, že míra Počet produktů vrátí hodnotu 2, protože v roce 2024 jsou modré pouze dva produkty a v daném roce nejsou žádné červené produkty. Nad tím bychom očekávali, že se počet produktů pro všechny roky nezmění, protože po všech letech se má vypočítat ve všech letech. Počet produktů pro všechny roky se ale změní z 6 na 5:
Počet produktů za všechny roky by měl být stále 6, nikoli 5. Tady vidíme chování filtru hodnot v akci: kombinuje filtry ve stejné tabulce a odebírá kombinace, které neexistovaly. Filtry jsou Year = 2024 a Color = Modrá nebo Červená. Vzhledem k tomu, že tyto dva filtry jsou ve stejné tabulce, jsou tyto filtry sloučeny do jednoho filtru, který filtruje pouze pro existující kombinace. Vzhledem k tomu, že v roce 2024 nejsou žádné červené produkty, použitý filtr je Year = 2024 a Color = Modrá. Proto počet produktů pro všechny roky nyní počítá pouze počet modrých produktů, ne modré nebo červené produkty. Vrátí hodnotu 5, protože ji můžete potvrdit v tabulce.
Ovlivnění chování filtru hodnot
Pomocí nastavení chování filtru hodnot v sémantickém modelu v podokně vlastností v zobrazení modelu můžete určit, jestli chcete toto chování použít v sémantickém modelu:
K dispozici jsou tři možnosti:
- Automaticky – Toto je výchozí nastavení a aktuálně se zapne chování coalesced. Když tuto verzi Preview zabalíme, budou nové modely nastavené na Automatické používat nezávislé. V tuto chvíli budou oznámeny.
- Nezávislé – to vynutí, aby filtry na stejné tabulce byly odděleny. Po nastavení chování filtru hodnot na Hodnotu Nezávislé vrátí celkový počet produktů pro všechny roky 6 podle očekávání (viz níže).
- Coalesced – To vynutí povolení chování filtru hodnot pro sémantický model a výsledkem je kombinování filtrů ve stejné tabulce do jedné. Počet produktů pro všechny roky v našem příkladu se i nadále vrací na 5.
Následující tabulka ukazuje účinek tohoto nastavení na náš příklad:
Nastavení chování filtru hodnot | Filtry použité v příkladu | Výsledek příkladného měření |
---|---|---|
Automatický | Rok = 2024, Barva = modrá |
5 |
Nezávislý | Rok = 2024, Barva = modrá nebo červená |
6 |
Splynulý | Rok = 2024, Barva = modrá |
5 |
Nastavení chování filtru hodnot na hodnotu Automatic (Automatické) znamená, že se prozatím rovná funkci Coalesced, ale v budoucnu se pro nové sémantické modely přepne na Nezávislá. Pokud nastavíte chování filtru hodnoty na Nezávislé, počet produktů pro všechny vrátí 6 podle očekávání, protože filtry jsou Year = 2024 a Color = Modrá nebo Červená a už nejsou sloučeny:
Další kroky
Následující články můžou být užitečné: