Lucrul cu funcții de iterare în DAX

Am văzut o confuzie cu funcțiile de iterare în DAX ori de câte ori lucrez cu membrii LuckyTemplates pe forum. Deci vom face o trecere în revistă a ceea ce se poate realiza folosind aceste funcții și de ce ar trebui să le utilizați. Puteți urmări videoclipul complet al acestui tutorial în partea de jos a acestui blog.

Pe măsură ce intrați mai mult în formulele DAX , veți folosi aceste funcții de iterare mult mai mult decât credeți. Sunt mult mai versatile decât funcțiile simple de agregare precum SUM sau AVERAGE .

Am câteva exemple aici și vreau să lucrez prin logica din fiecare dintre aceste exemple, astfel încât să puteți înțelege foarte bine ce se întâmplă de fapt atunci când logica este rulată prin aceste formule.

Principalul lucru despre iterarea funcțiilor este că acestea repetă prin ceva.

Cuprins

Iterație simplă folosind SUMX

Lucrul cu funcții de iterare în DAX

În acest caz, vreau să rezumam ceva, dar vreau să iterez prin fiecare rând din acest tabel de vânzări.

Lucrul cu funcții de iterare în DAX

Și apoi, la fiecare rând, vreau să rulez această logică specifică aici.

Lucrul cu funcții de iterare în DAX

Să trecem rapid la tabelul nostru de vânzări foarte simplu, unde vreau să rulez ceva logică la fiecare rând. Și apoi vreau să înmulțesc cantitatea cu prețul.

Lucrul cu funcții de iterare în DAX

Pretul nu exista in acest tabel. Și pentru acest model special, acesta se află de fapt în tabelul de produse.

Lucrul cu funcții de iterare în DAX

Următorul lucru pe care trebuie să-l fac este să mă întorc la tabelul cu produse și pot face asta cu RELATED . Când calculăm cantitatea înmulțită cu prețul relevant, facem acest lucru pentru fiecare rând. Este exact ceea ce se întâmplă în interiorul acestei formule.

Acestea sunt conceptele cheie de reținut atunci când începem să facem lucruri mai avansate.

O abordare alternativă pentru a obține vânzări folosind SUMX

Lucrul cu funcții de iterare în DAX

În acest exemplu, am SUMX să repete din nou tabelul de vânzări. Așa că rulăm acea logică în fiecare rând și calculăm cantitatea înmulțită cu prețul la fiecare rând și apoi o cumulăm odată ce toată iterația este finalizată.

Lucrul cu funcții de iterare în DAX

Veți vedea aici că acest rezultat este exact același cu rezultatele din primul exemplu (Sumx Tutorial 2) sau Total Sales.

Puteți plasa o întreagă varietate de lucruri diferite aici - poate fi o măsură și vă puteți ramifica cu o funcție de iterare. Nu trebuie să faceți referire la anumite coloane pentru a obține efectiv calculele corect.

Lucrul cu funcții de iterare în DAX

După cum puteți vedea aici, tot ce am făcut a fost să plasez o măsură (Vânzări totale) aici și obțin exact același rezultat.

SUMX și funcții logice

Lucrul cu funcții de iterare în DAX

Folosesc SUMX aici, dar este relevant și pentru AVERAGEX , MINX și MAXX . Toate sunt lucruri foarte asemănătoare.

Un alt lucru cheie de reținut cu aceste funcții de iterare este că rulează logica la fiecare rând și salvează rezultatul în memorie.

Odată ce toate aceste valori sunt salvate în memorie, se face calculul general - ca o SUMA sau o MEDIE .

Lucrul cu funcții de iterare în DAX

Revenind la exemplul nostru, puteți vedea aici că suma din această coloană este puțin mai mică decât în ​​coloanele anterioare.

Lucrul cu funcții de iterare în DAX

Cu funcția de iterare SUMX , vreau să parcurg fiecare rând din tabelul de vânzări. Și în fiecare rând, vreau să calculez dacă respectiva vânzare este mai mare de 2.000 USD. Dacă este, vreau să calculez vânzările totale pentru acel rând. Dar dacă totalul vânzării a fost mai mic de 2000 USD, atunci vreau să returnez zero. Deci vreau doar să calculez vânzările cu valoare mai mare.

Unii oameni vor sugera că aș putea pune logica într-o coloană calculată. Dar nu vrem să facem asta pentru că există o modalitate mult mai bună de a rula această logică în interiorul DAX , decât să o punem fizic într-o coloană.

Iterarea prin tabele

Aici funcțiile de iterare sunt uimitoare. Nu numai că puteți itera printr-un tabel fizic așa cum am făcut-o înainte, dar puteți, de asemenea, să iterați printr-un alt tabel virtual pe care îl introduceți ca parametru.

Lucrul cu funcții de iterare în DAX

Vom crede că fiecare rezultat aici are un context specific. În acest caz particular, avem contextul clientului.

Lucrul cu funcții de iterare în DAX

În acest context, vreau să parcurg fiecare locație și vreau să văd dacă un anumit client a atins vânzări de peste 5.000 USD.

Dacă da, vreau să calculez vânzările totale. Dar dacă nu, vreau să revină la zero.

Lucrul cu funcții de iterare în DAX

Deci, în acest caz particular, calculez locațiile de mare valoare de la care cumpără acest client și vânzările totale pe care le realizează în acele locații.

Lucrul cu funcții de iterare în DAX

Ceea ce face VALUES aici este să creeze un tabel virtual. Deci SUMX nici măcar nu lucrează la nimic fizic aici. De fapt, lucrează la ceva care este total virtual.

Iterație simplă folosind MINX

Lucrul cu funcții de iterare în DAX

Acesta este similar cu exemplele anterioare, dar în loc de SUMX , vom rula un alt tip de agregare odată ce repetăm ​​fiecare rând.

Lucrul cu funcții de iterare în DAX

În acest caz particular, scriem în fiecare locație pentru fiecare client și calculăm vânzările totale pentru fiecare dintre acele locații.

Lucrul cu funcții de iterare în DAX

Apoi vrem să returnăm suma minimă din locația de unde au achiziționat.

Iterație simplă folosind MAXX

Lucrul cu funcții de iterare în DAX

De asemenea, fac un lucru similar aici doar pentru a vă arăta versatilitatea funcțiilor de iterare. Trec prin fiecare locație uitându-mă la vânzările lor, dar apoi returnez maximul vânzărilor respective, motiv pentru care vedem numere mai mari aici.

Concluzie

Principalul lucru pe care am vrut să-l ating în acest articol este gama de opțiuni pe care le aveți în interiorul unei funcții de iterare față de o sumă simplă sau o medie.

Odată ce începeți să cercetați în calcule mai complexe, veți vedea cât de esențiale sunt aceste funcții particulare pentru a returna valori la nivel de context.

Există atât de multă versatilitate și atât de multe moduri în care puteți rula aceste calcule folosind o formulă simplă, dacă doar știți cum să manipulați parametrii.

Dacă v-a plăcut să aflați despre aceste funcții de iterare , puteți naviga prin aceste linkuri pentru a obține mai multe informații despre acest subiect:

Concepte cheie pentru iterarea funcțiilor în LuckyTemplates

Iterarea logicii prin tabele virtuale – Concepte DAX avansate în LuckyTemplates

Să lucrezi cu plăcere prin aceasta.

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