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.
Amikor az adatmodellt és a DAX for LuckyTemplates-hez optimalizálja, érdemes megjegyezni, hogy a színfalak mögött két motor fut – a képletmotor és a tárolómotor .
Ez a két motor együtt dolgozik, hogy visszaadja a szükséges eredményeket a felhasználónak. Az eredményeket táblázat vagy skálaérték formájában adják meg.
Tartalomjegyzék
A Formula Motor szerepe
Ebben a cikkben a formulamotorra fogunk összpontosítani.
A képletmotor a legfelső szintű motor, amely a lekérdezés teljes architektúráját kezeli.
Bármit is csinál egy lekérdezés végrehajtása közben, vagy miközben egy számított oszlopot vagy egy számított táblázatot hoz létre, a képletmotor beindul.
A képletmotor nemcsak a DAX-ban, hanem az MDX-ben is megérti a kapott lekérdezéseket. Például az Excel használatakor pivot-modelleket hoz létre pivot-táblázatok alapján, és a kimutatástáblázatok valójában MDX nyelvet használnak.
Itt lép be a képletmotor. Mivel a DAX-ot és az MDX-et is megérti, használhat egy másik LuckyTemplates modellt is. Az ebből az adatmodellből küldött lekérdezések DAX-ot, míg a pivot-modellből érkező lekérdezések MDX-et fognak használni.
Hogyan működik a Formula Engine
Az MDX-forrásból vagy a DAX-forrásból származó lekérdezések megértése csak egy tényező a képletmotor teljesítményében. Más lépéseken is keresztülmegy, amelyek segítenek a lekérdezéseken.
Először is létre kell hoznia egy lekérdezési tervet, amelyet a tárolómotor megért . Az alacsonyabb szintű motorként a tárolómotor valójában nem tudja, hogy az Excelben lévő pivot tábla vagy a LuckyTemplates vizualizációja végrehajtotta-e a lekérdezést.
Lekérdezési terv létrehozásakor a képletmotor először egy logikai lekérdezési tervet készít, majd egy fizikai lekérdezési tervet. A logikai és a fizikai lekérdezési tervnek is hasonlítania kell egymásra.
A fizikai lekérdezési terv teljesítése után a felhasználó vagy az ügyféleszköz megkapja az eredménykészletet. Innentől kezdve az ügyféleszköz határozza meg, hogyan fogja használni az eredményeket vagy az adatkészletet, hogy megjelenítse a végeredményt a felhasználó számára.
A Formula motor fő korlátai
A képletmotor óriási szerepet játszik, amikor a DAX-ot LuckyTemplateshez optimalizálja a DAX Studio használatával. Ez azonban bizonyos korlátozásokkal is jár.
Először is, a formulamotor mindig egyetlen magot használ a teljes működés kezelésére, függetlenül attól, hogy hány CPU mag áll rendelkezésre a rendszerben .
Amikor megnyitom a Feladatkezelőt, látni fogja, hogy a CPU-m hat maggal rendelkezik.
Ennek ellenére a formulamotor továbbra is kiválaszt egyet a hat mag közül, amellyel dolgozni, míg a tárolómotort hagyja a többi használatára.
Másodszor, a képletmotornak nincs közvetlen hozzáférése az adatbázishoz . E korlátozás miatt az adatokat vagy a belső memóriában kell tárolnia, vagy tárolhatja az adatbázisban, és létrehozhat egy DirectQuery-t az adatbázison keresztül.
A tárolómotorra is támaszkodik, hogy az adatokat adatgyorsítótár formájában kapja meg. A képletmotor ezután iterál az adatgyorsítótáron, és folytatja, mielőtt eredményeket tudna nyújtani a végfelhasználónak.
Hogyan segít a Formula Engine optimalizálni a DAX-ot LuckyTemplates számára?
Néha, amikor megpróbálja optimalizálni az adatmodellt vagy a DAX-ot LuckyTemplateshez, észreveszi, hogy a tárolómotor lelassul, miközben lekérdezéseket hajt végre. Ebben az esetben használhatja a képletmotort a teljes számítás elvégzéséhez a folyamat optimalizálása érdekében.
Vegye figyelembe, hogy ha a képletmotor végül a teljes táblát önmagában építi fel, a folyamat során létrehozott eredményhalmaz nem kerül felhasználásra a következő lekérdezésekben, amelyeket az ügyféleszköz generál, ha azok hasonlóak a korábban végrehajtott lekérdezésekhez . De abban az esetben, ha a tárolómotor biztosítja az adatgyorsítótárat, akkor az adott adatgyorsítótár a memóriában tartható, így optimalizálni tudja az ügyféleszköztől érkező kéréseket.
Hogyan fog ez működni?
Tegyük fel, hogy írunk egy lekérdezést, amelyet teljes egészében a tárolómotor hajt végre, de néhány szempontot a képletmotornak kell kiszámítania. Ebben az esetben a tárolómotor visszaküld egy adatgyorsítótárat a képletmotornak, és ez az adatgyorsítótár (ha egyszerű) a memóriában tárolható.
Most, ha néhány másodperccel később érkezik egy hasonló lekérdezés, ahelyett, hogy a teljes adatmodellt még egyszer átvizsgálná, a képletmotor vagy a tárolómotor az adott adatgyorsítótárat használja, így csökkenthető a lekérdezési idő és a felhasználói élmény. javított.
A Formula motor terhelésének csökkentése
A formulamotor ismét megérti a DAX és MDX kódokat.
Tehát ha használod,és egyéb feladatok, a formula motor ismeri a DAX nyelven belül használt összes függvényt, és képes lesz mindezt önállóan megoldani. Ez azonban hatással lehet a lekérdezés teljesítményére, különösen mivel a képletmotor mindent egyetlen mag használatával próbál meg végrehajtani.
Éppen ezért ügyelnünk kell a formulamotor terhelésének csökkentésére és a tárolómotor terhelésének növelésére is.
Jó példa arra, hogy a képletmotoron belüli számítások mennyire eltérnek a tárolómotortól, a CROSSJOIN használata.
A CROSSJOIN használatakor csak korlátozott mennyiségű adat halad át a tárolómotoron. Ami a számítás többi részét illeti, mindezt a képletmotor hajtja végre. Összehasonlításképpen, a SUMMARIZE használata azt jelenti, hogy a teljes lekérdezést végrehajtják a tárolómotoron belül.
Természetesen ez attól is függ, hogy az SUMMARIZE-t hogyan használják.
Ha a SUMMARIZE-t használjuk a legbelső funkcióként, akkor az mindenképpen lenyomódik a tárolómotorra. Bizonyos esetekben azonban az SUMMARIZE egy másik kóddal együtt használatos, amely a képletmotor működését igényli. Ebben az esetben a képletmotor közbelép és elvégzi a munkát.
Annak ismerete, hogy hol halad a terhelés, segíthet optimalizálni a lekérdezés teljesítményét, különösen akkor, ha szem előtt tartja az Ön rendelkezésére álló motorok kapacitását és korlátait.
Eszközök, amelyek segíthetnek optimalizálni a DAX-ot LuckyTemplates számára
A DAX optimalizálása könnyebb lesz, ha maximalizálja az ezt lehetővé tevő eszközöket. A DAX Studio az egyik ilyen eszköz.
Vegyük a korábbi példát, ahol a képletmotor átveszi a számítás befejezésének teljes terhét az ÖSSZEFOGLALÁS függvény használatakor. A DAX Studio segíthet a kód átírásában oly módon, hogy az SUMMARIZE-t a tárolómotorba tolja, felszabadítva a formulamotor terhelését. Ez potenciálisan javítja az adatmodell és a lekérdezések teljesítményét.
Természetesen ennek zökkenőmentesen kell működnie egyszerű lekérdezések esetén. Vannak bonyolultabb forgatókönyvek is.
Például létrehozhat olyan összetett modelleket, amelyek két tárolómotort használnak magán az adatmodellben. Az egyik a Vertipaq, a másik pedig a DirectQuery számára. Ebben az esetben az adatbázist úgy kell optimalizálni, hogy a generált lekérdezések az adott relációs adatmodellhez épüljenek fel.
Tegyük fel, hogy a dátummodellben két tábla van – a Termékek tábla és az Értékesítés tábla. A Termékek tábla a Vertipaq tárolóban található, míg az Értékesítési tábla, mivel egy nagyobb tábla, közvetlenül az adatbázison belül van tárolva egy DirectQuery kapcsolaton keresztül.
Tételezzük fel azt is, hogy a mátrixba húzza a Márka oszlopot, valamint a DirectQuery kapcsolaton belüli értékesítési táblából származó Teljes értékesítés mértékét.
Ebben az esetben a képletmotornak kell végrehajtania a műveletet a két motor között.
Először is lekéri a Termékkulcs és Márka oszlopokat a Termékek táblázatból. Ezután lekéri a Nettó ár, Mennyiség és Termékkulcs oszlopokat az Értékesítési táblázatból. Miután mind a Vertipaq, mind a DirectQuery adatgyorsítótárával rendelkezik, a képletmotornak fel kell vennie az adatgyorsítótárat, és meg kell próbálnia csatlakozni hozzájuk, hogy az eredményeket a végfelhasználónak lássa.
Következtetés
A formula motor valóban óriási szerepet játszik, amikor a DAX-szal dolgozik. Mindazonáltal kritikus fontosságú annak megértése, hogyan működik, mielőtt belevágna. A képletmotor és a tárolómotor zökkenőmentes együttműködésének elsajátítása kulcsfontosságú, különösen akkor, ha azt szeretné, hogy DAX-lekérdezései jobban teljesítsenek.
Az elemzési szolgáltatások architektúrájának legfelső szintű motorjaként a képletmotornak sok műveletet kell végrehajtania. De miután megértette a tárolómotor csínját-bínját is, kitalálhatja, hogy melyik műveletet helyezze be a tárolómotorba, és melyiket hagyja a képletmotoron belül.
Egy külön oktatóanyagban mélyebbre ásunk a tárolómotorral.
Minden jót,
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.