Tehnici de compresie LuckyTemplates în DAX Studio

Tehnici de compresie LuckyTemplates în DAX Studio

În acest tutorial, veți afla despre diferitele tehnici de compresie LuckyTemplates din care vă ajută să vă optimizați raportul.

După ce datele sunt încărcate segment cu segment de către Analysis Services în LuckyTemplates Power Pivot și SSAS , au loc două evenimente. Prima este că încearcă să folosească diferite metode de codificare pentru a comprima coloanele pentru a reduce dimensiunea totală a memoriei RAM . Al doilea este că încearcă să finanțeze cea mai bună ordine de sortare care plasează valorile care se repetă împreună. Această metodă mărește și compresia și, la rândul său, reduce presiunea asupra memoriei.

Există diferite tehnici de compresie utilizate de Analysis Services. Acest tutorial acoperă trei metode, în special, și anume, codificarea valorii, codificarea lungimii de rulare și codificarea dicționarului. În ultima secțiune a acestui tutorial, va acoperi modul de sortare a lucrărilor din ordinea în Analysis Services.

Cuprins

Tehnica de compresie LuckyTemplates #1: Codificarea valorii

Prima se numește Codificarea valorii.

Codificarea valorii caută o relație matematică între fiecare valoare dintr-o coloană pentru a reduce memoria. Iată un exemplu în Microsoft Excel:

Această coloană necesită 16.384 de biți pentru a stoca valorile.

Tehnici de compresie LuckyTemplates în DAX Studio

Pentru a calcula biții necesari, utilizați mai întâi funcția MAX() din Excel pentru a obține cea mai mare valoare din coloane. În acest caz, este 9144. Apoi, utilizați funcția POWER() pentru a calcula biții necesari. Utilizați argumentul POWER(2, X) unde X este orice valoare pozitivă care va returna un răspuns care este mai mare decât valoarea MAX. X, în acest caz, reprezintă și biții necesari. Deci, pentru acest exemplu, valoarea lui X este 14, ceea ce are ca rezultat 16.384 . Prin urmare, coloana necesită 14 biți de stocare.

Pentru a reduce biții necesari utilizând codificarea valorii, VertiPaq caută valoarea MIN în coloană și o scade din fiecare valoare. În acest caz, valoarea MIN din coloană este 9003. Dacă scadeți aceasta din coloană, va returna aceste valori:

Tehnici de compresie LuckyTemplates în DAX Studio

Folosind aceleași funcții și argumente, puteți vedea că pentru noua coloană, valoarea MAX este 141. Și folosind 8 ca valoare a lui X rezultă 256 . Prin urmare, noua coloană necesită doar 8 biți.

Puteți vedea cât de comprimată este a doua în comparație cu prima coloană.

Odată ce datele sunt comprimate și încercați să interogați noua coloană, Storage Engine sau Vertipaq scanează această coloană. Nu vor returna pur și simplu noile valori ale coloanei. În schimb, adaugă valoarea scăzută înainte de a returna rezultatul înapoi utilizatorului.

Cu toate acestea, codificarea valorii funcționează numai pe coloanele care conțin numere întregi sau valori cu numere zecimale fixe.

Tehnica de compresie LuckyTemplates nr. 2: Codarea lungimii de rulare

A doua metodă de codare se numește Run Length Encoding.

Run Length Encoding creează o structură de date care conține valoarea distinctă, o coloană Start și o coloană Count.

Să avem un exemplu:

Tehnici de compresie LuckyTemplates în DAX Studio

În acest caz, identifică că o valoare roșie este disponibilă pe primul rând. Apoi află că valoarea Negru începe la al doilea rând și este disponibilă pentru următoarele patru celule. Se trece la a treia valoare, Blue , care începe la al șaselea rând și este disponibilă pentru următoarele trei rânduri. Și asta continuă până când ajunge la ultima valoare din coloană.

Deci, în loc să stocheze întreaga coloană, creează o structură de date care conține doar informații despre unde începe și unde se termină o anumită valoare și câte duplicate are.

Tehnici de compresie LuckyTemplates în DAX Studio

Pentru coloanele cu aceeași structură, datele pot fi comprimate în continuare prin aranjarea valorilor în ordine crescătoare sau descrescătoare.

Tehnici de compresie LuckyTemplates în DAX Studio

Cu această coloană sortată corect, puteți vedea că metoda Run Length Encoding returnează acum o structură de date cu un rând mai puțin.

Tehnici de compresie LuckyTemplates în DAX Studio

Deci, dacă aveți de-a face cu multe valori distincte, este recomandat să sortați coloana în cel mai optim mod posibil. Acest lucru vă va oferi o structură de date cu rânduri mai mici care, la rândul lor, ocupă RAM mai mică.

Codificarea lungimii de rulare nu poate fi aplicată cheilor primare, deoarece coloanele cheilor primare conțin numai valori unice. Deci, în loc să stocheze un rând pentru fiecare valoare, va stoca coloana așa cum este.

Tehnica de compresie LuckyTemplates #3: Codificarea dicționarului

A treia metodă de codare se numește Codificarea dicționarului.

Codificarea dicționarului creează o structură asemănătoare dicționarului care conține valoarea distinctă a unei coloane. De asemenea, atribuie un index acelei valori unice.

Folosind exemplul anterior, să vedem cum funcționează codificarea dicționarului. În acest caz, valorilor Roșu, Negru și Albastru li se atribuie un index de 0, 1 și, respectiv, 2.

Tehnici de compresie LuckyTemplates în DAX Studio

Apoi creează o structură de date similară cu cea a Run Length Encoding. Cu toate acestea, în loc să stocheze valorile reale, Dictionary Encoding stochează indexul atribuit fiecărei valori.

Tehnici de compresie LuckyTemplates în DAX Studio

Acest lucru reduce și mai mult RAM consumată, deoarece numerele ocupă mai puțin spațiu decât valorile șirurilor.

Codificarea dicționarului face de asemenea independent tipul de date tabelar. Adică, indiferent dacă aveți o coloană care poate fi stocată în diferite tipuri de date, nu va conta, deoarece structura de date va stoca doar valoarea indexului.

Cu toate acestea, chiar dacă este independent, tipul de date va avea în continuare un efect asupra dimensiunii dicționarului. În funcție de tipul de date în care alegeți să salvați coloana, dimensiunea dicționarului (sau a structurii de date) va fluctua. Dar dimensiunea coloanei în sine va rămâne aceeași.

Deci, în funcție de tipul de date pe care îl veți alege, odată ce codificarea dicționarului este aplicată pe coloană, codificarea lungimii de rulare poate fi aplicată ulterior.

În acest caz, Analysis Services va crea două structuri de date. Mai întâi va crea un dicționar și apoi va aplica Run Length Encoding pe acesta pentru a crește și mai mult compresia coloanei.

Ordinea de sortare în serviciile de analiză

Pentru ultima parte a acestui tutorial, să discutăm despre modul în care Analysis Services decide cea mai optimă modalitate de sortare a datelor.

De exemplu, să ne uităm la o coloană care conține valori roșu, albastru, negru, verde și roz. Li s-au atribuit și numerele de la 1 la 5. Acesta acționează ca dicționar al rubricii noastre.

Tehnici de compresie LuckyTemplates în DAX Studio

Acum, completați o întreagă coloană în Excel cu aceste valori. Utilizați acest argument pentru a genera o coloană care să conțină aceste valori la întâmplare.

Tehnici de compresie LuckyTemplates în DAX Studio

Trageți formula până la ultimul rând. Faceți clic pe OK dacă apare fereastra pop-up Operație mare . Iată cum va arăta acum:

Tehnici de compresie LuckyTemplates în DAX Studio

Apoi, copiați întreaga coloană și inserați-o ca valoare .

Tehnici de compresie LuckyTemplates în DAX Studio

Acum, dacă accesați opțiunea Fișier din documentul Excel și faceți clic pe Informații , puteți vedea că coloana consumă 14,1 MB .

Pentru a reduce cantitatea de RAM consumată, puteți sorta coloana de la A la Z. Dacă verificați din nou dimensiunea, puteți vedea că aceasta a fost redusă la 12,5 MB .

Reducerea de 1,9 MB poate să nu pară prea mare. Acest lucru se datorează faptului că exemplul a folosit o singură coloană în Excel pentru a demonstra. Excel este limitat doar la 1 milion de rânduri. Cu toate acestea, în LuckyTemplates, datele dvs. pot conține miliarde de rânduri și coloane. Reducerea spațiului utilizat crește exponențial.

Concluzie

Odată ce datele dvs. sunt sortate în cel mai optim mod, Analysis Services aplică oricare dintre cele trei tehnici de compresie, în funcție de tipul de date.

Procedând astfel, crește compresia datelor dvs., ceea ce reduce foarte mult cantitatea de memorie consumată în dispozitiv. Acest lucru face raportul dvs. mai optim, făcându-l mai ușor de rulat și încărcat.


Ce este Sinele în Python: Exemple din lumea reală

Ce este Sinele în Python: Exemple din lumea reală

Ce este Sinele în Python: Exemple din lumea reală

Cum să salvați și să încărcați un fișier RDS în R

Cum să salvați și să încărcați un fișier RDS în R

Veți învăța cum să salvați și să încărcați obiecte dintr-un fișier .rds în R. Acest blog va trata, de asemenea, cum să importați obiecte din R în LuckyTemplates.

Primele N zile lucrătoare revizuite – O soluție de limbaj de codare DAX

Primele N zile lucrătoare revizuite – O soluție de limbaj de codare DAX

În acest tutorial despre limbajul de codare DAX, aflați cum să utilizați funcția GENERATE și cum să schimbați în mod dinamic titlul unei măsuri.

Prezentați perspective utilizând tehnica vizuală dinamică cu mai multe fire în LuckyTemplates

Prezentați perspective utilizând tehnica vizuală dinamică cu mai multe fire în LuckyTemplates

Acest tutorial va acoperi cum să utilizați tehnica Multi Threaded Dynamic Visuals pentru a crea informații din vizualizările dinamice de date din rapoartele dvs.

Introducere la filtrarea contextului în LuckyTemplates

Introducere la filtrarea contextului în LuckyTemplates

În acest articol, voi trece prin contextul filtrului. Contextul de filtrare este unul dintre subiectele majore despre care orice utilizator LuckyTemplates ar trebui să învețe inițial.

Cele mai bune sfaturi pentru utilizarea aplicațiilor din serviciul online LuckyTemplates

Cele mai bune sfaturi pentru utilizarea aplicațiilor din serviciul online LuckyTemplates

Vreau să arăt cum serviciul online LuckyTemplates Apps poate ajuta la gestionarea diferitelor rapoarte și informații generate din diverse surse.

Analizați modificările marjei de profit ore suplimentare – Analytics cu LuckyTemplates și DAX

Analizați modificările marjei de profit ore suplimentare – Analytics cu LuckyTemplates și DAX

Aflați cum să vă calculați modificările marjei de profit folosind tehnici precum măsurarea ramificării și combinarea formulelor DAX în LuckyTemplates.

Idei de materializare pentru cache-urile de date în DAX Studio

Idei de materializare pentru cache-urile de date în DAX Studio

Acest tutorial va discuta despre ideile de materializare a cache-urilor de date și despre modul în care acestea afectează performanța DAX-ului în furnizarea de rezultate.

Raportare de afaceri folosind LuckyTemplates

Raportare de afaceri folosind LuckyTemplates

Dacă încă utilizați Excel până acum, atunci acesta este cel mai bun moment pentru a începe să utilizați LuckyTemplates pentru nevoile dvs. de raportare a afacerii.

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți