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 materializarea pentru cache-urile de date în DAX Studio. Această postare va arăta cum îți afectează calculul în timp ce generează rezultate cu interogarea ta. Veți afla care materializare este mai bună pentru a maximiza performanța DAX.

Există două idei de materializare: materializarea timpurie și materializarea târzie .

Cuprins

Materializarea timpurie

Materializarea timpurie este atunci când numărul de rânduri materializate este mai mare decât numărul de rânduri necesare pentru ieșire.

Dacă rezultatul dvs. este un tabel pe an calendaristic și aveți cinci ani de date, aducerea multor rânduri materializate este inutilă. Cea mai bună practică este să aveți numărul de rânduri materializate egal cu numărul de rânduri necesare. Cu toate acestea, acesta nu este întotdeauna cazul, deoarece depinde de complexitatea DAX și de configurarea datelor.

Rețineți întotdeauna că datele sunt formate din coloane. Deci, atunci când motorul de formule trebuie să funcționeze pe un tabel, coloanele sunt reunite din nou într-un format de tabel, care este materializarea. Într-o idee de materializare timpurie, motorul de stocare trimite cache de date către motorul de formule. Motorul de formule lucrează apoi pe acel cache și efectuează procese complexe.

Materializarea timpurie poate fi cauzată de îmbinări complexe sau de o relație multi-la-mulți în modelele dvs. de date. Poate fi cauzată și de filtre sau iteratoare complexe.

Nu este greșit să existe măsuri complexe; trebuie doar să le configurați corect pentru a folosi motorul de stocare cât mai mult posibil.

Materializare târzie

Materializarea tardivă este atunci când aveți numărul de rânduri materializate egal sau apropiat de numărul de rânduri necesar pentru rezultatul dvs.

Motorul de stocare face aproape toată munca, fără a lăsa nimic pentru motorul de formulă. Acest lucru face ca întregul calcul să fie mai rapid.

Acestea sunt exemple de interogări de materializare timpurie și târzie:

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

Înainte de a executa aceste interogări, asigurați-vă că ștergeți memoria cache. Acest lucru va face ca interogările dvs. să ruleze împotriva cache-ului rece. Dacă rulați DAX fără a șterge memoria cache, veți obține acest rezultat:

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

Timpul total de execuție este de doar 1861 milisecunde, deoarece a folosit deja un cache. Deci, ștergeți întotdeauna memoria cache înainte de a vă executa interogările.

Dacă rulați interogarea Early Materialization, puteți vedea că timpul total necesar este de 9485 milisecunde. A generat un cache de date și o ieșire pe un rând, dar a returnat 25 de milioane de rânduri.

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

Nu trebuie să materializați 25 de milioane de rânduri pentru a obține un rezultat pe un rând, deoarece este nevoie de timp și încetinește performanța DAX.

Dacă rulați interogarea Materializare târzie, puteți vedea că întregul calcul a durat doar 1340 de milisecunde. De asemenea, a generat 2 cache de date, fiecare returnând 5003 rânduri.

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

Dacă te uiți la Planul de interogare fizică, poți vedea 5000 de rânduri. Nu au un număr egal de rânduri. Rezultatul Server Timings va avea uneori o mică discrepanță cu numărul exact de rânduri din Planul de interogare.

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

Deci, lucrând la un singur cache de date cu 25 de milioane de rânduri, acum aveți două cache de date cu 5003 de rânduri. De aceea, lucrul cu materializarea ulterioară obține rezultate mai rapide decât materializarea timpurie.

În interiorul fiecărei interogări de materializare

Privind doar interogarea, puteți vedea deja că Materializarea ulterioară este mai rapidă. Interogarea Early Materialization numără rândurile unui tabel rezumat.

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

Tabelul care este rezumat și materializat este mai mare decât doar efectuarea unei de pe tabel, ceea ce face interogarea Late Materialization.

Dacă interogarea este lentă, începeți prin a vedea câte rânduri sunt extrase în interogarea dvs. și câte sunt necesare pentru ieșire. De asemenea, puteți accesa Planul de interogare logic și urmăriți fluxul de lucru care se întâmplă în cadrul calculului.


Ce este DAX Studio în LuckyTemplates Desktop
DAX Tutorial: Context și măsurarea motorului de calcul
în LuckyTemplates: Sfaturi și tehnici de optimizare

Concluzie

Materializarea are loc atunci când interogările dvs. extrag coloane sau rânduri din modelul dvs. de date. Acest proces are loc în mod natural atunci când motorul dvs. primește date din modelul dvs. de date pentru a oferi rezultate pentru interogarea dvs.

Cu toate acestea, pot apărea probleme dacă DAX-ul dvs. trage prea multe rânduri decât ceea ce este necesar pentru rezultat. Această problemă poate fi rezolvată prin simplificarea DAX-ului pentru a efectua anumite procese.


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