Az adatelemzési kifejezések (DAX) nyelve a Power Pivot programban
Applies ToMicrosoft 365-höz készült Excel Excel 2024 Excel 2021 Excel 2019 Excel 2016 Excel 2013

A Data Analysis Expressions (DAX) eleinte kissé ijesztőnek hangzik, de ne hagyja, hogy a név átverje Önt. A DAX alapjai nagyon könnyen megérthetőek. Először is : A DAX NEM programozási nyelv. A DAX egy képletnyelv. A DAX használatával egyéni számításokat határozhat meg a számított oszlopokhoz és a mértékekhez (más néven számított mezőkhöz). A DAX tartalmazza az Excel-képletekben használt függvények némelyikét, valamint a relációs adatok kezelésére és a dinamikus összesítés végrehajtására tervezett további függvényeket.

A DAX-képletek ismertetése

A DAX-képletek nagyon hasonlóak az Excel-képletekhez. A létrehozáshoz írjon be egy egyenlőségjelet, majd egy függvénynevet vagy kifejezést, valamint a szükséges értékeket vagy argumentumokat. Az Excelhez hasonlóan a DAX számos függvényt biztosít, amelyekkel sztringekkel dolgozhat, számításokat végezhet 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:

  • 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érték vagy egy kapcsolódó érték használatát a környezettől függően eltérő számítások végrehajtásához.

  • A DAX olyan függvénytípust tartalmaz, amely egyetlen érték helyett egy táblát ad eredményül. Ezek a függvények más függvények bemenetének biztosítására használhatók.

  • Időintelligencia-függvények A DAX-ban lehetővé teszi a dátumtartományokat használó számításokat, és összehasonlítja az eredményeket a párhuzamos időszakokban.

A DAX-képletek használata

Képleteket Power Pivotszámított columnokban vagy számítottf-értékekben is létrehozhat.

Számított oszlopok

A számított oszlop egy meglévő Power Pivot táblához hozzáadott oszlop. Az oszlopok értékeinek beillesztése vagy importálása helyett egy DAX-képletet kell létrehoznia, amely meghatározza az oszlopértékeket. Ha a Power Pivot táblát egy kimutatásba (vagy kimutatásdiagramba) foglalja, a számított oszlop ugyanúgy használható, mint bármely más adatoszlopban.

A számított oszlopok képletei hasonlóak az Excelben létrehozott képletekhez. Az Exceltől eltérően azonban nem hozhat létre más képletet a táblázat különböző soraihoz; ehelyett a DAX-képlet automatikusan a teljes oszlopra lesz alkalmazva.

Ha egy oszlop képletet tartalmaz, az érték minden sorhoz ki lesz számítva. A képlet létrehozásakor a rendszer kiszámítja az oszlop eredményeit. Az oszlopértékeket csak akkor számítja újra a rendszer, ha az alapul szolgáló adatok frissülnek, vagy ha manuális újraszámítást használ.

Mértékeken és más számított oszlopokon alapuló számított oszlopokat is létrehozhat. Ne használjon azonban ugyanazt a nevet egy számított oszlophoz és mértékhez, mivel ez zavaró eredményekhez vezethet. Ha egy oszlopra hivatkozik, a legjobb, ha teljes oszlophivatkozást használ, hogy elkerülje a mértékek véletlen meghívását.

További információ: Számított oszlopok a Power Pivotban.

Intézkedések

A mérték olyan képlet, amely kifejezetten Power Pivot adatokat használó kimutatásban (vagy kimutatásdiagramban) való használatra készült. A mértékek alapulhatnak szabványos összesítési függvényeken, például a DARAB vagy a SZUM függvényen, vagy definiálhat saját képletet a DAX használatával. A kimutatás Értékek területén mértékeket használunk. Ha a számított eredményeket a kimutatás egy másik területén szeretné elhelyezni, használjon helyette számított oszlopot.

Amikor definiál egy képletet egy explicit mértékhez, semmi sem történik, amíg fel nem adja a mértéket egy kimutatásba. A mérték hozzáadásakor a képletet a kimutatás Értékek területének minden egyes cellájára kiértékeli a függvény. Mivel a sor- és oszlopfejlécek minden kombinációjához létrejön egy eredmény, a mérték eredménye az egyes cellákban eltérő lehet.

A létrehozott mérték definíciója a forrásadattáblával együtt lesz mentve. Megjelenik a Kimutatásmezők listában, és a munkafüzet összes 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

Power Pivot, például az Excel, egy szerkesztőlécet biztosít, amellyel egyszerűbben hozhat létre és szerkeszthet képleteket, és az automatikus kiegészítés funkcióval minimalizálhatja a gépelési és szintaxishibákat.

Tábla nevének megadása   Kezdje el beírni a tábla nevét. Az automatikus képletkiegészítés egy legördülő listát biztosít, amely az ezekkel a betűkkel kezdődő érvényes neveket tartalmazza.

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

További részletekért és a képletek létrehozásának útmutatójáért lásd: Képletek létrehozása számításokhoz a Power Pivotban.

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

Az automatikus képletkiegészítést egy beágyazott függvényeket tartalmazó meglévő képlet közepén használhatja. A beszúrási pont előtti szöveg a legördülő listában lévő értékek megjelenítésére szolgál, és a beszúrási pont utáni összes szöveg változatlan marad.

Az állandókhoz létrehozott definiált nevek nem jelennek meg az Automatikus kiegészítés legördülő listában, de beírhatja őket.

Power Pivot nem adja hozzá a függvények záró zárójelét, és nem felel meg automatikusan a zárójeleknek. Győződjön meg arról, hogy az egyes függvények szintaktikailag helyesek, vagy nem tudja menteni vagy használni a képletet. 

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

Függvényeket ágyazhat be, ami azt jelenti, hogy az egyik függvény eredményeit egy másik függvény argumentumaként használja. Legfeljebb 64 függvényszintet ágyazhat be számított oszlopokba. A beágyazás azonban megnehezítheti a képletek létrehozását vagy hibaelhárítását.

Számos DAX-függvény kizárólag beágyazott függvényként használható. Ezek a függvények olyan táblát ad vissza, amely nem menthető közvetlenül eredményül; egy táblafüggvény bemeneteként kell megadni. A SZUMX, AZ ÁTLAGX és a MINX függvényhez például egy tábla szükséges első argumentumként.

Megjegyzés: A függvények beágyazásának bizonyos korlátai léteznek a mértékekben, hogy a teljesítményt ne befolyásolják az oszlopok közötti függőségek által megkövetelt számítások.

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

A DAX-függvénytár az Excel függvénytárán alapul, de a kódtárak között számos különbség van. Ez a szakasz az Excel-függvények és a DAX-függvények közötti különbségeket és hasonlóságokat foglalja össze.

  • Számos DAX-függvénynek ugyanaz a neve és általános viselkedése, mint az Excel-függvényeknek, de úgy lettek módosítva, hogy különböző típusú bemeneteket fogadjon, és bizonyos esetekben más adattípust adhat vissza. Általában nem használhat DAX-függvényeket Excel-képletekben, és nem használhat Excel-képleteket Power Pivot módosítás nélkül.

  • A DAX-függvények soha nem használnak cellahivatkozást vagy tartományt hivatkozásként, hanem a DAX-függvények egy oszlopot vagy táblázatot használnak hivatkozásként.

  • A DAX dátum- és időfüggvények datetime adattípust ad vissza. Ezzel szemben az Excel dátum- és időfüggvényei egy egész számot ad vissza, amely dátumot jelöl sorozatszámként.

  • Az új DAX-függvények közül sok értéktáblát ad vissza, vagy egy értéktáblázat alapján végez számításokat bemenetként. Ezzel szemben az Excelben nincsenek olyan függvények, amelyek táblázatot adnak vissza, de egyes függvények használhatók tömbökkel. A teljes táblák és oszlopok egyszerű hivatkozásának lehetősége a Power Pivot új funkciója.

  • A DAX az Excel tömb- és vektorkeresési függvényeihez hasonló új keresési függvényeket biztosít. A DAX-függvények azonban megkövetelik, hogy kapcsolat jön létre a táblák között.

  • Az oszlopban lévő adatoknak mindig azonos adattípusúnak kell lenniük. Ha az adatok nem azonos típusúak, a DAX a teljes oszlopot olyan adattípusra módosítja, amely a legjobban megfelel az összes értéknek.

DAX-adattípusok

Adatokat importálhat Power Pivot adatmodellbe számos különböző adatforrásból, amelyek különböző adattípusokat támogathatnak. Amikor importálja vagy betölti az adatokat, majd az adatokat számításokban vagy kimutatásokban használja, az adatok a Power Pivot adattípusok egyikére lesznek konvertálva. Az adattípusok listájáért lásd: Adattípusok az adatmodellekben.

A tábla adattípusa egy új adattípus a DAX-ban, amelyet számos új függvény bemeneteként vagy kimeneteként használnak. A FILTER függvény például bemenetként vesz fel egy táblát, és egy másik táblát ad ki, amely csak a szűrési feltételeknek megfelelő sorokat tartalmazza. A táblafüggvények összesítő függvényekkel való kombinálásával összetett számításokat végezhet dinamikusan definiált adathalmazokon. További információ: Összesítések a Power Pivotban.

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

Az Power Pivot ablak egy olyan terület, ahol több adattáblával dolgozhat, és összekapcsolhatja a táblákat egy relációs modellben. Ebben az adatmodellben a táblák kapcsolatokkal kapcsolódnak egymáshoz, így korrelációkat hozhat létre más táblák oszlopaival, és érdekesebb számításokat hozhat létre. Létrehozhat például olyan képleteket, amelyek összeadják egy kapcsolódó tábla értékeit, majd egyetlen cellába mentik az értéket. Vagy a kapcsolódó tábla sorainak szabályozásához szűrőket alkalmazhat a táblákra és oszlopokra. További információ: Adatmodellben lévő táblák közötti kapcsolatok.

Mivel kapcsolatok használatával kapcsolhat össze táblákat, a kimutatások több oszlopból származó adatokat is tartalmazhatnak, amelyek különböző táblákból származnak.

Mivel azonban a képletek teljes táblázatokkal és oszlopokkal is használhatók, a számításokat másképpen kell megterveznie, mint az Excelben.

  • Általánosságban elmondható, hogy egy oszlop DAX-képlete mindig az oszlop teljes értékkészletére vonatkozik (soha nem csak néhány sorra vagy cellára).

  • A Power Pivot tábláinak mindig ugyanannyi oszlopot kell tartalmazniuk az egyes sorokban, és az oszlopok minden sorának azonos adattípust kell tartalmaznia.

  • Ha a táblákat kapcsolat köti össze, a kulcsként használt két oszlopnak általában egyező értékeket kell tartalmaznia. Mivel Power Pivot nem kényszeríti ki a hivatkozási integritást, előfordulhat, hogy nem egyező értékek vannak egy kulcsoszlopban, és így is létre lehet hozni egy kapcsolatot. Az üres vagy nem egyező értékek jelenléte azonban hatással lehet a képletek eredményeire és a kimutatások megjelenésére. További információ: Keresések a Power Pivot-képletekben.

  • Ha kapcsolatokat használ a táblák összekapcsolásakor, akkor a hatókört vagy a context értéket kell kiterjeszteni, amelyben a képletek kiértékelése történik. A kimutatás képleteit például a kimutatás bármely szűrője, oszlop- és sorfejléce befolyásolhatja. Írhat olyan képleteket, amelyek módosítják a környezetet, de a környezet miatt az eredmények olyan módon is megváltozhatnak, amire nem számíthat. További információ: Környezet a DAX-képletekben.

Képletek eredményeinek frissítése

A data r efresh és az újraszámítás két különálló, de kapcsolódó művelet, amelyet ismernie kell egy összetett képleteket, nagy mennyiségű adatot vagy külső adatforrásokból származó adatokat tartalmazó adatmodell tervezésekor.

Az adatok frissítése a munkafüzetben lévő adatok külső adatforrásból származó új adatokkal való frissítésének folyamata. Az adatokat manuálisan is frissítheti a megadott időközönként. Ha pedig közzétette a munkafüzetet egy SharePoint-webhelyen, ütemezhet automatikus frissítést külső forrásokból.

Az újraszámítás az a folyamat, amely frissíti a képletek eredményeit, hogy azok maguk is tükrözzék a képletek módosításait, és tükrözzék az alapul szolgáló adatok változásait. Az újraszámítás a következő módokon befolyásolhatja a teljesítményt:

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

  • Mérték esetén a képletek eredményei nem lesznek kiszámítva, amíg a mérték a kimutatás vagy a kimutatásdiagram környezetébe nem kerül. A képletet akkor is újraszámítja a program, ha módosít egy olyan sor- vagy oszlopfejlécet, amely hatással van az adatok szűrőire, vagy amikor manuálisan frissíti a kimutatást.

Képletek hibaelhárítása

Képletek írásakor előforduló hibák

Ha hibát kap egy képlet definiálásakor, a képlet szintaktikai hibát, szemantikai hibát vagy számítási hibát tartalmazhat.

A szintaktikai hibák a legegyszerűbben megoldhatók. Ezek általában hiányzó zárójelet vagy vesszőt tartalmaznak. Az egyes függvények szintaxisával kapcsolatos segítségért tekintse meg a DAX-függvények referenciáját.

A másik hibatípus akkor fordul elő, ha a szintaxis helyes, de a hivatkozott értéknek vagy oszlopnak nincs értelme a képlet kontextusában. Az ilyen szemantikai és számítási hibákat az alábbi problémák bármelyike okozhatja:

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

  • A képlet helyesnek tűnik, de amikor az adatmotor beolvassa az adatokat, típuseltérést talál, és 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ás oszlopra hivatkozik, ezért az értékei érvénytelenek.

  • A képlet egy nem feldolgozott oszlopra hivatkozik, ami azt jelenti, hogy metaadatokkal rendelkezik, de nem használ tényleges adatokat számításokhoz.

Az első négy esetben a DAX megjelöli az érvénytelen képletet tartalmazó teljes oszlopot. Az utolsó esetben a DAX szürkén jelenik meg az oszlopon, jelezve, hogy az oszlop feldolgozatlan állapotban van.

Helytelen vagy szokatlan eredmények oszlopértékek rangsorolása vagy rendezésekor

A NaN (Nem szám) értéket tartalmazó oszlop rangsorolása vagy sorrendbe helyezésekor előfordulhat, hogy helytelen vagy váratlan eredményeket kap. Ha például egy számítás 0-tal osztja el a 0-t, a naN-eredmény lesz visszaadva.

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

A helyes eredmények biztosítása érdekében a HA függvénnyel feltételes utasításokkal tesztelheti a NaN-értékeket, és visszaadhat egy numerikus 0 értéket.

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

Általánosságban elmondható, hogy a Power Pivot beépített DAX-képletek teljes mértékben kompatibilisek az Analysis Services táblázatos modelljeivel. Ha azonban a Power Pivot modellt egy Analysis Services-példányra migrálja, majd DirectQuery módban helyezi üzembe a modellt, bizonyos korlátozások vonatkoznak rá.

  • Egyes DAX-képletek eltérő eredményeket adhatnak, ha DirectQuery módban helyezi üzembe a modellt.

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

További információ: Az Analysis Services táblázatos modellezési dokumentációja a 2012-SQL Server BooksOnline-ban.

További segítségre van szüksége?

További lehetőségeket szeretne?

Fedezze fel az előfizetés előnyeit, böngésszen az oktatóanyagok között, ismerje meg, hogyan teheti biztonságossá eszközét, és így tovább.

A közösségek segítségével kérdéseket tehet fel és válaszolhat meg, visszajelzést adhat, és részletes ismeretekkel rendelkező szakértőktől hallhat.