Ce este Sinele în Python: Exemple din lumea reală
Ce este Sinele în Python: Exemple din lumea reală
În acest tutorial, veți învăța o tehnică de optimizare DAX folosind funcția UNION. Acest tutorial va compara performanța funcției UNION față de Power Query și alte tehnici de combinare a tabelelor.
Funcția combină două tabele într-un singur tabel combinând rândurile lor și eliminând toate rândurile duplicate.
Exemplul din acest tutorial este un tabel de vânzări care a fost împărțit în trei tabele pentru fiecare an (2007, 2008, 2009).
Cuprins
Funcția UNION în DAX
Deschideți DAX Studio și lansați Orarul serverului și Planul de interogare.
Codul DAX de mai jos este folosit ca exemplu:
După ce rulați codul, accesați fila Orare server . Puteți vedea că executarea codului durează în total 5,4 secunde. Cea mai mare parte a timpului de execuție a fost petrecut în Motorul de stocare . Fiecare dintre aceste trei interogări conține aceeași operațiune, dar anii sunt diferiți.
După ce aceste trei interogări sunt returnate de Motorul de stocare, Motorul de formule efectuează un UNION, care poate fi văzut în Planul de interogare logic. Planul de interogări efectuează, de asemenea, un pentru a calcula vânzările totale.
În Planul de interogare fizică, puteți vedea cele trei cache de date care conțin operațiunile efectuate pentru fiecare an în tabelul Vânzări.
Compararea performanței DAX
Pentru a construi comparația, să creăm o măsură pentru vânzări totale folosind tabelul original de vânzări.
Dacă rulați acest cod și accesați fila Server Timings , puteți vedea că aceasta este semnificativ mai eficientă decât funcția UNION.
Funcția UNION consumă 97,9 kiloocteți, în timp ce noua măsură consumă doar 1KB.
Când utilizați UNION, motorul DAX returnează o cantitate imensă de cache de date înapoi la Motorul de formule. Acest lucru pune o presiune mare asupra memoriei RAM.
Deci, dacă aveți de-a face cu un model de date care conține mai mult de un milion de rânduri, nu este recomandat să utilizați funcția UNION
Alternative ale funcției UNION DAX
În loc să utilizați UNION, puteți utiliza trei funcții SUMX pentru acest exemplu. Adică o funcție SUMX pentru fiecare an.
Când rulați acest cod și accesați fila Server Timings, puteți vedea că timpul de execuție este semnificativ mai mic. A trecut de la 5.400 ms la 33 ms în timp ce încă executau trei interogări diferite.
O altă modalitate este să atașați tabelul Model de date în Power Query sau în sursa de date în sine.
Dar cea mai bună opțiune este de a crea un tabel calculat care va realiza unirea acestor trei tabele. Dar această opțiune are avantajele și dezavantajele ei.
Utilizarea unui tabel calculat vă permite să economisiți timpul total de procesare, spre deosebire de efectuarea unei anexări în Power Query. Totuși, acest lucru va duce la creșterea dimensiunii bazei de date în VertiPaq.
Când utilizați un tabel calculat, creați un nou tabel care combină cele trei tabele. Dar aceste trei tabele împărțite vor rămâne în continuare în baza de date.
În acest exemplu, cele trei tabele consumă un total de 25 MB. Dacă creați un tabel calculat, acesta va consuma încă 25 MB în RAM.
Pentru cazuri sensibile ca acestea, trebuie să luați o decizie educată cu privire la care ar fi cea mai bună cale de acțiune.
Concluzie
Funcția UNION din DAX combină două tabele într-unul singur, facilitând analiza datelor. Funcționează luând două tabele ca intrare și returnând un nou tabel care conține toate rândurile din ambele tabele de intrare. Cu toate acestea, această funcție are propriile sale limitări.
Funcția UNION poate fi mai lentă decât alte metode de combinare a datelor, mai ales dacă tabelele de intrare sunt mari. De asemenea, poate consuma mai mult spațiu în depozit, spre deosebire de alte alternative.
Ori de câte ori o situație necesită combinarea tabelelor, este important să cântăriți mai întâi argumentele pro și contra înainte de a decide să utilizați funcția UNION. Alternativele dvs. includ funcția SUMX, un tabel de model de date sau un tabel calculat.
Toate cele bune,
Ce este Sinele în Python: Exemple din lumea reală
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.
Î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.
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.
Î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.
Vreau să arăt cum serviciul online LuckyTemplates Apps poate ajuta la gestionarea diferitelor rapoarte și informații generate din diverse surse.
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.
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.
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