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.

Leave a Comment

E-mail melléklet mentése SharePointba a Power Automate segítségével

E-mail melléklet mentése SharePointba a Power Automate segítségével

Ebből a blogból megtudhatja, hogyan mentheti automatikusan az e-mail mellékleteket a SharePointba, majd törölheti az e-maileket a Power Automate segítségével.

A Microsoft LuckyTemplates irányítópult 18 legjobb példája 2023

A Microsoft LuckyTemplates irányítópult 18 legjobb példája 2023

A Microsoft LuckyTemplates irányítópult 18 legjobb példája 2023

A Power Automate folyamatok létrehozása a semmiből

A Power Automate folyamatok létrehozása a semmiből

Ismerje meg, hogyan hozhat létre <strong>Power Automate</strong> folyamatokat a semmiből. Sablon használata helyett mi magunk hozzuk létre a kiváltó okokat és a műveleteket.

4 módszer a Pi használatára a Pythonban példákkal

4 módszer a Pi használatára a Pythonban példákkal

4 módszer a Pi használatára a Pythonban példákkal

Profit and Loss (P&L) kimutatások létrehozása a LuckyTemplates alkalmazásban

Profit and Loss (P&L) kimutatások létrehozása a LuckyTemplates alkalmazásban

Ebben az útmutatóban bemutatom, hogyan lehet Pénzügyi információk mátrixát létrehozni a Profit és veszteség (P&L) kimutatással a LuckyTemplates alkalmazásban.

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Hogyan lehet dinamikusan egyesíteni az oszlopokat egy Power Query-táblázatban

Fedezze fel, hogyan lehet dinamikusan egyesíteni oszlopokat a Power Query Table.CombineColumns függvény segítségével.

SharePoint-fájlok hozzáadása a számítógéphez

SharePoint-fájlok hozzáadása a számítógéphez

Ismerje meg, hogyan adhatjuk hozzá és szinkronizálhatjuk SharePoint-fájljainkat az asztalon és a OneDrive-on.

Dátumtáblázat létrehozása a LuckyTemplates alkalmazásban

Dátumtáblázat létrehozása a LuckyTemplates alkalmazásban

Tudja meg, miért fontos egy dedikált dátumtáblázat a LuckyTemplatesben, és ismerje meg ennek leggyorsabb és leghatékonyabb módját.

LuckyTemplates mobil jelentéskészítési tippek és technikák

LuckyTemplates mobil jelentéskészítési tippek és technikák

Ez a rövid oktatóanyag kiemeli a LuckyTemplates mobil jelentési funkcióját. Megmutatom, hogyan készíthet hatékony jelentéseket mobileszközökön.

Professzionális szolgáltatáselemzési jelentések LuckyTemplatesben

Professzionális szolgáltatáselemzési jelentések LuckyTemplatesben

Ebben a LuckyTemplates bemutatóban olyan jelentéseket tekintünk át, amelyek professzionális szolgáltatáselemzést mutatnak be egy olyan cégtől, amely több szerződéssel és ügyfél-elkötelezettséggel rendelkezik.