Aneb co je to za divný název článku. Measure přece do sliceru dát nejde. Ano, máte pravdu. O čem právě bude pojednávat dnešní článek je, jakým způsobem tohle omezení obcházím.
Obecně totiž measure můžeme v Power BI použít v sekcích: Values, Tooltip, nikoliv však na řádcích, sloupcíh. Measure je od toho, že vrací hodnotu. Nedá se přes ni řezat.
Filtrace je omezená na "Filters on the visual". Osobně ale mívám lištu s filtry pro uživatele takřka výhradně skrytou. Pro uživatelskou interakci používám slicery.
Pojďme na scénář. Na začátku mám následující report nad demo databází Adventure Works
Chtěl bych mít možnost modely škatulkovat podle velikosti prodejů jako Trička
L (large nad 1M)
M (medium 500k-1M)
M (medium 500k-1M)
S (small pod 500k)
Dalo by se více velikostí, ale pro ilustrativní účely stačí.
Vytvořím si jednoduchou measure pro určení velikosti, naformátuji jako text
Následně vygeneruji tabulku s velikostmi, jako nevázanou dimenzi, pro tento účel můžu použít například DAXovou funkci DATATABLE.
Vytvořím si další measure # Size visibility
Pokud v tabulce velikost není vybráno nic, vrací 1 (_filtered), v případě vybrané velikosti vybere jedničku u vybrané, u ostatních 0.
Přidáme slicer s velikostí a na potřebných vizuálech filtr přes metriku # Size visibility > 0
A můžeme vesele filtrovat slicerem. Metrika Size visibility je v posledním screenshotu pouze informativní.
Závěr
V článku jsem popsal, jak řeším filtraci slicerem pro measures. Neobejdeme se bez pomocných metrika pomocné dimenze. Nicméně pokud řešíte jiným efektivnějším způsobem, podělte se :)
Dobrý den, díky za článek, asi to bude vždy nějaký kompromis s dodatečnou parametrickou tabulkou. Jen tak při rychlém náhledu bych ale tipl že měřítko [# Size visibility] nebude fungovat pokud v průřezu vyberete víc než jednu velikost.
OdpovědětVymazatDobrý den, fungovat to bude i na multiselect. Ve filtrační podmínce na vizuálu je větší jak 0. A hodnoty sčítám, takže pro jednotlivé velikosti vyhoví jako větší jak 0 všechny jedničky i posčítaný total.
VymazatTomu rozumím, měl sem namysli funkci SELECTEDVALUE(), která vrací BLANK když není vybraná pouze jedna hodnota. To znamená že když vyberete více než jednu velikost, SELECTEDVALUE() vrátí vždy BLANK a žádná podmínka nebude nikdy splněna, ale možná mi něco uniká :)
VymazatAha, tahle část. No pravda, když jsem to psal tak jsem nechal slicer jako single select. Výhledově se podívám, jestli ještě někde najdu ten soubor. No možná něco uniklo mě, když jsem to simuloval.
Vymazat