DIVIDE függvény vs. sima osztás Power BI-ban. Mikor melyiket használd?
A DIVIDE függvény a DAX-ban osztási műveletek elvégzésére használható. Azért különösen hasznos, mert kezeli azokat az eseteket, amikor a nevező értéke 0 vagy hiányzik, elkerülve ezzel a “nullával való osztás” hibákat.
Power BI-ban szerencsére nincs #ZÉRÓOSZTÓ hiba, de csúnyán néz ki, amikor egy osztás értéke végtelen. Úgyhogy mutatom, mire jó a DIVIDE.
DIVIDE függvény szintaxisa
DIVIDE(számláló, nevező, [alternatív érték])
- számláló: Az osztás felső értéke, amit el szeretnél osztani (osztandó).
- nevező: Az osztás alsó értéke (osztó).
- [alternatív érték] (nem kötelező): Egy opcionális paraméter, amelyet akkor adhatunk meg, ha a nevező 0, vagy hiányzik (NULL). Ha nem adod meg, a DIVIDE
BLANK()
értéket ad vissza ilyen esetekben (ez csúnyán néz ki a kártya vizualizációkban).
Mikor érdemes használni a DIVIDE függvényt?
- Nullával való osztás elkerülése
Ha manuálisan írsz egy osztási műveletet, példáulA / B
, az hibát okozhat, ha a nevező (B) értéke 0. A DIVIDE ezt automatikusan kezeli. - Adattisztítás nélkülözhetősége
A DIVIDE használatával nem kell előre ellenőrizni, hogy a nevező értéke érvényes-e (nem 0 és nem NULL). - Tisztább kód
Ahelyett, hogy feltételes logikával ellenőriznéd a nullát (példáulIF(B = 0, BLANK(), A / B)
), egyszerűen használhatod a DIVIDE-ot.
Példák
1. Egyszerű osztás
Van egy Sales tábla, ahol két oszlop van: Revenue (Bevétel) és Quantity (Mennyiség). Szeretnéd kiszámítani az egy egységre jutó átlagos árat:
Average Price =
DIVIDE(Sales[Revenue], Sales[Quantity])
- Ez az osztás automatikusan kezeli azokat az eseteket, amikor a Quantity értéke 0.
2. Alternatív érték megadása
Az előző példában, ha szeretnéd, hogy nullával való osztás esetén az eredmény 0 legyen:
Average Price =
DIVIDE(Sales[Revenue], Sales[Quantity], 0)
- Ha a Quantity értéke 0 vagy hiányzik, a függvény 0-t ad vissza ahelyett, hogy hibát generálna.
3. Számított oszlop
Ha számított oszlopot hozol létre egy táblában, például az árrés (Profit Margin) kiszámításához:
Profit Margin =
DIVIDE(Sales[Profit], Sales[Revenue])
Ez automatikusan figyelembe veszi az esetleges 0 vagy NULL értékeket a Revenue oszlopban.
4. Százalékos arány kiszámítása
Szeretnéd kiszámítani az egyes termékek eladásainak százalékos arányát az összes eladáshoz képest:
Sales Percentage =
DIVIDE(
Sales[Revenue],
CALCULATE(SUM(Sales[Revenue]), ALL(Sales))
)
- Számláló: Az egyes termékek Revenue értéke.
- Nevező: Az összes termék Revenue összegzett értéke, az ALL(Sales) segítségével figyelmen kívül hagyjuk a szűrőket.
- Calculate és ALL függvényekről bővebben a Power BI tanfolyamon tanulunk, és itt olvashatsz róluk:
Miért jobb, mint a manuális osztás?
Manuális osztás példa (hibával):
Average Price =
IF(Sales[Quantity] = 0, BLANK(), Sales[Revenue] / Sales[Quantity])
Ez működik, de bonyolultabb, és a kód kevésbé olvasható. Ráadásul, ha NULL értékkel találkozik, további kezelést igényel.
DIVIDE függvénnyel:
Average Price =
DIVIDE(Sales[Revenue], Sales[Quantity])
Ez egyszerűbb és automatikusan kezeli a problémákat.
Alternatív érték nélküli viselkedés
Ha nem adod meg az [alternatív érték] paramétert, a DIVIDE hibás osztás esetén BLANK() értéket ad vissza. Ez hasznos lehet, ha üres cellákat szeretnél látni a hibás eredmények helyén, viszont zavaró lehet, ha egy kártya vizualizáción szeretnéd megjeleníteni mondjuk a Profit Margin értékét.
Ha szeretnál átfogó tudást kapni a DAX függvényekről, akkor gyere el a Power BI tanfolyamra, ahol lépésről lépésre megtanulod azt, hogy mit, miért, hogyan csinálunk.
Minden infó itt: https://datakepzes.hu/power-bi-tanfolyam-kezdo-halado-online/