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.


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.

Microsoft Power Platform frissítések | Microsoft Ignite 2021

Microsoft Power Platform frissítések | Microsoft Ignite 2021

Tekintse át a Power Apps és a Power Automate legfontosabb frissítéseit, valamint azok előnyeit és következményeit a Microsoft Power Platform számára.

Gyakori SQL-függvények: Áttekintés

Gyakori SQL-függvények: Áttekintés

Fedezzen fel néhány gyakori SQL-függvényt, amelyeket használhatunk, például a karakterláncot, a dátumot és néhány speciális függvényt az adatok feldolgozásához vagy manipulálásához.

LuckyTemplates sablonok létrehozása: útmutató és tippek

LuckyTemplates sablonok létrehozása: útmutató és tippek

Ebből az oktatóanyagból megtudhatja, hogyan hozhatja létre a tökéletes LuckyTemplates sablont, amely az Ön igényeinek és preferenciáinak megfelelően van konfigurálva.

Mezőparaméterek és kis többszörösek a LuckyTemplatesben

Mezőparaméterek és kis többszörösek a LuckyTemplatesben

Ebben a blogban bemutatjuk, hogyan lehet a mezőparamétereket kis többszörösekkel rétegezni, hogy hihetetlenül hasznos betekintést és látványelemeket hozzon létre.

LuckyTemplates rangsor és egyéni csoportosítás

LuckyTemplates rangsor és egyéni csoportosítás

Ebből a blogból megtudhatja, hogyan használhatja a LuckyTemplates rangsorolási és egyéni csoportosítási funkcióit a mintaadatok szegmentálására és kritériumok szerinti rangsorolására.

A LuckyTemplatesben csak egy meghatározott dátumig összesített összeg látható

A LuckyTemplatesben csak egy meghatározott dátumig összesített összeg látható

Ebben az oktatóanyagban egy konkrét technikát fogok bemutatni, hogyan jelenítheti meg a kumulatív összeget csak egy adott dátumig a LuckyTemplates vizualizációjában.

Bullet Charts: speciális egyéni látványelemek a LuckyTemplates számára

Bullet Charts: speciális egyéni látványelemek a LuckyTemplates számára

Ismerje meg, hogyan hozhat létre és testreszabhat Bullet diagramokat a LuckyTemplates alkalmazásban, amelyeket főként a teljesítmény mérésére használnak a célhoz vagy az előző évekhez képest.