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.
Ebből az oktatóanyagból megtudhatja, mi az adatgyorsítótár, és miért fontos. Az adatgyorsítótár olyan adatbiteket tárol, amelyek értékesek lehetnek a jövőbeni felhasználáshoz.
Ha ugyanazokra az információkra van szüksége egy jövőbeni intézkedés vagy művelet során, az adatgyorsítótár biztosítja a szükséges információkat. Kiküszöböli, hogy a rendszer újra lekérje ugyanazokat az adatkészleteket.
Ebben az oktatóanyagban nyolc fontos dolgot fog végignézni, amelyeket érdemes megjegyezni, amikor a LuckyTemplates adatgyorsítótáraival foglalkozik:
Tartalomjegyzék
Az adatgyorsítótár meghatározása és célja
Az adatgyorsítótár egy ideiglenes tábla, amelyet a . Ezt az ideiglenes táblát a rendszer elküldi a képletmotornak, amely ismételgeti ezeket az információkat, és különböző műveleteket hajt végre a lekérdezést követően.
Minden kommunikáció a tárolómotor és a tárolómotor között mindig adatgyorsítótár formájában történik. A képletmotor elkészíti a lekérdezési terveket, majd elküldi az utasításokat a tárolómotornak. A tárolómotor ezután visszaküldi a képletmotornak, amely visszaküldi az eredményt a felhasználónak.
Mivel a képletmotornak nincs közvetlen hozzáférése a DirectQuery-ben és a VertiPaq-ban tárolt adatokhoz, az adatgyorsítótárak tárolására szolgáló motorra támaszkodik.
A tárolómotor által küldött adatgyorsítótár tömörítetlen formátumú. Ez azt jelenti, hogy a Vertipaq eszközben tárolt adatok mérete csökkenthető.
De amikor eljött az ideje, hogy az adatgyorsítótárat visszaadja a képletmotornak, nem lehet tömöríteni, mert a képletmotor nem működik tömörített adatkészletekkel.
Mi az adatgyorsítótár hatása a RAM-ra?
Ha a tárolómotor hatalmas adat-gyorsítótárakat küld, ez sok helyet foglal el a szoftver RAM-jában. Jelentős időbe telik az is, hogy a formulamotor iterációkat hajtson végre és eredményt produkáljon.
Tehát amikor a DAX-kódot írja, meg kell értenie, hogy azt úgy kell megírni, hogy minimalizálja az adatgyorsítótár sorait.
A legjobb forgatókönyv az lenne, ha a vizualizációban látható sorok számát egyeztetik az adatgyorsítótárban visszaadott sorok számával.
A legtöbbször nehéz ugyanannyi sort visszaadni. Ha ez megtörténik, át kell tekintenie a DAX-kódot, és úgy kell lebontania, hogy az optimalizálja a tárolómotor által előállított adatgyorsítótárat.
Hogyan optimalizálja az adatgyorsítótár a lekérdezéseket
Nem optimalizált funkciók
A DAX nyelv egyes funkciói nincsenek optimalizálva a tárolómotorhoz. Ennek jobb megértéséhez nézzünk egy példát.
Például a kódban a SUMMARIZE használata helyett használhatja a függvényt. A SUMMARIZE és GROUPBY funkciók ugyanazt a műveletet hajtják végre. A forgatókönyvtől függően azonban jelentős különbségek vannak.
A GROUPBY funkció nincs optimalizálva a Storage Engine-hez. Ha a GROUPBY függvényt egy 12 millió soros ténytáblán használja, akkor az ugyanannyi sorból álló adatgyorsítótárat hoz létre. Ez 600 MB-tól 1 GB-ig terjedhet.
Ez a méret nagy nyomást gyakorolhat a RAM-ra. Tehát a GROUPBY használata helyett használja a . Az ÖSSZEFOGLALÁS függvény kisebb adatgyorsítótárméretet eredményez. Legfelső szintű funkcióként párosítható a GROUPBY-val.
Csökkentett ismétlések
Amikor DAX-mértékeket vagy lekérdezéseket ír, meg kell győződnie arról, hogy a színfalak mögött előállított kód alkalmas-e a tárolómotorhoz.
A DAX-kódot úgy kell megírnia, hogy az adatgyorsítótárat hozzon létre, amely a későbbi lekérdezésekben is használható. Ennek az az előnye, hogy ahelyett, hogy külön vizsgálatot végezne a használatával, a tárolómotor ellenőrzi, hogy érkezett-e már hasonló lekérdezés.
Ha ez igaz, akkor az azt jelenti, hogy az adatgyorsítótár elérhető a memóriában. Tehát ahelyett, hogy újra megvizsgálná a lekérdezést, a VertiPaq egyszerűen visszaküldi azt a gyorsítótárból a képletmotorba.
Ha egy jelet lát a tárolómotor lekérdezésében, az azt jelenti, hogy ezek a lekérdezések nem tárolhatók gyorsítótárban. Ha hasonló lekérdezés érkezik a tárolómotorhoz, az ismétlést hajt végre.
Így a VertiPaq-nak meg kell hívnia a képletmotort a lekérdezés feloldásához. Ez megnöveli a teljes végrehajtási időt, mivel a gyorsítótár ebben az esetben nem használható.
Következtetés
Az adatgyorsítótár a legjobb barátod a DAX nyelvben. Ne felejtse el úgy írni a DAX-kódot, hogy maximalizálja a tárhelyet, és csökkentse a VertiPaq eszköz iterációinak számát. A Storage Engine által már létrehozott adatgyorsítótárat újra felhasználhatja a lekérdezés végrehajtási idejének csökkentése érdekében.
Ez az oktatóanyag áttekintést nyújt a Power Query szerkesztőről és az M nyelvről a LuckyTemplates asztalon.
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.
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.
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!
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.
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.
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.
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.
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.
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ó.