Az adatelemzési kifejezések (DAX) nyelve a Power Pivot programban

Az adatelemzési kifejezések (DAX) nyelve a Power Pivot programban

Az adatelemzési kifejezések (DAX) egyrészt kissé megfélemlítően hangzik el, de nem hagyja, hogy a név tévesszen meg téged. A DAX alapjai nagyon könnyen érthetőek. Első dolgok az első – a DAX nem programozási nyelv. A DAX a képlet nyelve. A DAX segítségével egyéni számításokat állíthat be számított oszlopokhoz és mértékekhez (más néven számított mezőkhöz). A DAX tartalmaz néhány, az Excel-képletekben használt függvényt, valamint a relációs adatok kezelésére és dinamikus összesítésre tervezett további függvényeket.

A DAX-képletek ismertetése

A DAX-képletek nagyon hasonlítanak az Excel-képletekhez. Ha létre szeretne hozni egy egyenlőségjelet, írjon be egy egyenlőségjelet, majd egy függvény nevét vagy kifejezését, valamint az összes szükséges értéket vagy argumentumot. Az Excelhez hasonlóan a DAX számos olyan függvényt tartalmaz, amelyekkel műveleteket végezhet a karakterláncokkal, számításokat végezhet a dátumokkal és időpontokkal, illetve feltételes értékeket hozhat létre.

A DAX-képletek azonban a következő fontos módokon különböznek egymástól:

  • Ha soronként szeretné testre szabni a számításokat, a DAX olyan függvényeket tartalmaz, amelyek lehetővé teszik az aktuális sor vagy a kapcsolódó értékek használatát a környezettől eltérő számítások elvégzéséhez.

  • A DAX olyan függvényt tartalmaz, amely egyetlen érték helyett egy táblázatot ad eredményül. Ezekkel a függvényekkel más függvényeket is beírhat.

  • A DAX időintelligencia-függvényeilehetővé teszik a számítások időtartományokban történő számítását, valamint az eredmények párhuzamos időszakokban való összehasonlítását.

Hol használhatók DAX-képletek?

A képleteket Power Pivotszámított columns vagy számított fieldshozhatja létre.

Számított oszlopok

A számított oszlopok olyan oszlopok, amelyeket egy meglévő Power Pivot-táblához vesz fel. Ahelyett, hogy az oszlopba beilleszt vagy importál értékeket, az oszlop értékeit meghatározó DAX-képletet hozhat létre. Ha a Power Pivot táblát egy kimutatásban (vagy kimutatásdiagramban) szerepelteti, a számított oszlop ugyanúgy használható, mint bármely más adatoszlop.

A számított oszlopok képletei hasonlóan használhatók az Excelben létrehozott képletekhez. Az Excelben eltérően azonban nem hozhat létre eltérő képletet a táblázat különböző soraihoz. Ehelyett a program automatikusan alkalmazza a DAX-képletet az egész oszlopra.

Ha egy oszlop képletet tartalmaz, a program az értéket minden sorra kiszámítja. A képlet létrehozásakor az eredmény kiszámítása az oszlopra vonatkozóan azonnal megtörténik. Az oszlopok értékei csak akkor kerülnek újraszámításra, ha az alapul szolgáló adatok frissülnek, vagy ha a manuális újraszámítást használja.

Létrehozhat számított oszlopokat, amelyek mértéken és más számított oszlopokon alapulnak. Ügyeljen azonban arra, hogy ne ugyanazt a nevet használja egy számított oszlopra és egy mértékre, mert ez zavaró eredményhez vezethet. Ha egy oszlopra hivatkozik, célszerű teljesen minősített oszlopot használni, hogy elkerülje az intézkedés véletlen meghívását.

További információt a számított oszlopok a Power pivotbancímű témakörben talál.

Intézkedések

Az intézkedés olyan képlet, amely Power Pivot-adatot használó kimutatásban (vagy kimutatásdiagramban) való használatra készült. Az intézkedések alapja lehet a szokásos összesítési függvények, például a darab vagy a SZUM, illetve a DAX használatával megadhatja saját képletét. Egy mérték a kimutatás értékek területén használható. Ha számított eredményeket szeretne a kimutatás egy másik területére helyezni, használja inkább a számított oszlopot.

Ha megad egy képletet egy explicit mértékhez, akkor semmi sem történik, amíg a mérőszámot nem veszi fel a kimutatásba. A mérték összeadása után a képlet kiértékelésre kerül a kimutatás értékek területének minden cellájára. Mivel a sor-és oszlopfejlécek minden kombinációja esetén létrejön egy eredmény, az adott mértékhez tartozó eredmény eltérő lehet az egyes cellákban.

A létrehozott mérték meghatározását a program a forrásadatok táblájával menti. Megjelenik a kimutatás mezői listában, és a munkafüzet minden felhasználója számára elérhető.

További információ: Mértékek a Power Pivot programban.

Képletek létrehozása a szerkesztőléc használatával

aPower Pivot, mint az Excel, a szerkesztőlécen megkönnyíti a képletek létrehozását és szerkesztését, valamint az automatikus kiegészítési funkciókat a gépelési és szintaktikai hibák minimalizálása érdekében.

Táblázat nevének megadása   Kezdje el beírni a táblázat nevét. A képletek automatikus kiegészítése legördülő listát tartalmaz, amely az adott betűvel kezdődő érvényes neveket tartalmazza.

Oszlop nevének megadása   Írjon be egy szögletes zárójelet, majd válassza ki az aktuális táblázat oszlopainak listájából az oszlopot. Egy másik tábla oszlopainak beírásával kezdje el beírni a táblanév első betűit, majd az automatikus kiegészítés legördülő listából válassza ki az oszlopot.

További információ és a képletek létrehozásának áttekintése a következő témakörben található: képletek létrehozása számításokhoz a Power pivot beépülő modulban.

Tippek az automatikus kiegészítés használatához

A képletek automatikus kiegészítése a meglévő képletek közepén, beágyazott függvényekkel használható. A kurzort közvetlenül a beszúrási pont előtt lévő szöveg jeleníti meg a legördülő listában, és a beszúrási pont utáni összes szöveg változatlan marad.

Az állandók számára létrehozott definiált nevek nem jelennek meg az automatikus kiegészítés legördülő listájában, de továbbra is beírhatja őket.

aPower Pivot nem adja hozzá a függvények záró zárójelét, vagy automatikusan egyezteti a zárójeleket. Ügyeljen arra, hogy minden függvény szintaktikai módon helyes legyen, vagy a képletet ne mentse vagy használja. 

Több függvény használata a képletekben

A függvényeket egymásba ágyazhatja, ami azt jelenti, hogy a találatokat az egyik függvényből egy másik függvény argumentumaként használja. Számított oszlopokban legfeljebb 64 szintű függvényt ágyazhat be. A beágyazással azonban bonyolult lehet a képletek létrehozása vagy hibaelhárítása.

Sok DAX-függvény úgy lett kialakítva, hogy csak beágyazott függvényként legyen használatban. Ezek a függvények olyan táblázatot adnak vissza, amelyet nem lehet közvetlenül eredményként menteni; ezt a táblázatot a táblázat függvénynek kell beírnia. A SUMX, a AVERAGEX és a kikapós függvények például mind az első argumentumot, mind a táblázatot igénylik.

Megjegyzés: Bizonyos korlátozások vonatkoznak az intézkedésekben szereplő függvények beágyazására, így biztosítható, hogy az oszlopok közötti függőségek által igényelt sok számítás ne befolyásolja a teljesítményt.

A DAX-függvények és az Excel-függvények összehasonlítása

A DAX-függvény függvénytára az Excel-függvény könyvtárán alapul, a tárakban azonban sok különbség van. Ebben a szakaszban az Excel-függvények és a DAX-függvények közötti különbségek és hasonlóságok láthatók.

  • Sok DAX-függvény ugyanazzal a névvel és az Excel függvényekkel megegyező általános viselkedéssel rendelkezik, de más adattípusokat is megváltoztattak, és bizonyos esetekben más adattípust adhatnak vissza. A DAX-függvények általában nem használhatók Excel-képletekben, illetve nem használhatók Excel-képletek a Power Pivot módosítás nélkül.

  • A DAX-függvények soha nem végeznek cellahivatkozást vagy egy cellatartományt, de ehelyett a DAX-függvények az oszlopot vagy táblázatot hivatkozásként veszik fel.

  • A DAX dátum-és időfüggvényei datetime típusú adattípust adnak vissza. Ezzel ellentétben az Excel dátum-és időfüggvényei olyan egész számot adnak eredményül, amely a dátumot sorszámként jelöli.

  • Az új DAX-függvények közül sok az értékek táblázatát adja eredményül, vagy számításokat hajt végre az értékek táblázat alapján. Ezzel ellentétben az Excelnek nincs olyan függvénye, amely táblázatot ad vissza, de néhány függvényhez tömbök is használhatók. A teljes táblázatok és oszlopok egyszerű hivatkozásának lehetősége a Power Pivot új funkciója.

  • A DAX olyan új keresési függvényeket biztosít, amelyek hasonlítanak az Excel tömb-és vektoros keresési funkcióihoz. A DAX-függvényekben azonban meg kell határozni a kapcsolatok közötti kapcsolatot a táblák között.

  • Az oszlopban lévő adattípusoknak mindig azonos adattípusúnak kell lenniük. Ha az adattípusok nem azonosak, akkor a DAX a teljes oszlopot arra az adattípusra módosítja, amely a legjobban az összes értéket tartalmazza.

DAX-adattípusok

Az adattípusokat számos különböző adatforrásból importálhatja Power Pivot adatmodellbe, amelyek különböző adattípusokat támogatnak. Ha importál vagy betöltődik, majd az adatszámításokban vagy kimutatásokban használja az adatsort, az adattípusok a Power Pivot adattípusok egyikére konvertálódnak. Az adattípusok listáját az adattípusok az adatmodellekbencímű témakörben találhatja meg.

A táblázat adattípus a DAX új adattípusa, amely számos új függvény bemenetéhez vagy kimenetéhez használatos. A szűrő függvény például táblázatként veszi fel a táblázatot, és egy másik olyan táblát ad eredményül, amely csak azokat a sorokat tartalmazza, amelyek eleget tesznek a szűrési feltételeknek. Ha a táblázat függvényeket kombinálja összesítési függvényekkel, akkor komplex számításokat végezhet a dinamikusan meghatározott adathalmazokra. További információt az összesítések a Power pivotbancímű témakörben talál.

Képletek és a relációs modell

A Power Pivot ablak egy olyan terület, ahol több adattábla használható, és összekapcsolhatja a táblákat egy relációs modellben. Ebben az adatmodellben a táblák kapcsolatokkal kapcsolódnak egymáshoz, így a többi táblázat oszlopaival is létrehozhat korrelációt, és további érdekesebb számításokat hozhat létre. Létrehozhat például olyan képleteket, amelyek egy kapcsolódó tábla értékeit összegzik, majd egyetlen cellában menti ezt az értéket. Ha a kapcsolódó tábla sorait szeretné szabályozni, akkor alkalmazhat szűrőket a táblázatokra és oszlopokra. További tudnivalókat az adatmodellben szereplő táblázatok közötti kapcsolatokcímű témakörben talál.

Mivel a táblázatok kapcsolatok használatával csatolhatók egymáshoz, a kimutatások a különböző táblákból származó több oszlopból származó adatot is tartalmazhatnak.

Mivel azonban a képletek teljes táblázatokat és oszlopokat is tartalmazhatnak, a számításokat az Excelben eltérő módon kell megtervezni.

  • Általában egy oszlopban lévő DAX-képlet mindig az oszlop teljes halmazára (nem csak néhány sorra vagy cellára) érvényes.

  • A Power Pivot ban lévő táblázatoknak minden egyes sorban ugyanannyi oszlopot kell tartalmazniuk, és az oszlop minden sorának ugyanazt az adattípust kell tartalmaznia.

  • Ha a táblák kapcsolattal kapcsolódnak össze, a legtöbb esetben úgy kell meggyőződnie, hogy a kulcsokként használt két oszlop a legtöbb értékkel egyezik. Mivel a Power Pivot nem kezeli a hivatkozási integritást, lehetséges, hogy nem egyező értékeket tartalmaz a fontos oszlopban, és így továbbra is kapcsolat jön létre. Az üres vagy nem egyező értékek jelenléte azonban befolyásolhatja a képletek eredményét és a kimutatások megjelenését. További információt a keresések a Power pivot-képletekbencímű témakörben talál.

  • Ha kapcsolatokat használ a táblákhoz, akkor nagyíthatja azt a hatókört vagy a cháttere , amelyben a képletek kiértékelése megtörténik. A kimutatásokban szereplő képletek például hatással lehetnek a kimutatásban lévő szűrők, oszlopok és sorfejlécek számára. Írhat olyan képleteket is, amelyek a környezettel kezelhetik a környezetet, a környezet azonban azt is megteheti, hogy milyen módon módosíthatja a találatokat. További információ: környezet a DAX-képletekben.

A képletek eredményének frissítése

Az r-efresh és az újraszámolási művelet két különálló, de kapcsolódó műveletet tartalmaz, amelyeket figyelembe kell vennie egy összetett képletet, nagy mennyiségű adatot vagy külső adatforrásból származó adatot tartalmazó adatmodell tervezésekor.

Az adatok frissítése a munkafüzetben lévő adatok frissítésének folyamata egy külső adatforrásból származó új adatokkal. Az adatok kézzel is frissíthetők a megadott intervallumok között. Ha a munkafüzetet egy SharePoint-webhelyre tette közzé, a külső forrásokból automatikus frissítést ütemezhet.

Az újraszámolás a képletek eredményeinek frissítésének folyamata, amely tükrözi a képletek módosításait, és tükrözi az alapul szolgáló adatokat. Az újraszámítás az alábbi módokon befolyásolhatja a teljesítményt:

  • Számított oszlop esetén a képlet módosításakor a képlet eredményét mindig újra kell számítani a teljes oszlopra.

  • Mérték esetén a képletek eredményét nem számítja ki a program, amíg a mérték a kimutatás vagy a kimutatásdiagram kontextusában nem kerül. A program újraszámítja a képletet az adatok szűrőit érintő minden sor vagy oszlop fejlécének módosításakor, vagy ha manuálisan frissíti a kimutatást.

Képletek hibaelhárítása

Hibák a képletek írásakor

Ha egy képlet definiálásakor hibaüzenet jelenik meg, akkor a képlet szintaktikai, szemantikaivagy számítási hibáttartalmazhat.

Szintaktikai hibák a legkönnyebben oldhatók meg. Ezek általában a hiányzó zárójelet vagy vesszőt tartalmazzák. Ha segítségre van szüksége az egyes függvények szintaxisához, olvassa el a DAX-függvény ismertetése című témakört.

A másik típusú hiba akkor fordul elő, ha a szintaxis helyes, de az érték vagy a hivatkozott oszlop nem a képlet kontextusában van érzékelve. A szemantikai és számítási hibákat az alábbi problémák okozhatják:

  • A képlet nem létező oszlopra, táblázatra vagy függvényre hivatkozik.

  • A képlet látszólag helyes, de amikor az adatmotor beolvassa az adattípust, a program hibát jelez.

  • A képlet helytelen számú vagy típusú paramétert ad át egy függvénynek.

  • A képlet egy másik, hibát tartalmazó oszlopra hivatkozik, ezért az értékek érvénytelenek.

  • A képlet olyan oszlopra hivatkozik, amely nincs feldolgozva, azaz metaadatokat tartalmaz, de a számításokhoz nem használható tényleges adatok.

Az első négy esetben a DAX az egész oszlopot tartalmazza, amely az érvénytelen képletet tartalmazza. Az utolsó esetben a DAX szürkén jeleníti meg az oszlopot, így jelezve, hogy az oszlop feldolgozatlan állapotban van.

Helytelen vagy szokatlan eredmény az oszlopok értékeinek rangsorolásakor vagy megrendelése során

Ha a NaN (nem szám) értéket tartalmazó oszlop rangsorolását vagy elrendelését szeretné megrendelni, előfordulhat, hogy hibás vagy váratlan eredményt kap. Ha például egy számítás 0-ra osztja a 0 értéket, a program a NaN-találatot adja eredményül.

Ennek az az oka, hogy a képlet a numerikus értékek összehasonlításával végrehajtja a rendelést és a rangsorolást; a NaN érték azonban nem hasonlítható össze az oszlop többi számával.

A helyes eredmény érdekében a ha függvénnyel tesztelje a NaN értékeit, és a 0 értéket adja eredményül.

Kompatibilitás az Analysis Services táblázatos modelljeivel és a DirectQuery móddal

A Power Pivot épülő DAX-képletek általában teljes mértékben kompatibilisek az Analysis Services táblázatos modelljeivel. Ha azonban áttelepíti az Power Pivot modellt egy Analysis Services-példányba, és DirectQuery módban telepíti a modellt, bizonyos korlátozások vannak érvényben.

  • Egyes DAX-képletek esetleg eltérő eredményeket adnak, ha a modellt DirectQuery módban telepíti.

  • Bizonyos képletek érvényesítési hibákat okozhatnak, amikor a modellt DirectQuery módba telepíti, mert a képlet olyan DAX-függvényt tartalmaz, amely nem támogatott relációs adatforrások esetén.

További információt az Analysis Services táblázatos modellezési dokumentációja az SQL Server 2012 könyvekben című témakörben talál.

Megjegyzés:  Ez az oldal gépi fordítással lett lefordítva, ezért nyelvtani hibákat és pontatlanságokat tartalmazhat. A célunk az, hogy ezek a tartalmak felhasználóink hasznára váljanak. Hasznos volt ez az információ az Ön számára? Itt találja az eredeti angol nyelvű cikket.

Office-jártasság bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Részvétel az Office Insider programban

Hasznos volt az információ?

Köszönjük a visszajelzését!

Köszönjük visszajelzését. Jobbnak látjuk, ha az Office egyik támogatási szakemberéhez irányítjuk.

×