LuckyTemplates tömörítési technikák a DAX Studio-ban

Ebben az oktatóanyagban megismerheti a különböző LuckyTemplates tömörítési technikákat, amelyek segítenek optimalizálni a jelentést.

Miután az Analysis Services a LuckyTemplates Power Pivotban és szegmensenként betöltötte az adatokat, két esemény történik. Az első az, hogy különböző kódolási módszereket próbálnak használni. A második az, hogy megpróbálják a legjobb rendezési sorrendet finanszírozni, amely az ismétlődő értékeket egymás mellé helyezi. Ez a módszer növeli a tömörítést, és csökkenti a memóriára nehezedő nyomást.

Az Analysis Services különböző tömörítési technikákat használ. Ez az oktatóanyag három módszert fed le, nevezetesen az értékkódolást, a futáshossz-kódolást és a szótárkódolást. Az oktatóanyag utolsó szakasza bemutatja, hogyan lehet rendezni a sorrendet az Analysis Services szolgáltatásban.

Tartalomjegyzék

LuckyTemplates tömörítési technika #1: Értékkódolás

Az elsőt értékkódolásnak hívják.

Az értékkódolás matematikai kapcsolatot keres az oszlopban lévő egyes értékek között a memória csökkentése érdekében. Íme egy példa a Microsoft Excelben:

Ez az oszlop 16 384 bitet igényel az értékek tárolásához.

LuckyTemplates tömörítési technikák a DAX Studio-ban

A szükséges bitek kiszámításához először használja az Excel MAX() függvényét, hogy a legmagasabb értéket kapja meg az oszlopokban. Ebben az esetben ez 9144. Ezután használja a POWER() függvényt a szükséges bitek kiszámításához. Használja a POWER(2, X) argumentumot, ahol X bármely olyan pozitív érték, amely a MAX értéknél nagyobb választ ad vissza. X ebben az esetben a szükséges biteket is jelöli. Tehát ebben a példában X értéke 14, ami 16 384- et eredményez . Ezért az oszlop 14 bites tárhelyet igényel.

A szükséges bitek értékkódolással történő csökkentéséhez a VertiPaq megkeresi a MIN értéket az oszlopban, és kivonja azt minden értékből. Ebben az esetben az oszlop MIN értéke 9003. Ha ezt kivonja az oszlopból, akkor a következő értékeket adja vissza:

LuckyTemplates tömörítési technikák a DAX Studio-ban

Ugyanazokat a függvényeket és argumentumokat használva láthatja, hogy az új oszlop MAX értéke 141. Ha pedig 8-at használ X értékeként, az 256- ot eredményez . Ezért az új oszlop csak 8 bitet igényel.

Láthatja, hogy a második mennyire tömörített az első oszlophoz képest.

Miután az adatokat tömörítette, és megpróbálja lekérdezni az új oszlopot, a rendszer megvizsgálja ezt az oszlopot. Nem egyszerűen az oszlop új értékeit adják vissza. Ehelyett hozzáadják a kivont értéket, mielőtt visszaküldik az eredményt a felhasználónak.

Az értékkódolás azonban csak olyan oszlopokon működik, amelyek egész számokat vagy rögzített decimális számokat tartalmazó értékeket tartalmaznak.

LuckyTemplates tömörítési technika #2: Futtassa a hosszanti kódolást

A második kódolási módszer az úgynevezett Run Length Encoding.

A Run Length Encoding létrehoz egy adatstruktúrát, amely tartalmazza a külön értéket, egy Start oszlopot és egy Count oszlopot.

Vegyünk egy példát:

LuckyTemplates tömörítési technikák a DAX Studio-ban

Ebben az esetben azt jelzi, hogy az első sorban egy piros érték áll rendelkezésre. Ezután megállapítja, hogy a fekete érték a második sorban kezdődik, és elérhető a következő négy cellában. Továbblép a harmadik értékre, a kékre , amely a hatodik sorban kezdődik, és a következő három sorban áll rendelkezésre. És ez addig megy, amíg el nem éri az oszlop utolsó értékét.

Tehát a teljes oszlop tárolása helyett olyan adatstruktúrát hoz létre, amely csak arról tartalmaz információt, hogy egy adott érték hol kezdődik és hol végződik, és hány ismétlődése van.

LuckyTemplates tömörítési technikák a DAX Studio-ban

Az azonos szerkezetű oszlopok esetében az adatok tovább tömöríthetők, ha az értékeket növekvő vagy csökkenő sorrendbe rendezzük.

LuckyTemplates tömörítési technikák a DAX Studio-ban

Ezzel a megfelelően rendezett oszloppal láthatja, hogy a Run Length Encoding metódus mostantól egy sorral kevesebb adatstruktúrát ad vissza.

LuckyTemplates tömörítési technikák a DAX Studio-ban

Tehát ha sok különböző értékkel van dolgunk, ajánlatos az oszlopot a lehető legoptimálisabb módon rendezni. Ez kevesebb sorral rendelkező adatstruktúrát ad, ami viszont kevesebb RAM-ot foglal el.

A Run Length Encoding nem alkalmazható az elsődleges kulcsokra, mert az elsődleges kulcs oszlopai csak egyedi értékeket tartalmaznak. Tehát ahelyett, hogy minden értékhez egy sort tárolna, az oszlopot úgy tárolja, ahogy van.

LuckyTemplates tömörítési technika #3: Szótárkódolás

A harmadik kódolási módszer az úgynevezett szótári kódolás.

A Dictionary Encoding szótárszerű struktúrát hoz létre, amely egy oszlop különálló értékét tartalmazza. Az egyedi értékhez indexet is rendel.

Az előző példa segítségével nézzük meg, hogyan működik a szótári kódolás. Ebben az esetben a Red, Black és Blue értékekhez 0, 1 és 2 index tartozik.

LuckyTemplates tömörítési technikák a DAX Studio-ban

Ezután a Run Length Encodinghoz hasonló adatstruktúrát hoz létre. A tényleges értékek tárolása helyett azonban a Dictionary Encoding minden egyes értékhez hozzárendelt indexet tárol.

LuckyTemplates tömörítési technikák a DAX Studio-ban

Ez tovább csökkenti a felhasznált RAM mennyiségét, mivel a számok kevesebb helyet foglalnak el, mint a karakterláncértékek.

A szótári kódolás függetlenné teszi a táblázatos adattípust is. Azaz, függetlenül attól, hogy van-e olyan oszlop, amely különböző adattípusokban tárolható, ez nem számít, mivel az adatstruktúra csak az indexértéket tárolja.

Azonban még ha független is, az adattípus továbbra is hatással lesz a szótár méretére. Attól függően, hogy milyen adattípusba szeretné menteni az oszlopot, a szótár (vagy adatstruktúra) mérete ingadozni fog. De maga az oszlop mérete változatlan marad.

Tehát attól függően, hogy milyen adattípust választ, ha a szótári kódolást alkalmazza az oszlopon, a Run Length Encoding ezután is alkalmazható.

Ebben az esetben az Analysis Services két adatstruktúrát hoz létre. Először létrehoz egy szótárt, majd alkalmazza rajta a Run Length Encodingot, hogy tovább növelje az oszlop tömörítését.

Rendezési sorrend az elemzési szolgáltatásokban

Az oktatóanyag utolsó részében megvitatjuk, hogy az Analysis Services hogyan dönt az adatok legoptimálisabb rendezésének módjáról.

Példaként nézzünk meg egy Piros, Kék, Fekete, Zöld és Rózsaszín értékeket tartalmazó oszlopot. Az 1-től 5-ig terjedő számokat is hozzájuk rendelték. Ez rovatunk szótáraként működik.

LuckyTemplates tömörítési technikák a DAX Studio-ban

Most töltsön ki egy teljes oszlopot az Excelben ezekkel az értékekkel. Ezzel az argumentummal létrehozhat egy oszlopot, amely véletlenszerűen tartalmazza ezeket az értékeket.

LuckyTemplates tömörítési technikák a DAX Studio-ban

Húzza fel a képletet az utolsó sorig. Kattintson az OK gombra , ha megjelenik a Large Operation előugró ablak. Ez most így fog kinézni:

LuckyTemplates tömörítési technikák a DAX Studio-ban

Ezután másolja ki a teljes oszlopot, és illessze be értékként .

LuckyTemplates tömörítési technikák a DAX Studio-ban

Ha most az Excel dokumentumában a Fájl lehetőségre lép , és az Info gombra kattint , láthatja, hogy az oszlop 14,1 MB-ot fogyaszt .

Az elhasznált RAM mennyiségének csökkentése érdekében rendezheti az oszlopot A-tól Z-ig. Ha újra ellenőrzi a méretet, láthatja, hogy 12,5 MB- ra csökkent .

Az 1,9 MB-os csökkentés nem tűnik soknak. Ennek az az oka, hogy a példa egyetlen oszlopot használt az Excelben a demonstrációhoz. Az Excel csak 1 millió sorra korlátozódik. A LuckyTemplatesben azonban az adatok több milliárd sort és oszlopot tartalmazhatnak. A felhasznált hely csökkenése exponenciálisan nő.

Következtetés

Miután az adatok a legoptimálisabb módon vannak rendezve, az Analysis Services az adattípustól függően a három tömörítési technika valamelyikét alkalmazza.

Ezzel megnöveli az adatok tömörítését, ami nagymértékben csökkenti az eszköz memóriahasználatát. Ez optimálisabbá teszi a jelentést, megkönnyítve a futtatást és a betöltést.


A DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

A DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

Ismerje meg, hogyan töltheti le és telepítheti a DAX Studio és a Tabular Editor 3 alkalmazást, és hogyan konfigurálhatja őket a LuckyTemplates és az Excel programban való használatra.

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

Ez a blog tartalmazza a Shape Map vizualizációt a LuckyTemplates térbeli elemzéséhez. Megmutatom, hogyan használhatja hatékonyan ezt a vizualizációt annak funkcióival és elemeivel.

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

Ebben az oktatóanyagban egy egyedülálló ötletet mutatok be a pénzügyi jelentésekkel kapcsolatban, amely az eredmények hozzárendelését jelenti a LuckyTemplates-en belüli táblázatsablonok előre meghatározásához.

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

Hozzon létre DAX-mértékeket a LuckyTemplates alkalmazásban meglévő mértékek vagy képletek használatával. Ezt nevezem mértékelágazási technikának.

A legerősebb funkcióhívás a LuckyTemplatesben

A legerősebb funkcióhívás a LuckyTemplatesben

Ebben a blogban fedezze fel a LuckyTemplates adatkészletet, a leghatékonyabb függvényhívást, amely M- és DAX-függvények ezreit juttatja a keze ügyébe.

Adatmodellezési technikák a DAX-mérések megszervezéséhez

Adatmodellezési technikák a DAX-mérések megszervezéséhez

A mai oktatóanyagban megosztok néhány adatmodellezési technikát a DAX-mérések jobb rendszerezéséhez a hatékonyabb munkafolyamat érdekében.

LuckyTemplates pénzügyi irányítópult: Teljes táblázat testreszabási tippek

LuckyTemplates pénzügyi irányítópult: Teljes táblázat testreszabási tippek

A LuckyTemplates egy nagyszerű eszköz a pénzügyi jelentésekhez. Itt található egy oktatóanyag, amely bemutatja, hogyan hozhat létre személyre szabott táblázatokat a LuckyTemplates pénzügyi irányítópultjához.

A Power Query nyelvi folyamatának bevált gyakorlatai

A Power Query nyelvi folyamatának bevált gyakorlatai

Ez az oktatóanyag megvitatja a Power Query nyelvi folyamatot, és azt, hogyan segíthet zökkenőmentes és hatékony adatjelentések létrehozásában.

LuckyTemplates egyéni ikonok | PBI vizualizációs technika

LuckyTemplates egyéni ikonok | PBI vizualizációs technika

Az egyik kedvenc technikámról fogok beszélni a LuckyTemplates egyéni ikonok körül, amely dinamikusan használja az egyéni ikonokat a LuckyTemplates vizualizációkban.

LuckyTemplates táblázatok létrehozása UNION & ROW függvény használatával

LuckyTemplates táblázatok létrehozása UNION & ROW függvény használatával

Ebben a blogban megmutatom, hogyan hozhat létre LuckyTemplates táblázatokat olyan képlet segítségével, amely egyesíti az UNION és a ROW függvényt.