Power BI alapok : DAX témák: VALUES(), HASONEVALUE(), SELECTEDVALUE(), and CONCATENATEX()
A DAX nyelv az adatok elemzésére és számítások elvégzésére használható a Power BI, Power Pivot és Analysis Services Tabular modellekben. Az alábbi négy fontos DAX függvény működését vizsgáljuk meg részletesen:
- VALUES() – Egy oszlop egyedi értékeit adja vissza.
- HASONEVALUE() – Ellenőrzi, hogy egy oszlop pontosan egy egyedi értéket tartalmaz-e a szűrőkontextusban.
- SELECTEDVALUE() – Egyetlen kiválasztott értéket ad vissza, vagy egy alapértelmezett értéket, ha több van.
- CONCATENATEX() – Több érték összefűzésére szolgál, például egy oszlop egyedi értékeinek listázására.
1. VALUES() függvény
A VALUES()
függvény egy oszlop vagy tábla egyedi értékeit adja vissza, figyelembe véve az aktuális szűrőkontextust.
Szintaxis:
vagy
Működés és jellemzők:
- Ha egy oszlopot adunk meg, visszaadja az egyedi értékeket.
- Ha az oszlop nincs szűrve, akkor az összes egyedi értéket tartalmazza.
- Ha az oszlop egyetlen értékre szűrt, akkor azt az egy értéket adja vissza.
- Ha a szűrés üres halmazra vezet, akkor üres táblát ad vissza.
Példa – VALUES() használata
Tegyük fel, hogy van egy Sales
tábla a következő oszlopokkal:
OrderID | Region | SalesAmount |
---|---|---|
1 | North | 500 |
2 | North | 1500 |
3 | South | 800 |
4 | East | 2500 |
Ha szeretnénk egy mértéket, amely visszaadja az összes jelenlegi szűrés szerinti régiót:
🔹 Használati esetek:
- Kombinálható más függvényekkel, például
CONCATENATEX()
-szel, hogy összefűzzük az egyedi értékeket. - Szűréshez és dinamikus mértékekhez használható.
2. HASONEVALUE() függvény
A HASONEVALUE()
függvény ellenőrzi, hogy egy oszlopban pontosan egy egyedi érték van-e a szűrőkontextusban.
A DAX csak akkor teszi lehetővé az egyoszlopos tábla egyetlen sorában visszaadott egyetlen érték használatát, ha a képletet a HASONEVALUE() paranccsal védi.
Működés és jellemzők:
- Ha az oszlopban csak egy egyedi érték van a szűrés után, akkor
TRUE
értéket ad vissza. - Ha több érték van, vagy ha az oszlop üres, akkor
FALSE
értéket ad vissza. - Akkor hasznos, ha dinamikusan akarjuk ellenőrizni, hogy egy adott kategória egyetlen értékre szűrve van-e.
Példa – HASONEVALUE() használata
🔹 Használati esetek:
- Feltételek beállítása egyedi és több érték kiválasztásához.
- Kombinálható
IF()
-fel dinamikus vizualizációs címekhez.
3. SELECTEDVALUE() függvény
A SELECTEDVALUE()
függvény egy oszlop kiválasztott egyedi értékét adja vissza.
Szintaxis:
- Oszlop_név: Az oszlop, amelynek egyedi értékét szeretnénk visszakapni.
- Alapértelmezett_érték (nem kötelező): Ha nincs vagy több érték van kiválasztva, akkor ezt adja vissza.
Működés és jellemzők:
- Ha pontosan egy érték van kiválasztva, azt adja vissza.
- Ha több érték van kiválasztva vagy nincs érték, akkor a megadott alapértelmezett értéket adja vissza (ha van).
Példa – SELECTEDVALUE() használata
Eredmények lehetnek:
- Ha csak "North" van kiválasztva →
"North"
- Ha több régió van kiválasztva →
"No Single Region Selected"
🔹 Használati esetek:
- Dinamikus szűrés, amikor egyedi érték szükséges.
- Alternatívája a
HASONEVALUE()
+VALUES()
kombinációnak.
4. CONCATENATEX() függvény
A CONCATENATEX()
egy összefűző függvény, amely egy oszlop összes értékét karakterláncként egyesíti egy adott elválasztóval.
Szintaxis:
- Tábla: Az a tábla, amelyben az értékek szerepelnek.
- Kifejezés: Az oszlop vagy kifejezés, amelyet fűzni szeretnénk.
- Elválasztó (nem kötelező): Például
", "
vagy" - "
lehet. - Rendezési sorrend (nem kötelező): Egy oszlop, amely alapján rendezünk.
- Rendezési mód (nem kötelező):
ASC
vagyDESC
(növekvő/csökkenő sorrend).
Példa – CONCATENATEX() használata
Eredmény: "North, South, East"
🔹 Használati esetek:
- Egy oszlop egyedi értékeinek összefűzése szövegként.
- Dinamikus címek vagy tooltip-ek létrehozása vizualizációkhoz.
Összegző táblázat
Függvény | Leírás | Tipikus Példa | Visszatérési Érték |
---|---|---|---|
VALUES() | Egy oszlop egyedi értékeit adja vissza | VALUES(Sales[Region]) | {"North", "South", "East"} |
HASONEVALUE() | Ellenőrzi, hogy egy oszlop pontosan egy egyedi értéket tartalmaz-e | HASONEVALUE(Sales[Region]) | TRUE vagy FALSE |
SELECTEDVALUE() | Egy oszlop egyetlen kiválasztott értékét adja vissza | SELECTEDVALUE(Sales[Region], "N/A") | "North" vagy "N/A" |
CONCATENATEX() | Több érték összefűzésére szolgál | CONCATENATEX(VALUES(Sales[Region]), ", ") | "North, South, East" |
Ezek a függvények rendkívül hasznosak a Power BI riportok dinamikussá tételéhez! 🚀
Megjegyzések
Megjegyzés küldése