Power BI DAX: IF(), SWITCH(), és FIND() függvények részletes ismertetése
A Power BI DAX (Data Analysis Expressions) egy hatékony nyelv, amely lehetővé teszi az adatelemzést és az egyéni számításokat. Ebben a részletes bemutatóban három fontos DAX függvényre összpontosítunk:
- IF() – Feltételes logika létrehozásához.
- SWITCH() – Több feltétel alapján történő elágazás kezeléséhez.
- FIND() – Szövegkeresés egy adott karakterláncon belül.
Mindegyik függvényt példákkal illusztrálom, és a végén egy összehasonlító táblázatot is készítek.
1. IF() függvény
A IF()
függvény egy feltételes elágazást biztosít, amely hasonló a hagyományos Excel IF függvényéhez.
Szintaxis:
- Logikai_feltétel: Egy igaz/hamis értéket visszaadó logikai feltétel.
- Igaz_érték: Az érték, amelyet akkor ad vissza, ha a feltétel igaz.
- Hamis_érték (opcionális): Az érték, amelyet akkor ad vissza, ha a feltétel hamis (ha nem adunk meg semmit, akkor
BLANK()
lesz az eredmény).
Példa – IF() használata
Tegyük fel, hogy van egy Sales
tábla, amely tartalmazza az eladási adatokat:
OrderID | SalesAmount |
---|---|
1 | 500 |
2 | 1500 |
3 | 800 |
4 | 2500 |
Egy új "High Sales" számított oszlopot hozhatunk létre, amely YES
-t jelenít meg, ha az eladás meghaladja az 1000-et, különben NO
-t:
Eredmény:
OrderID | SalesAmount | High Sales |
---|---|---|
1 | 500 | NO |
2 | 1500 | YES |
3 | 800 | NO |
4 | 2500 | YES |
🔹 Fontos megjegyzés:
- Az
IF()
függvény egyszerű feltételeknél jól használható, de ha több feltételre van szükség, akkor érdemesebb aSWITCH()
függvényt használni.
2. SWITCH() függvény
A SWITCH()
egy többszintű elágazást kezelő függvény, amely kiváltja a többszörösen beágyazott IF()
utasításokat.
Szintaxis:
- Kifejezés: A vizsgált érték.
- Érték1, Érték2, ...: A kifejezés lehetséges értékei.
- Eredmény1, Eredmény2, ...: Az adott értékhez tartozó visszatérési eredmények.
- Alapértelmezett (opcionális): Ha egyik feltétel sem teljesül, akkor ez az érték lesz az eredmény.
Példa – SWITCH() használata
Tegyük fel, hogy van egy Sales
tábla egy Category
oszloppal, amely az alábbi értékeket tartalmazza:
OrderID | Category |
---|---|
1 | A |
2 | B |
3 | C |
4 | A |
Szeretnénk egy új oszlopot létrehozni, amely a következő szabályok alapján határozza meg a kedvezmény mértékét:
A
kategória: 10% kedvezményB
kategória: 15% kedvezményC
kategória: 20% kedvezmény
A SWITCH()
függvény így nézne ki:
Eredmény:
OrderID | Category | Discount |
---|---|---|
1 | A | 10% Discount |
2 | B | 15% Discount |
3 | C | 20% Discount |
4 | A | 10% Discount |
🔹 Előnyök:
- Sokkal tisztább és érthetőbb, mint az
IF()
egymásba ágyazása. - Hatékonyabb a teljesítmény szempontjából.
3. FIND() függvény
A FIND()
függvény egy adott szöveg előfordulásának pozícióját keresi egy karakterláncban.
Szintaxis:
- Keresett_szöveg: A keresendő karakterlánc.
- Forrás_szöveg: Az a karakterlánc, amelyben keresünk.
- Kezdő_pozíció (opcionális): A keresés kezdőpozíciója (alapértelmezett: 1).
- Nincs_találat (opcionális): Az érték, amelyet visszaad, ha a keresett szöveg nem található meg (alapértelmezett: hibaüzenet).
Példa – FIND() használata
Tegyük fel, hogy egy Customers
tábla tartalmazza az ügyfelek e-mail címeit:
CustomerID | |
---|---|
1 | john.doe@gmail.com |
2 | jane.smith@yahoo.com |
3 | robert.white@outlook.com |
Szeretnénk megtudni, hogy az "@" karakter melyik pozíción szerepel az e-mail címekben:
Eredmény:
CustomerID | At_Position | |
---|---|---|
1 | john.doe@gmail.com | 10 |
2 | jane.smith@yahoo.com | 12 |
3 | robert.white@outlook.com | 14 |
🔹 Megjegyzés:
Ha az @
karakter nincs az e-mail címben, az eredmény -1
lesz a hiba elkerülése érdekében.
Összegző táblázat
Függvény | Használat | Tipikus Példa |
---|---|---|
IF() | Egyszerű feltételes logika | IF(Sales[Amount] > 1000, "YES", "NO") |
SWITCH() | Több érték közötti elágazás | SWITCH(Sales[Category], "A", "10%", "B", "15%", "20%") |
FIND() | Szövegen belüli keresés | FIND("@", Customers[Email], 1, -1) |
Ezek a DAX függvények alapvetőek Power BI-ban, és segítenek hatékonyabb számításokat készíteni! 🚀
Megjegyzések
Megjegyzés küldése