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á.


Vytvoření tabulky data v LuckyTemplates

Vytvoření tabulky data v LuckyTemplates

Zjistěte, proč je důležité mít vyhrazenou tabulku s daty v LuckyTemplates, a naučte se nejrychlejší a nejefektivnější způsob, jak toho dosáhnout.

LuckyTemplates Mobile Reporting Tipy a techniky

LuckyTemplates Mobile Reporting Tipy a techniky

Tento stručný návod zdůrazňuje funkci mobilního hlášení LuckyTemplates. Ukážu vám, jak můžete efektivně vytvářet přehledy pro mobily.

Profesionální servisní analytické zprávy v LuckyTemplates

Profesionální servisní analytické zprávy v LuckyTemplates

V této ukázce LuckyTemplates si projdeme sestavy ukazující profesionální analýzy služeb od firmy, která má více smluv a zákaznických vztahů.

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Pozrite si kľúčové aktualizácie pre Power Apps a Power Automate a ich výhody a dôsledky pre platformu Microsoft Power Platform.

Bežné funkcie SQL: Prehľad

Bežné funkcie SQL: Prehľad

Objavte niektoré bežné funkcie SQL, ktoré môžeme použiť, ako napríklad reťazec, dátum a niektoré pokročilé funkcie na spracovanie alebo manipuláciu s údajmi.

Vytvoření šablony LuckyTemplates: Průvodce a tipy

Vytvoření šablony LuckyTemplates: Průvodce a tipy

V tomto tutoriálu se naučíte, jak vytvořit dokonalou šablonu LuckyTemplates, která je nakonfigurována podle vašich potřeb a preferencí.

Parametry pole a malé násobky v LuckyTemplates

Parametry pole a malé násobky v LuckyTemplates

V tomto blogu si ukážeme, jak vrstvit parametry pole s malými násobky, abychom vytvořili neuvěřitelně užitečné přehledy a vizuály.

LuckyTemplates Rank a vlastní seskupení

LuckyTemplates Rank a vlastní seskupení

V tomto blogu se dozvíte, jak používat funkce hodnocení LuckyTemplates a vlastní seskupování k segmentaci ukázkových dat a jejich seřazení podle kritérií.

Zobrazení kumulativního součtu pouze do určitého data v LuckyTemplates

Zobrazení kumulativního součtu pouze do určitého data v LuckyTemplates

V tomto tutoriálu se budu zabývat konkrétní technikou, jak zobrazit kumulativní součet pouze do určitého data ve vašich vizuálech v LuckyTemplates.

Bullet Charts: Pokročilé vlastní vizuální prvky pro LuckyTemplates

Bullet Charts: Pokročilé vlastní vizuální prvky pro LuckyTemplates

Naučte se vytvářet a přizpůsobovat Bullet grafy v LuckyTemplates, které se používají hlavně pro měření výkonu oproti cílovým nebo předchozím rokům.