Szűrőfeltételek kiírása Power BI dashboardokra
Régóta szajkózom, hogy a dashboardoknak nyomtatva is működnie kell. Nem csak azért, mert a vezetők még ma is sokszor nyomtatott formában fogyasztják a digitális dashboardjainkat, hanem azért is mert a dashboardok ,,első ránézésre" követelményének így tudunk a legkönnyebben megfelelni.
Ahhoz tehát hogy első ránézésre megállapíthassuk mit látunk a dashboardon fontos kiírni a dashboardra, hogy mit választottunk ki a szeletelőn, milyen dátumra szűrtünk, stb.
A szűrőfeltételek kiírására a Power BI nem ad beépített támogatást, de könnyen írhatunk egy olyan számított mezőt, amely segítségével a probléma megoldható. Mi is ezt az utat járjuk a Power BI workshopon és ezt az utat fogom most bemutatni.
Feladatunk az lesz, hogy kiírjuk a kiválasztott készítmények neveit a dashboardra. Erre 5 módszert is fogok mutatni:
IF HASONEVALUE
Régen, amikor még nem volt ALLSELECTED() függvényünk, az IF() és a HASONEVALUE() függvénypárossal írtuk ki a dashboardokra a szűrőfeltételeket. Létrehoztunk egy számított mezőt aminek értékét a kártya (CARD) vagy Long Text Viewer nevű egyéni látványelem (Custom Visual) segítségével jelenítettünk meg a riporton:
Szűrőfeltétel (IF HASONEVALUE) = IF(HASONEVALUE('Gyógyszertörzs'[Készítmény]); VALUES('Gyógyszertörzs'[Készítmény]) ; "Több kiválasztott termék")
A fenti számított mező a készítmény oszlop kiválasztott értékeit adja vissza ha csak egy készítmény van kiválasztva és a "Több kiválasztott termék" sztringet adja vissza ha több termék is ki van egyszerre választva.
SELECTEDVALUE
Az SELECTEDVALUE () függvény megjelenésével a probléma leegyszerűsödött és a fenti számított mezőt sokkal egyszerűbben el tudtuk készíteni:
Szűrőfeltétel (SELECTEDVALUE) = SELECTEDVALUE('Gyógyszertörzs'[Készítmény]; "Több kiválasztott termék")
A függvény egyéb felhasználási területéről itt olvashat többet: SELECTEDVALUE()
IF ISFILTERED
A fenti számított mezőkkel az a baj, hogy nem különbözetik meg az összes termék kiválasztását (Ez történik akkor ha nem szűrünk a készítményekre) és a néhány termék kiválasztását: Mindkét esetben ugyanazt a sztringet adják vissza. Ezt problémát azonban az ISFILTERED() függvény segítségével orvosolhatjuk.
Szűrőfeltétel (IF ISFILTERED) = IF(ISFILTERED('Gyógyszertörzs'[Készítmény]);
SELECTEDVALUE('Gyógyszertörzs'[Készítmény]; "Több kiválasztott termék");
"Összes termék"
)
A fenti számított mező kiírja
- a kiválasztott készítmény nevét, ha csak egy készítmény van kiválasztva
- A "Több kiválasztott termék" nevét, ha több készítmény van kiválasztva
- és az ,,Összes termék" sztringet, ha nincs semmi kiválasztva (Azaz, ha nem szűrünk egyetlen készítményre sem)
CONCATENATEX
A fenti számított mezőkkel az a legnagyobb baj, hogy több elem kiválasztása esetén nem sorolják fel tételesen a kiválasztott készítmények neveit. Ehelyett kiírják a nem túl informatív ,,Több kiválasztott termék" sztringet. A problémát a CONCATENATEX() függvény segítségével orvosolhatjuk:
Szűrőfeltétel (CONCATENATEX) = CONCATENATEX(ALLSELECTED('Gyógyszertörzs'[Készítmény]); 'Gyógyszertörzs'[Készítmény]; ", "; 'Gyógyszertörzs'[Készítmény])
A fenti számított mező kiírja az összes kiválasztott készítmény nevét vesszővel elválasztva, a készítmények neve szerint növekvő sorrendbe rendezve:
A számított mező kiírja az összes készítmény nevét akkor is, ha nem szűrünk rá egy készítményre sem, de ezt az ISFILTERED() függvény segítségével könnyen lekezelhetjük:
ISFILTERED CONCATENATEX
Szűrőfeltétel (ISFILTERED CONCATENATEX) = IF(ISFILTERED('Gyógyszertörzs'[Készítmény]); CONCATENATEX(ALLSELECTED('Gyógyszertörzs'[Készítmény]); 'Gyógyszertörzs'[Készítmény]; ", "; 'Gyógyszertörzs'[Készítmény]); "Összes termék")
A fenti számított mező kiírja az összes kiválasztott készítmény nevét, ha szűrtünk készítményre. Ha nem szűrtünk készítményre (azaz az összes készítmény ki van választva) akkor az ,,összes termék" sztringet írja ki.
Összefoglalva: A fenti számított mezőket használhatjuk
- szűréseknek megfelelően dinamikusan változó dashboard címek készítéséhez,
- lábjegyzethez amiben fel vannak sorolva a szűrőfeltételek,
- kontextusfüggő kommentek megjelenítésérem
- stb.
Használja őket! A segítségükkel egyértelműsíthető mit is lát az elemző a dashboardon.
Kővári Attila - BI projekt
POWER BI WORKSHOP
Tudjon meg többet az itt elhangzottakról! Jöjjön el a 2023. október 18.-i Power BI workshopra vagy rendeljen kihelyezett képzést! Részletek >>
Új hozzászólás