Interogări DAX folosind variabile și funcții importante

Acest tutorial va discuta despre variabile, inclusiv funcțiile și CALCULATE . Veți înțelege cum acestea ajută la creșterea performanței interogărilor DAX și oferă rezultate precise.

Variabilele ar trebui folosite cât mai mult posibil, deoarece pot localiza cu ușurință codurile pentru optimizare. Acestea vă împiedică să obțineți ieșiri incorecte și vă economisesc timp în căutarea erorii. Cu toate acestea, variabilele împiedică uneori recalcularea unei valori. Deci, odată ce sunt definite cu o valoare, acea valoare nu poate fi modificată, nici măcar prin CALCULATE .

Este important să știți unde ar trebui să definiți și să utilizați variabile, deoarece utilizarea lor în interiorul și în afara unei iterații va genera rezultate diferite. Ele ar trebui să fie definite aproape de locul în care vor fi utilizate. Acest lucru ajută și la descompunerea codurilor lungi, făcându-le mai ușor de înțeles și de depanat.

Cuprins

Creați interogări DAX cu CALCULATE și FILTER

Există diferite metode pentru a obține rezultate și răspunsuri în DAX. Trebuie să vă dezvoltați propriul stil și flux în crearea raportului, astfel încât să vă simțiți confortabil cu ceea ce lucrați. Chiar dacă aveți propriul stil, trebuie să urmați îndrumările specifice, care includ utilizarea CALCULATE peste diferite metode, cum ar fi FILTER .

FILTER poate trimite o mulțime de date necomprimate către motorul de formule și poate declanșa un CallBackDataID. Măsurile vor fi folosite aici pentru a afișa rezultatele CALCULATE și FILTER . Aceasta are, de asemenea, o măsură definită care este locală pentru interogare. Măsurile definite nu pot fi găsite în modelul de date, dar pot dezvolta și depana codurile mai rapid.

Interogări DAX folosind variabile și funcții importante

În prima linie, puteți vedea o măsură care definește o variabilă pentru dată. Aceasta înseamnă că filtrează tabelul Fact pentru datele care apar la sau după 31 martie 2016. De asemenea, puteți vedea o măsură simplă a vânzărilor totale care repetă tabelul Fact Sales și înmulțește Cantitatea și Prețul curent.

Următoarea măsură este utilizarea în interiorul . Dacă vă amintiți din modulul CallBackDataID , folosirea unui IF în cadrul funcției SUMX va crea un CallBackDataID .

Interogări DAX folosind variabile și funcții importante

Această măsură filtrează întregul tabel Fact Sales. Îndepărtează filtrele care provin din tabelul Date.

Interogări DAX folosind variabile și funcții importante

Trebuie să fiți atenți când filtrați un tabel întreg, deoarece va filtra și toate coloanele care se află pe o parte a relației unu-la-mulți.

Această măsură este aceeași cu măsura anterioară; singura diferență este că nu filtrează întregul tabel. Utilizează SUMX doar pentru a repeta un tabel filtrat.

Interogări DAX folosind variabile și funcții importante

Aceasta este o altă măsură care filtrează tabelul Fact Sales, dar de data aceasta este doar pe coloana în care se află.

Interogări DAX folosind variabile și funcții importante

Ultima măsură este utilizarea CALCULATE și modelul de date pentru a filtra și a prelua datele.

Interogări DAX folosind variabile și funcții importante

Rulați și verificați fiecare măsură

Mai întâi, rulați măsura IF . Asigurați-vă că ștergeți memoria cache înainte de a rula interogarea și porniți Orarul serverului și Planul de interogare.

Interogări DAX folosind variabile și funcții importante

Interogări DAX folosind variabile și funcții importante

Deși oferă datele corecte, performanța este lentă din cauza CallBackDataID și a celor 3 durate.

Dacă rulați măsura care filtrează întregul tabel Fact Sales, puteți vedea în continuare CallBackDataID . De asemenea, va genera 15.003 de rânduri și va oferi rezultate incorecte.

Interogări DAX folosind variabile și funcții importante

Interogări DAX folosind variabile și funcții importante

Când rulați măsura care nu filtrează tot tabelul Vânzări de fapte, veți obține rezultatele corecte. Cu toate acestea, veți vedea în continuare CallBackDataID și cele 15.003 de rânduri materializate, dar aveți doar 7 rânduri de ieșire.

Interogări DAX folosind variabile și funcții importante

Interogări DAX folosind variabile și funcții importante

Rulați următoarea măsură care filtrează pe o coloană. Veți obține rezultatele corecte și veți elimina CallBackDataID . Dar încă se poate vedea că a materializat o mulțime de rânduri.

Interogări DAX folosind variabile și funcții importante

Interogări DAX folosind variabile și funcții importante

Rulați măsura CALCULATE . Puteți vedea că a materializat doar 10 rânduri și a generat datele corecte în 5 milisecunde.

Interogări DAX folosind variabile și funcții importante

Interogări DAX folosind variabile și funcții importante

Este cea mai rapidă dintre toate măsurile de mai sus, deoarece nu are CallBackDataID și a tras doar 10 rânduri. Acest lucru arată cât de impresionant este CALCULATE în obținerea de rezultate rapide și precise.

Dacă rulați toate interogările sau măsurile DAX, puteți vedea care dintre ele este cea mai lentă și mai rapidă în funcție de durată. De asemenea, puteți vedea rezultatele fiecărei măsuri.

Interogări DAX folosind variabile și funcții importante

Interogări DAX folosind variabile și funcții importante

Concluzie

Prin mutarea filtrelor la CALCULATE, veți economisi timp și materializare, deoarece CallBackDataID va fi eliminat. Nu va trebui să repetați datele de două ori. Acest lucru va maximiza, de asemenea, performanța DAX-ului și vă va ajuta să vă îmbunătățiți abilitățile de dezvoltare.

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