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.
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.
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:
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:
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.
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.
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.
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.
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.
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.
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.
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:
Ezután másolja ki a teljes oszlopot, és illessze be értékként .
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.
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.