Funcția UNION DAX vs Power Query

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

Funcția UNION DAX vs Power Query

Codul DAX de mai jos este folosit ca exemplu:

Funcția UNION DAX vs Power Query

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.

Funcția UNION DAX vs Power Query

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.

Funcția UNION DAX vs Power Query

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

Funcția UNION DAX vs Power Query

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.

Funcția UNION DAX vs Power Query

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.

Funcția UNION DAX vs Power Query

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.

Funcția UNION DAX vs Power Query

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.

Funcția UNION DAX vs Power Query

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.

Funcția UNION DAX vs Power Query

Î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,

Leave a Comment

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