Iterátorok és kontextusátmenetek DAX-lekérdezésekben

Ez az oktatóanyag a kontextus átmenetet és a beágyazott iterátorokat tárgyalja. Megtanulja ezeknek az entitásoknak a fontosságát, és azt, hogy hogyan lehetnek jó források az optimalizáláshoz.

Ha emlékszel, a kontextus átmenet akkor történik meg, amikor egy sorkontextus egyenértékű szűrőkörnyezetté változik. Tisztában kell lennie azzal, hogy mi történik, amikor kontextusváltás történik az iterátorokban, mert az gyakran lassú eredményeket generálhat.

Tartalomjegyzék

Beágyazott iterátorok versus CALCULATE

Ha egy iteráció során kontextus-átmenetet hívunk meg, akkor létrejön egy materializációs tábla. Ez azt jelenti, hogy a kontextus átmenetet a DAX-ban lévő képletek hívják meg. A táblázat egy tömörítetlen adat, amelyet a rendszer a képletmotornak küld.

Ennek bemutatása érdekében az első mérőszám a nagy értékesítésekre vonatkozik, amelyek akkor kapják meg az aktuális árat, ha az 500-nál nagyobb vagy egyenlő.

Iterátorok és kontextusátmenetek DAX-lekérdezésekben

A következő mérőszám a beágyazott iterátorokkal végzett Big Sales átlagára vonatkozik.

Iterátorok és kontextusátmenetek DAX-lekérdezésekben

Az utolsó mérőszám a beágyazott iterátor és a CallBackDataID nélküli nagy eladások átlagát kapja.

Iterátorok és kontextusátmenetek DAX-lekérdezésekben

Futtassa a mértéket a beágyazott iterátorral. A futtatás előtt feltétlenül törölje a gyorsítótárat, majd kapcsolja be a Kiszolgálóidőzítéseket és a Lekérdezési tervet.

Iterátorok és kontextusátmenetek DAX-lekérdezésekben

Látható, hogy 3 vizsgálatot, 2 CallBackDataID-t és 15 003 sort generált. Ez aggodalomra ad okot, mert a kimenetnek csak 101 sora van. Ez azért történt, mert az intézkedésnek két iterátora vagy X függvénye van.

Ez a futtatott intézkedés teljesen kibővített formája:

Iterátorok és kontextusátmenetek DAX-lekérdezésekben

A Fact Sales táblát ismétli vele. Ezután ismét megismétli a CallBackDataID használatával. Ennek az intézkedésnek a rövidített formátuma magában foglalfüggvény, amely kontextusváltást hív meg és materializálja a táblát. Ezért húzott ki 15 003 sort, még akkor is, ha csak 101 sor van a kimenetre.

Futtassa a másik mértéket, amely nem rendelkezik beágyazott iterátorokkal. Még mindig iterálja a Fact Sales táblát az AVERAGEX használatával , de a Current Price kívül esik a függvényen. Kiszűri azokat a termékeket, amelyeknél az aktuális ár nagyobb vagy egyenlő, mint 500, majd kiszámítja az átlagot.

Iterátorok és kontextusátmenetek DAX-lekérdezésekben

Látható, hogy csak 2 vizsgálat van, 104 sor, és nincs CallBackDataID. Tehát a CALCULATE használatával megszabadulhat a beágyazott iterátoroktól és CallBackDataID-ktől .




Következtetés

A lassú teljesítményű DAX-nak számos oka lehet. Az egyik a beágyazott iterátoroknak köszönhető, amelyek szükségtelen kontextus-átmeneteket okoznak. Ezek az iterátorok a szükségesnél több sort hoznak létre, ami a lekérdezések lelassulását okozza.

Erre a legjobb megoldás, ha a CALCULATE belsejébe helyezzük . Ez kevesebb munkát jelent a képletmotor számára, és maximalizálja a tárolómotor képességeit.


Mi az a Power Query & M Language: Részletes áttekintés

Mi az a Power Query & M Language: Részletes áttekintés

Ez az oktatóanyag áttekintést nyújt a Power Query szerkesztőről és az M nyelvről a LuckyTemplates asztalon.

Oldalszámozott jelentés készítése: Szövegek és képek hozzáadása

Oldalszámozott jelentés készítése: Szövegek és képek hozzáadása

Ismerje meg, hogyan hozhat létre oldalszámozott jelentést, hogyan adhat hozzá szövegeket és képeket, majd exportálhatja a jelentést különböző dokumentumformátumokba.

A SharePoint automatizálási szolgáltatás | Bevezetés

A SharePoint automatizálási szolgáltatás | Bevezetés

Ismerje meg, hogyan használhatja a SharePoint automatizálási funkcióját munkafolyamatok létrehozására, és segít a SharePoint-felhasználók, -könyvtárak és -listák mikrokezelésében.

Oldja meg az adatelemzési kihívást a LuckyTemplates Accelerator segítségével

Oldja meg az adatelemzési kihívást a LuckyTemplates Accelerator segítségével

Fejlessze jelentéskészítési készségeit, ha csatlakozik egy adatelemzési kihíváshoz. Az Accelerator segítségével LuckyTemplates szuperfelhasználóvá válhatsz!

Összesítések futtatása a LuckyTemplates alkalmazásban a DAX segítségével

Összesítések futtatása a LuckyTemplates alkalmazásban a DAX segítségével

Ismerje meg, hogyan számíthatja ki a futó összegeket a LuckyTemplates programban a DAX segítségével. Az összesítések futtatása lehetővé teszi, hogy ne ragadjon le egyetlen egyéni eredménynél sem.

A LuckyTemplates Dax-változói állandóak: mit jelent ez?

A LuckyTemplates Dax-változói állandóak: mit jelent ez?

Ismerje meg a változók fogalmát a DAX-ban a LuckyTemplates-en belül, és a változók hatásait a mérőszámok kiszámítására.

LuckyTemplates lejtődiagram: Áttekintés

LuckyTemplates lejtődiagram: Áttekintés

Tudjon meg többet a LuckyTemplates Slope diagram nevű egyéni vizualizációról, amely egyetlen vagy több mérőszám növekedésének/csökkenésének megjelenítésére szolgál.

LuckyTemplates színes témák az egységes vizualizációkhoz

LuckyTemplates színes témák az egységes vizualizációkhoz

Fedezze fel a LuckyTemplates színtémáit. Ezek elengedhetetlenek ahhoz, hogy jelentései és vizualizációi zökkenőmentesen nézzenek ki és működjenek.

Átlag kiszámítása LuckyTemplatesben: Hétköznapi vagy hétvégi eredmények elkülönítése a DAX segítségével

Átlag kiszámítása LuckyTemplatesben: Hétköznapi vagy hétvégi eredmények elkülönítése a DAX segítségével

Az átlag kiszámítása a LuckyTemplates alkalmazásban számos módon elvégezhető, hogy pontos információkat kapjon üzleti jelentéseihez.

LuckyTemplates Theming | LuckyTemplates Desktop Standard Theming

LuckyTemplates Theming | LuckyTemplates Desktop Standard Theming

Nézzük meg a Standard LuckyTemplates Theming témakört, és tekintsünk át néhány olyan funkciót, amely magában a LuckyTemplates Desktop alkalmazásban található.