Zdieľať cez


Práca so správaním filtra hodnoty (Ukážka)

Možnosti správania filtra hodnoty v službe Power BI umožňujú ovplyvniť mechanizmus automatického filtrovania, ktorý sa nachádza v jazyku DAX, keď sa filtrujú viaceré stĺpce z rovnakej tabuľky. Toto správanie sa neformálne nazýva auto-exist.

Čo je správanie filtra hodnoty

Keď sa filtrujú viaceré stĺpce z tej istej tabuľky, DAX rozumie, že pravdepodobne nie všetky kombinácie hodnôt v rámci týchto stĺpcov sú platné, a preto automaticky vylúči neplatné kombinácie. Nástroj DAX vygeneroval filter s uhoľnou hodnotou, ktorý vracia nielen platné kombinácie, ale tiež ovplyvňuje merané výpočty. Nastavenie správania filtra hodnôt umožňuje zmeniť toto správanie v sémantickom modeli. Môžete sa rozhodnúť, či chcete vypnúť filtrovanie uhoľných hodnôt a namiesto toho zapnúť nezávislé filtre hodnôt. Zapnutie nezávislých filtrov hodnôt nastavením nastavenia správania filtra hodnoty na možnosť Nezávislé (pozri ďalej v tomto článku) má za následok, že viaceré filtre v tej istej tabuľke budú oddelené a nie keď nástroj DAX kombinuje tieto filtre do jedného.

Pochopenie správania filtra hodnoty

Keď filtrujete viacero stĺpcov v tej istej tabuľke, filter aktuálnej predvolenej hodnoty použije tieto filtre a skombinuje ich do jedného s ohľadom na existujúce kombinácie. Predstavte si nasledujúce dva stĺpce v tej istej tabuľke:

  • Year, ktorá obsahuje hodnoty ako "2023".
  • Month, ktorá obsahuje hodnoty ako január 2024.

Ak filtrujete podľa roku aj mesiaca, keďže tieto stĺpce sa nachádzajú v tej istej tabuľke, filtrovanie hodnôt kombinuje filtre do jednej, ale zohľadňujú sa iba existujúce kombinácie. Kombinácia mesiaca január 2024 s rokom 2023 neexistuje a nebude zahrnutá vo filtri. Existujú však situácie, v ktorých sú výsledky prekvapujúce.

Pozrime sa na príklad, v ktorom máme katalóg zobrazujúci dostupnosť farieb pre produkty podľa rokov. Výrobca týchto produktov experimentoval s výrobou produktov v rôznych farbách po celé roky:

Snímka obrazovky tabuľky zobrazujúca farby produktov v rámci rokov 2022 až 2024.

Máme tri produkty, ktoré boli v priebehu rokov k dispozícii v rôznych farbách. Všimnite si, že v roku 2024 sa neponúkajú žiadne červené produkty. To bude dôležité o niečo neskôr. Teraz spočítame počet produktov pridaním nasledujúcej mierky:

Number of Products = COUNTROWS( 'Catalog' )`

Nasledujúca matica zobrazuje počet produktov, ktoré sú k dispozícii v rôznych farbách za rok: Snímka obrazovky matice zobrazujúca počet produktov podľa rokov a farieb.

Teraz pridajme ďalšiu mierku, ktorá vypočíta celkový počet produktov za všetky roky:

Number of Products All Years = CALCULATE ( [Number of Products], ALL ( 'Catalog'[Year] ) )

Tieto miery umiestnite vedľa seba a vyfiltrujme na rok 2023 a len modrú a červenú farbu (takže žiadna čierna). Môžete vidieť, že počet produktov je 4 a počet produktov v rámci všetkých rokov pre tieto dve farby je 6:

Snímka obrazovky tabuľky zobrazujúca rok, produkt a farbu. K dispozícii sú dva rýchle filtre, jeden nastavený na Year equals 2023 (Rok rovná sa 2023) a jeden na Color (Farba) rovná sa modrej a červenej. Mierka Number of Products vráti hodnotu 4 a mierka Number of Products All Years vráti hodnotu 6.

Ak prejdeme na rok 2024, očakávame, že mierka Počet produktov vráti hodnotu 2, keďže v roku 2024 sú modré len dva produkty a v danom roku nebudú žiadne červené produkty. Navyše by sme očakávali, že počet produktov za všetky roky sa nezmení, pretože koniec koncov, mal by sa vypočítať vo všetkých rokoch. Počet produktov pre všetky roky sa však zmení zo 6 na 5:

Snímka obrazovky tabuľky zobrazujúca rok, produkt a farbu. Existujú dva rýchle filtre, jeden nastavený na Year equals 2024 (Rok rovná sa 2024) a jeden na Color (Farba) rovná sa modrej a červenej. Mierka Number of Products vráti hodnotu 2 a mierka Počet produktov všetkých rokov vráti hodnotu 5.

Počet produktov počas všetkých rokov by mal byť stále 6, nie 5. Na tomto mieste vidíme správanie filtra hodnôt v akcii: kombinuje filtre v tej istej tabuľke a odstraňuje kombinácie, ktoré neexistovali. Filtre sú Year = 2024 a Color = Modrá alebo Červená. Keďže tieto dva filtre sú v tej istej tabuľke, tieto filtre sa skombinujú do jedného filtra, ktorý filtruje len existujúce kombinácie. Keďže v roku 2024 neexistujú žiadne červené produkty, použitý filter je Year = 2024 a Color = Blue. Preto počet produktov pre všetky roky teraz počíta len počet modrých produktov, nie modrých alebo červených produktov. Vráti sa číslo 5, ktoré môžete potvrdiť v tabuľke.

Vplývanie na správanie filtra hodnôt

Pomocou nastavenia filtra Hodnota v sémantickom modeli v sémantickom modeli môžete ovládať, či chcete toto správanie dosiahnuť, a to pomocou nastavenia filtra Hodnoty v sémantickom modeli na table Vlastnosti v zobrazení modelu:

Snímka obrazovky tably Vlastnosti v zobrazení modelu. Možnosti správania filtra hodnoty sú zvýraznené.

K dispozícii sú tri možnosti:

  • Automatické – toto je predvolené nastavenie, ktoré v súčasnosti zapne coalesced správanie. Keď túto ukážku uzavrieme, nové modely nastavené na možnosť Automatické budú používať nezávislé a v danom čase budú oznámené.
  • Nezávislé – to vynúti, aby filtre v rovnakej tabuľke boli oddelené. Po nastavení nastavenia Správanie filtra hodnoty na možnosť Independent vráti celkový počet produktov za všetky roky hodnotu 6 podľa očakávania (pozri nižšie).
  • Coalesced – spôsobuje to, že správanie filtra hodnoty sa povolí pre sémantický model a výsledkom je kombinácia filtrov v tej istej tabuľke do jednej. Počet produktov za všetky roky sa v našom príklade bude naďalej vracať na hodnotu 5.

Nasledujúca tabuľka ukazuje efekt tohto nastavenia na náš príklad:

Nastavenie správania filtra hodnoty Filtre použité v príklade Výsledok vzorovej mierky
Automatický Rok = 2024,
Farba = Modrá
5
Nezávislý Rok = 2024,
Farba = modrá alebo červená
6
Coalesced Rok = 2024,
Farba = Modrá
5

Nastavenie správania filtra Hodnota na automatické, znamená, že sa rovná Coalesced pre túto chvíľu, ale v budúcnosti sa prepne na nezávislé pre nové sémantické modely. Ak nastavíte správanie filtra Hodnota na možnosť Nezávislé, počet produktov pre všetky vráti hodnotu 6, pretože filtre sú Year = 2024 a Color = Blue alebo Red a už sa nebudú kombinovať:

Snímka obrazovky tabuľky zobrazujúca rok, produkt a farbu. Existujú dva rýchle filtre, jeden nastavený na Year equals 2024 (Rok rovná sa 2024) a jeden na Color (Farba) rovná sa modrej a červenej. Mierka Number of Products vráti hodnotu 2 a mierka Number of Products All Years vráti hodnotu 6.

Ďalšie kroky

Nasledujúce články môžu byť užitočné: