LuckyTemplates kompresní techniky v DAX Studio

V tomto tutoriálu se dozvíte o různých kompresních technikách LuckyTemplates, které pomáhají optimalizovat vaši sestavu.

Po načtení dat segment po segmentu službou Analysis Services v LuckyTemplates Power Pivot a dojde ke dvěma událostem. První je, že se snaží používat různé metody kódování pro . Druhým je, že se snaží financovat nejlepší pořadí řazení, které spojuje opakující se hodnoty. Tato metoda také zvyšuje kompresi a naopak snižuje tlak na paměť.

Služba Analysis Services používá různé techniky komprese. Tento tutoriál pokrývá zejména tři metody, jmenovitě kódování hodnot, kódování délky běhu a kódování slovníku. V poslední části tohoto kurzu se budeme zabývat tím, jak funguje řazení pořadí ve službě Analysis Services.

Obsah

LuckyTemplates kompresní technika č. 1: Kódování hodnoty

První z nich se nazývá Value Encoding.

Kódování hodnot hledá matematický vztah mezi každou hodnotou ve sloupci, aby se snížila paměť. Zde je příklad v aplikaci Microsoft Excel:

Tento sloupec vyžaduje k uložení hodnot 16 384 bitů.

LuckyTemplates kompresní techniky v DAX Studio

Chcete-li vypočítat požadované bity, nejprve použijte funkci MAX() v aplikaci Excel, abyste získali nejvyšší hodnotu ve sloupcích. V tomto případě je to 9144. Poté použijte funkci POWER() k výpočtu požadovaných bitů. Použijte argument POWER(2, X), kde X je jakákoli kladná hodnota, která vrátí odpověď, která je větší než hodnota MAX. X v tomto případě také představuje požadované bity. Takže pro tento příklad je hodnota X 14, což má za následek 16 384 . Proto sloupec vyžaduje 14 bitů úložiště.

Pro snížení požadovaných bitů pomocí Value Encoding, VertiPaq vyhledá hodnotu MIN ve sloupci a odečte ji od každé hodnoty. V tomto případě je MIN hodnota ve sloupci 9003. Pokud ji odečtete od sloupce, vrátí tyto hodnoty:

LuckyTemplates kompresní techniky v DAX Studio

Pomocí stejných funkcí a argumentů můžete vidět, že pro nový sloupec je MAX hodnota 141. A použití 8 jako hodnoty X vede k 256 . Proto nový sloupec vyžaduje pouze 8 bitů.

Můžete vidět, jak komprimovaný je druhý ve srovnání s prvním sloupcem.

Jakmile jsou data zkomprimována a pokusíte se zadat dotaz na nový sloupec, prohledá tento sloupec. Nebudou jednoduše vracet nové hodnoty sloupce. Místo toho přidají odečtenou hodnotu, než vrátí výsledek zpět uživateli.

Kódování hodnot však funguje pouze u sloupců obsahujících celá čísla nebo hodnoty s pevnými desetinnými čísly.

LuckyTemplates kompresní technika č. 2: Kódování délky běhu

Druhá metoda kódování se nazývá Run Length Encoding.

Run Length Encoding vytvoří datovou strukturu, která obsahuje odlišnou hodnotu, sloupec Start a sloupec Count.

Uveďme příklad:

LuckyTemplates kompresní techniky v DAX Studio

V tomto případě identifikuje, že v prvním řádku je k dispozici jedna červená hodnota. Poté zjistí, že hodnota Černá začíná na druhém řádku a je k dispozici pro další čtyři buňky. Pokračuje na třetí hodnotu, Modrá , která začíná na šestém řádku a je k dispozici pro další tři řádky. A to pokračuje, dokud nedosáhne poslední hodnoty ve sloupci.

Místo uložení celého sloupce tedy vytvoří datovou strukturu, která obsahuje pouze informace o tom, kde konkrétní hodnota začíná a kde končí, a kolik má duplikátů.

LuckyTemplates kompresní techniky v DAX Studio

U sloupců se stejnou strukturou lze data dále komprimovat uspořádáním hodnot ve vzestupném nebo sestupném pořadí.

LuckyTemplates kompresní techniky v DAX Studio

S tímto správně seřazeným sloupcem můžete vidět, že metoda Run Length Encoding nyní vrací datovou strukturu s jedním řádkem méně.

LuckyTemplates kompresní techniky v DAX Studio

Pokud tedy máte co do činění s mnoha odlišnými hodnotami, doporučujeme seřadit sloupec co nejoptimálněji. Získáte tak datovou strukturu s menším počtem řádků, která zase zabírá méně paměti RAM.

Kódování délky běhu nelze použít na primární klíče, protože sloupce primárního klíče obsahují pouze jedinečné hodnoty. Takže místo uložení jednoho řádku pro každou hodnotu uloží sloupec tak, jak je.

LuckyTemplates kompresní technika č. 3: Kódování slovníku

Třetí metoda kódování se nazývá Dictionary Encoding.

Dictionary Encoding vytváří strukturu podobnou slovníku, která obsahuje odlišnou hodnotu sloupce. Této jedinečné hodnotě také přiřadí index.

Pomocí předchozího příkladu se podívejme, jak funguje kódování slovníku. V tomto případě je hodnotám Červená, Černá a Modrá přiřazen index 0, 1 a 2, v tomto pořadí.

LuckyTemplates kompresní techniky v DAX Studio

Poté vytvoří datovou strukturu podobnou té z Run Length Encoding. Namísto ukládání skutečných hodnot však kódování slovníku ukládá přiřazený index každé hodnoty.

LuckyTemplates kompresní techniky v DAX Studio

To dále snižuje spotřebu paměti RAM, protože čísla zabírají méně místa než řetězcové hodnoty.

Dictionary Encoding také činí tabulkový datový typ nezávislým. To znamená, že bez ohledu na to, zda máte sloupec, který lze uložit v různých typech dat, na tom nezáleží, protože datová struktura bude ukládat pouze hodnotu indexu.

I když je však nezávislý, datový typ bude mít stále vliv na velikost slovníku. V závislosti na typu dat, do kterého chcete sloupec uložit, bude velikost slovníku (nebo datové struktury) kolísat. Ale velikost samotného sloupce zůstane stejná.

Takže v závislosti na tom, jaký typ dat zvolíte, jakmile je na sloupec aplikováno Dictionary Encoding, lze následně použít Run Length Encoding.

V tomto případě Analysis Services vytvoří dvě datové struktury. Nejprve vytvoří slovník a poté na něj použije kódování délky běhu, aby se dále zvýšila komprese sloupce.

Pořadí řazení ve službě Analysis Services

V poslední části tohoto kurzu si proberme, jak Analysis Services rozhoduje o nejoptimálnějším způsobu řazení dat.

Jako příklad se podívejme na sloupec obsahující hodnoty Červená, Modrá, Černá, Zelená a Růžová. Také jim byla přiřazena čísla 1 až 5. Toto funguje jako slovník našeho sloupku.

LuckyTemplates kompresní techniky v DAX Studio

Nyní vyplňte celý sloupec v Excelu těmito hodnotami. Tento argument použijte k náhodnému vygenerování sloupce obsahujícího tyto hodnoty.

LuckyTemplates kompresní techniky v DAX Studio

Přetáhněte vzorec nahoru na poslední řádek. Pokud se zobrazí vyskakovací okno Velká operace, klepněte na tlačítko OK . Takhle to teď bude vypadat:

LuckyTemplates kompresní techniky v DAX Studio

Dále zkopírujte celý sloupec a vložte jej jako hodnotu .

LuckyTemplates kompresní techniky v DAX Studio

Pokud nyní přejdete na možnost Soubor v dokumentu aplikace Excel a kliknete na Informace , uvidíte, že sloupec zabírá 14,1 MB .

Chcete-li snížit množství spotřebované paměti RAM, můžete sloupec seřadit od A do Z. Pokud znovu zkontrolujete velikost, uvidíte, že se zmenšila na 12,5 MB .

Snížení o 1,9 MB se může zdát málo. Důvodem je, že v příkladu byl k demonstraci použit jeden sloupec v Excelu. Excel je omezen pouze na 1 milion řádků. V LuckyTemplates však mohou vaše data obsahovat miliardy řádků a sloupců. Zmenšení použitého prostoru roste exponenciálně.

Závěr

Jakmile jsou vaše data seřazena nejoptimálnějším způsobem, Analysis Services použije jednu ze tří technik komprese v závislosti na typu dat.

Pokud tak učiníte, zvýší se komprimace vašich dat, což výrazně sníží množství paměti spotřebované ve vašem zařízení. Díky tomu je přehled optimálnější a snáze se spouští a načítá.


Ako nainštalovať DAX Studio & Tabular Editor v LuckyTemplates

Ako nainštalovať DAX Studio & Tabular Editor v LuckyTemplates

Zistite, ako stiahnuť a nainštalovať DAX Studio a Tabular Editor 3 a ako ich nakonfigurovať na použitie v LuckyTemplates a v Exceli.

LuckyTemplates Vizualizácia tvarovej mapy pre priestorovú analýzu

LuckyTemplates Vizualizácia tvarovej mapy pre priestorovú analýzu

Tento blog obsahuje vizualizáciu Shape Map pre priestorovú analýzu v LuckyTemplates. Ukážem vám, ako môžete efektívne využiť túto vizualizáciu s jej funkciami a prvkami.

LuckyTemplates Finančné výkazníctvo: Prideľovanie výsledkov šablónam v každom jednom riadku

LuckyTemplates Finančné výkazníctvo: Prideľovanie výsledkov šablónam v každom jednom riadku

V tomto návode predstavujem jedinečný nápad týkajúci sa finančného výkazníctva, ktorý spočíva v prideľovaní výsledkov na vopred určené šablóny tabuliek v rámci LuckyTemplates.

DAX měří v LuckyTemplates pomocí Measure Branching

DAX měří v LuckyTemplates pomocí Measure Branching

Vytvářejte míry DAX v LuckyTemplates pomocí existujících mír nebo vzorců. Tomu říkám technika větvení opatření.

Najvýkonnejšie volanie funkcie v LuckyTemplates

Najvýkonnejšie volanie funkcie v LuckyTemplates

V tomto blogu preskúmajte množinu údajov LuckyTemplates, najvýkonnejšie volanie funkcií, ktoré vám prináša tisíce funkcií M a DAX na dosah ruky.

Techniky modelovania údajov na organizáciu opatrení DAX

Techniky modelovania údajov na organizáciu opatrení DAX

V dnešnom návode sa podelím o niekoľko techník modelovania údajov o tom, ako lepšie usporiadať vaše merania DAX pre efektívnejší pracovný tok.

LuckyTemplates Financial Dashboard: Kompletné tipy na prispôsobenie tabuľky

LuckyTemplates Financial Dashboard: Kompletné tipy na prispôsobenie tabuľky

LuckyTemplates je skvelý nástroj pre finančné výkazníctvo. Tu je návod, ako vytvoriť prispôsobené tabuľky pre váš finančný dashboard LuckyTemplates.

Osvedčené postupy toku jazyka Power Query

Osvedčené postupy toku jazyka Power Query

V tomto návode sa bude diskutovať o toku jazyka Power Query a o tom, ako môže pomôcť vytvoriť hladkú a efektívnu zostavu údajov.

LuckyTemplates vlastní ikony | Vizualizační technika PBI

LuckyTemplates vlastní ikony | Vizualizační technika PBI

Budu diskutovat o jedné z mých oblíbených technik kolem vlastních ikon LuckyTemplates, která používá vlastní ikony dynamickým způsobem ve vizuálech LuckyTemplates.

Vytváření tabulek LuckyTemplates pomocí funkce UNION & ROW

Vytváření tabulek LuckyTemplates pomocí funkce UNION & ROW

V tomto blogu vám ukážu, jak můžete vytvořit tabulky LuckyTemplates pomocí vzorce, který kombinuje funkci UNION a funkci ROW.