Iterarea funcțiilor în limbajul DAX – Un exemplu detaliat

Pentru această postare pe blog, vreau să mă aprofundez în funcțiile de iterare din limbajul DAX din LuckyTemplates. Motivul pentru care vreau să petrec ceva timp arătând ce poți face în interiorul funcțiilor de iterare este pentru că este un concept atât de important încât trebuie să înveți foarte bine. Puteți urmări videoclipul complet al acestui tutorial în partea de jos a acestui blog.

Este posibil să fi finalizat doar câteva SUM-uri simple sau să fi folosit potențial funcția AVERAGE, dar este, de asemenea, important să înțelegeți cum să utilizați funcțiile de iterare care au un X la sfârșit , cum ar fi: SUMX, AVERAGEX sau COUNTX.

Motivul este că poți deveni mult mai avansat într-o funcție de iterare decât poți cu o funcție de agregare.

Cuprins

Ce este o funcție de iterare?

Dacă încă nu sunteți familiarizat cu ce este o funcție de iterare, este o funcție în limbajul formulei DAX care are în general un X la sfârșit. Aveți și funcții de tabel care iterează printr-un tabel precum FILTER sau VALUES, dar în acest caz ne vom ocupa doar de SUMX.

Dacă te uiți la formula noastră pentru vânzări totale, poți că aceasta este o funcție iterativă din cauza SUMX. Iterare înseamnă să repeți fiecare rând și să faci un calcul. În acest caz, pentru fiecare rând din tabelul Vânzări, înmulțim cantitatea cu prețul curent. De asemenea, ne întoarcem la tabelul Produs folosind funcția RELATED pentru a obține prețul curent.

Iterarea funcțiilor în limbajul DAX – Un exemplu detaliat

Vreau să vă arăt cum puteți scrie funcții de iterare cu adevărat complexe care extrag o perspectivă grozavă pe care ați dori să le obțineți în datele dvs. Pentru acest tutorial, vreau să calculez câte vânzări facem peste un anumit preț. În acest caz, vom selecta 2.000 USD.

De asemenea, vreau să știu care sunt vânzările noastre pe lună pentru produse care depășesc 2000 USD, dar unde cineva cumpără mai mult de un singur produs. De asemenea, vrem să vedem cât de bine se compară cu vânzările noastre totale. Acesta este genul de complexitate care poate fi atins prin scrierea unei singure formule și prin utilizarea unei funcții de iterare.

Preț de vânzare mai mare de 2000 USD

Să creăm o măsură și să o numim Preț de vânzare > 2000 USD și Cantitate > 1 . În general, ar trebui să scrieți câteva coloane diferite sau câteva măsuri diferite pentru a vedea răspunsul aici, dar vă voi arăta cum o puteți face de fapt cu doar una. O să încep cu SUMX și scrie aici că trebuie să intrăm într-un tabel, nu?

Iterarea funcțiilor în limbajul DAX – Un exemplu detaliat

Deci vom aborda această provocare Cantitate > 1 creând un tabel care nu este întregul tabel de vânzări, ci un tabel care a filtrat deja orice a văzut o singură dată. Vom folosi FILTER aici, deoarece este o funcție de tabel, astfel încât puteți pune orice fel de tabel înăuntru. Apoi vom merge cu Vânzări și vom itera fiecare rând din tabelul Vânzări din această funcție FILTER și vom filtra fiecare rând cu o cantitate mai mare de unu.

Iterarea funcțiilor în limbajul DAX – Un exemplu detaliat

Pentru fiecare vânzări peste 1, vreau să creez și o logică suplimentară. Voi scrie un model de expresie și voi folosi SWITCH aici. Vom spune că, dacă vânzarea are un preț curent mai mare sau egal cu 2000 USD, atunci vreau să calculez vânzările totale. Dacă nu este, atunci nu vreau să-l calculez deloc. În cele din urmă, voi pune 0 ca rezultat alternativ.

Iterarea funcțiilor în limbajul DAX – Un exemplu detaliat

Așa scrieți niște formule de iterare destul de complexe în limbajul DAX. Partea cheie este să înțelegeți ce fel de tabele puteți pune acolo și să știți ce face iterația reală .

În acest caz, pentru fiecare rând din acest tabel de filtrare în jos, evaluez care este prețul curent care este mai mare de 2000 USD. Dacă este, numărăm vânzările acelui rând, iar dacă nu este, atunci este doar 0.

Odată ce trageți această măsură în tabel, veți vedea că rezultatele sunt similare cu ceea ce am obținut în primul grafic; singura diferență este că acest lucru este zilnic.

Iterarea funcțiilor în limbajul DAX – Un exemplu detaliat

Preț de vânzare mai mare de 500 USD

Putem crea o perspectivă suplimentară aici prin reutilizarea aceluiași model. Dacă vrem să ne uităm la ceea ce era peste 500 USD, tot ce trebuie să facem este să facem câteva mici modificări aici, să apăsăm pe Enter și apoi să trageți și acest lucru în tabel.

Iterarea funcțiilor în limbajul DAX – Un exemplu detaliat

Evident, putem vedea o mare diferență, deoarece sunt mai multe produse pe care le numărăm. Acest lucru se datorează faptului că nu scăpăm de atât de multe produse cu preț mai mare sau cu preț mai mic decât am fost anterior cu cei 2000 USD.

Iterarea funcțiilor în limbajul DAX – Un exemplu detaliat

Vizualizarea Datelor 

De asemenea, putem schimba acest lucru într-o vizualizare , totuși, după cum puteți vedea, graficul pare puțin ocupat, așa că probabil este mai bine să rămânem în tabel sau putem face intervalul de timp mai condensat ca graficul din stânga.

Iterarea funcțiilor în limbajul DAX – Un exemplu detaliat

Sperăm că puteți evalua și înțelege cât de departe puteți merge cu aceste funcții de iterare în limbajul DAX. Puteți începe să vă aprofundați cu adevărat în orice aspect al datelor dvs. sau să extrageți informații foarte specifice. Modul de a face acest lucru este prin utilizarea acestui context de rând, care vă permite să intrați efectiv în aceste funcții de iterare. Puteți să vă uitați la un rând individual, să îl introduceți în sau în afara calculului dvs. și să utilizați funcțiile de iterare precum SUMX, AVERAGEX și COUNTX.

Funcțiile de iterare vă oferă mult mai multă flexibilitate în ceea ce privește calculele pe care le puteți face la nivel de rând, comparativ cu agregarile care vă permit doar să agregați o întreagă coloană. Acum, în cadrul funcțiilor de iterare, mai întâi trebuie să introduceți o referință de tabel și apoi o expresie, dar cu siguranță vă extindeți mintea în ceea ce privește ceea ce poate fi de fapt oricare dintre acestea.

În cadrul funcțiilor de iterare, puteți pune de fapt în orice tabel sau orice derivat al unui tabel... și orice tabel virtual sau referință la tabel. Acest lucru vă permite mult mai multă flexibilitate decât ați avea în mod obișnuit dacă utilizați doar un tabel întreg, cum ar fi tabelul de tranzacții, pentru a rula ceva logic.

Expresia (sau măsura) introdusă poate fi, de asemenea, foarte avansată. Puteți utiliza logica IF avansată sau logica SWITCH sau, practic, orice puteți face la nivel de rând în interiorul unei coloane calculate. De fapt, o puteți pune în acea expresie parte a unei funcții de iterare.

Concluzie

Principala concluzie din această postare este că funcțiile de iterare sunt incredibil de importante pentru a înțelege și a învăța bine în LuckyTemplates.

Dacă înveți bine acest lucru, atunci oportunitățile de a rula calcule interne în memorie prin intermediul măsurilor devin foarte, foarte puternice.

Consultați dacă abia începeți cu limbajul DAX și LuckyTemplates. Multe de învățat în cadrul acestui curs gratuit. Puteți găsi acest lucru la .

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