Ugrás a fő tartalomra

Power BI alapok : DAX: IF(), SWITCH(), és FIND()


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:

---DAX

IF(Logikai_feltétel, Igaz_érték, [Hamis_érték])
  • 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:

OrderIDSalesAmount
1500
21500
3800
42500

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:

---DAX

High Sales = IF(Sales[SalesAmount] > 1000, "YES", "NO")

Eredmény:

OrderIDSalesAmountHigh Sales
1500NO
21500YES
3800NO
42500YES

🔹 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 a SWITCH() 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:

---DAX

SWITCH(Kifejezés, Érték1, Eredmény1, Érték2, Eredmény2, ..., [Alapértelmezett])
  • 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:

OrderIDCategory
1A
2B
3C
4A

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ény
  • B kategória: 15% kedvezmény
  • C kategória: 20% kedvezmény

A SWITCH() függvény így nézne ki:

---DAX

Discount = SWITCH( Sales[Category], "A", "10% Discount", "B", "15% Discount", "C", "20% Discount", "No Discount" // Alapértelmezett érték )

Eredmény:

OrderIDCategoryDiscount
1A10% Discount
2B15% Discount
3C20% Discount
4A10% 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:

---DAX

FIND(Keresett_szöveg, Forrás_szöveg, [Kezdő_pozíció], [Nincs_találat])
  • 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:

Szeretnénk megtudni, hogy az "@" karakter melyik pozíción szerepel az e-mail címekben:

----DAX

At_Position = FIND("@", Customers[Email], 1, -1)

Eredmény:

🔹 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ényHasználatTipikus Példa
IF()Egyszerű feltételes logikaIF(Sales[Amount] > 1000, "YES", "NO")
SWITCH()Több érték közötti elágazásSWITCH(Sales[Category], "A", "10%", "B", "15%", "20%")
FIND()Szövegen belüli keresésFIND("@", 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