Explicarea contextului de rând în LuckyTemplates

Am aflat că majoritatea oamenilor devin confuzi în ceea ce privește înțelegerea modului în care funcționează DAX în contextul rândurilor . Acest lucru se datorează faptului că contextul rândului poate fi destul de complicat și inutil. Așa că vom atinge contextul rândurilor în acest articol. Puteți urmări videoclipul complet al acestui tutorial în partea de jos a acestui blog.

Modul în care mă gândesc la contextul rândurilor este prin iterații sau funcții de iterare . De îndată ce am făcut această distincție în mintea mea, a avut mai mult sens în ceea ce privește ceea ce se întâmplă de fapt în motorul de calcul.

Ca o recapitulare, am discutat că există trei tipuri de contexte: contextul de evaluare , contextul de filtru și contextul de rând .

Orice calcul DAX funcționează într-un proces în doi pași. Contextul de evaluare merge întotdeauna primul și apoi se ramifică fie în context de filtru, fie în context de rând, în funcție de funcția pe care o scrieți.

Cuprins

Înțelegerea contextului de rând

Contextul rândurilor se referă la iterare.

Vă voi arăta câteva exemple și sper că acest lucru vă va ajuta să înțelegeți ce face contextul de rând în final.

Contextul rândului VS Contextul filtrului

În exemplul nostru, formula este calculată prin context de filtru, deoarece este o agregare simplă. Acesta însumează întreaga coloană Cantitate după ce toate filtrele inițiale au fost puse la loc.

Explicarea contextului de rând în LuckyTemplates

Filtrul inițial din tabelul de vânzări este Produsul 1. Însumând fiecare cantitate care a fost vândută, obținem 165.

Explicarea contextului de rând în LuckyTemplates

Acum vă voi arăta cum să obțineți exact același rezultat, dar calculat într-un mod foarte diferit. În primul rând, voi crea o nouă măsură pentru iterarea cantității vândute folosind o formulă de iterare.

Explicarea contextului de rând în LuckyTemplates

Exemple de funcții de iterare includ SUMX , AVERAGEX , MANYX și COUNTX . În acest caz, vom folosi SUMX .

Funcția SUMX mi-a cerut să pun într-un tabel, așa că voi pune în tabelul Vânzări. Și apoi mi-a cerut o expresie, așa că am pus doar în coloana Cantitate.

Această funcție este destul de diferită de prima funcție, dar obțin exact același rezultat când o trag.

Explicarea contextului de rând în LuckyTemplates

Obținem exact aceleași rezultate aici, deoarece în cele din urmă este același calcul. Doar că a fost calculat într-un mod diferit.

Explicarea contextului de rând în LuckyTemplates

Iterația cantității vândute a fost calculată folosind contextul de rând , în timp ce cantitatea totală vândută a fost calculată folosind contextul de filtru .

Calcularea iterației cantității vândute folosind contextul de rând

Să trecem acum prin pas cu pas cum este calculată iterația cantității vândute. În primul rând, trebuie să vă amintiți să părăsiți contextul de evaluare inițial, care este Produsul 1 în acest caz. Și apoi, prin contextul rândului , repetăm ​​fiecare rând din tabel pe care îl specificăm.

În acest caz, specificăm tabelul Vânzări și apoi ne uităm la fiecare rând din coloana Cantitate.

Explicarea contextului de rând în LuckyTemplates

În timpul evaluării inițiale, produsul 1 va fi determinat de ceea ce este filtrat în coloana ID produs. Și apoi numără în sus rândurile de sub coloana Cantitate. De fiecare dată când lovește un rând, intră și salvează rezultatul în memorie.

După ce ajunge la partea de jos a tabelului, merge apoi și face o evaluare a tuturor rezultatelor care sunt salvate în memorie, apoi va face orice calcul îi cereți, care în acest caz este SUMX .

Explicarea contextului de rând în LuckyTemplates

De ce să folosiți un context de rând sau o funcție de iterare?

Acest lucru se datorează faptului că în interiorul unei funcții de iterare puteți face lucruri mult mai complexe. Puteți scrie o logică foarte avansată în interior.

Explicarea contextului de rând în LuckyTemplates

De exemplu, pentru fiecare rând din tabelul Vânzări, cantitatea este înmulțită cu 2. Acum veți vedea că are loc același proces de calcul, dar obținem rezultate diferite.

Explicarea contextului de rând în LuckyTemplates

Acest lucru se datorează faptului că pentru fiecare rând, scriem o logică diferită. După ce parcurgem fiecare rând din coloana cantității, înmulțim valoarea cu două și apoi este salvată în memorie. La final, facem o SUMA .

De asemenea, putem scrie diferite lucruri aici, inclusiv logica avansată, cum ar fi logica IF sau SWITCH .

Explicarea contextului de rând în LuckyTemplates

Există grămezi și grămezi de exemple în care ar fi mai bine să folosești o funcție de iterare sau un context de rând pentru a face un calcul, mai degrabă decât o funcție de agregare sau un context de filtrare .

Note cheie în înțelegerea contextelor în LuckyTemplates

Pentru a recapitula toate lucrurile cheie despre context, amintiți-vă că calcularea în DAX funcționează printr-un proces în doi pași. Primul pas este întotdeauna contextul de evaluare . Contează atât de mult care este contextul de evaluare .

Odată ce înțelegeți care este contextul de evaluare pentru orice rezultat individual, DAX se ramifică apoi în două moduri diferite. Poate calcula fie prin context de filtru, fie prin context de rând.

Alegerea contextului de utilizat depinde de formula pe care o scrieți. Deci, dacă scrieți o formulă simplă de agregare , aceasta va merge și o va calcula prin context de filtru . Dar dacă scrieți o funcție de iterare precum SUMX, atunci aceasta va calcula formula prin contextul rândului .

Odată ce devii puțin mai avansat în DAX, poți avea de fapt mai multe contexte în aceeași funcție. Dar înainte de a ajunge acolo, chiar trebuie să înțelegi ce context este în cea mai simplă formă.

Concluzie

Înțelegerea tipurilor de context este absolut crucială pe măsură ce înveți DAX și vrei să faci o muncă mai avansată. Când începeți să scrieți o formulă DAX cu adevărat avansată, aveți mai multe contexte care funcționează în același timp și trebuie să înțelegeți ce face fiecare parte individuală a acelei formule pentru a obține rezultatele dorite.

Iată câteva link-uri recomandate pentru a afla mai multe despre aplicarea contextului de rând în interiorul LuckyTemplates:

Context de evaluare – (1.8) Ghid definitiv pentru începători la DAX

Context de filtrare – (1.9) Ghid definitiv pentru începători la DAX

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