Ce este Sinele în Python: Exemple din lumea reală
Ce este Sinele în Python: Exemple din lumea reală
Acest tutorial vă va învăța despre diferite funcții de iterare și despre cum să le utilizați eficient în calcule.
Adesea discut despre modul în care coloanele calculate nu sunt necesare atunci când fac unele calcule. Acest lucru se datorează iteratorilor.
Iteratoarele sau funcțiile de iterare vă pot ajuta să faceți un calcul fără a pune fizic rezultatele în tabel.
Această tehnică vă poate ajuta să economisiți memoria necesară pentru a încărca modelul de date LuckyTemplates . În secțiunile următoare, vă voi arăta cum să vă optimizați calculele folosind iteratoare.
Cuprins
Calcularea vânzărilor totale utilizând o funcție de iterator
Pentru a începe, creați o măsură nouă pentru Costuri totale . Asigurați-vă că selectați grupul de măsuri în care doriți să aterizeze această nouă măsură.
Apăsați Shift și Enter pentru a vă deplasa în jos pe o linie înainte de a pune prima funcție de iterare, care este .
În bara de formule a LuckyTemplates, puteți vedea deja exact ce trebuie să puneți după funcția sugerată de IntelliSense. Pentru SUMX , trebuie să adăugați un tabel după el.
Formula SUMX va rula logica pe fiecare rând al tabelului dat. Acesta este motivul pentru care iteratorii sunt asociați cu contextul de rând . În cadrul măsurii, iteratorii pot transforma formula într-un context de rând.
Va trebui să faceți referire la tabelul de vânzări după funcția SUMX . Pentru a calcula costurile totale, trebuie să înmulțiți Cantitatea comenzii cu Costul unitar total .
Nu trebuie deloc să facem referire la noua coloană care a fost creată. Costurile totale este o măsură și o pot aduce în tabelul meu pentru a evalua costurile noastre totale.
Acum, trageți măsura în interiorul tabelului pentru a vedea rezultatele. Asigurați-vă că ați selectat un context inițial din filtrul Oraș .
Putem schimba contextul inițial al calculului nostru făcând clic pe diferitele regiuni pe care dorim să le aruncăm o privire.
Costurile totale funcționează într-un mod similar în ceea ce privește contextul inițial. Contextul inițial este aplicat tabelului de vânzări, dar apoi, în cadrul fiecăruia dintre aceste rezultate individuale, calculăm cantitatea de comandă înmulțită cu costul unitar total.
În culisele modelului nostru de date, ne-am activat filtrul și avem context care vine din tabelul nostru Regiuni și un alt context care vine din tabelul nostru Date. Acestea curg în tabelul nostru de vânzări, care este filtrat de funcția de iterare SUMX.
Deoarece funcția SUMX evaluează virtual fiecare rând al tabelului de vânzări , nu este nevoie de o coloană fizică pentru rezultate.
După contextul inițial, SUMX obține produsul dintre cantitatea de comandă și costul unitar total pentru fiecare rând. În cele din urmă, evaluează toate rezultatele calculate din toate rândurile.
Dacă ați observat, coloana inițială Costuri a fost creată printr-o coloană calculată. După cum am spus, este inutil, deoarece iteratorii își pot face deja treaba. Îl puteți șterge deoarece poate ocupa memorie inutilă în modelul dvs.
Formulele repetate rulează evaluări la fiecare rând, în timp ce formulele de agregare nu.
Acesta este un exemplu simplu, dar puteți fi mai avansat aici și puteți scrie instrucțiuni IF și instrucțiuni SWITCH. De asemenea, nu trebuie să creați un tabel fizic; puteți folosi unul virtual în schimb.
Multe dintre aceste informații sunt tratate în profunzime în cursul Mastering DAX , dar acesta este doar pentru a vă arăta începuturile funcțiilor de iterare și cum să începeți să le utilizați atunci când este cazul.
Dacă simțiți nevoia să creați o coloană calculată în interiorul tabelului de fapte, aproape vă pot garanta că o funcție de iterare va face treaba pentru dvs.
Utilizarea altor funcții de iterator DAX
Acum, vă voi arăta un alt exemplu despre modul în care iteratorii pot face minuni în calculul dvs. De data aceasta, să calculăm costul mediu.
Doar copiați formula Costuri totale și inserați-o într-o măsură nouă. Trebuie doar să schimbați numele în Costuri medii și apoi să utilizați în loc de SUMX .
Noua formulă rulează o logică similară, deoarece evaluează fiecare rând al tabelului de vânzări . În plus, mai trebuie să obțineți produsul Cantitatea comenzii și Costul unitar total . Singura diferență aici este, în loc de sumă, formula calculează media.
Acum, dacă aduceți măsura Costurilor medii în tabel, puteți vedea cum se compară cu măsura Costurilor totale .
Este uimitor cum poți rula o logică similară doar schimbând funcția de iterare.
Tehnici suplimentare de optimizare a datelor
Pentru a vă optimiza tabelul, puteți șterge informații redundante, cum ar fi coloana Venituri totale .
Deoarece puteți atinge cu ușurință costurile medii, nu veți mai avea nevoie de coloana Venituri totale din tabel. Atâta timp cât aveți coloanele Prețul unitar și Costul unitar total , totul este în regulă.
Acum, puteți crea o măsură nouă pentru vânzări totale (iterație) utilizând funcția SUMX . Trebuie doar să faceți referire la tabelul de vânzări , apoi să obțineți produsul Cantitatea comenzii și prețul unitar .
După aceea, puteți compara rezultatele în coloanele Vânzări totale și Vânzări totale (iterație) . Ambele au aceleași rezultate, nu?
În ceea ce privește performanța, nu există o mare diferență între utilizarea coloanelor calculate și a iteratorilor. Dar când vine vorba de modelul de date, o funcție de iterator poate scăpa de o întreagă coloană și vă poate salva sute de rânduri de date.
În plus, puteți șterge coloanele redundante, deoarece iteratorii pot calcula rezultatele necesare virtual. Această practică vă va face masa mult mai subțire și modelul mult mai rapid. Asigurați-vă că aplicați această tehnică de optimizare în propriile calcule.
Concluzie
Pentru a rezuma, o funcție de iterare evaluează fiecare rând, în timp ce agregatorii nu o fac.
Litera X de la sfârșitul funcției facilitează identificarea iteratorilor. Exemplele includ funcțiile SUMX , AVERAGEX , , și multe altele.
Utilizarea funcțiilor de iterare nu va crea tabele fizice suplimentare . Acest lucru vă poate ajuta să economisiți memorie în LuckyTemplates.
Exemplele pentru SUMX și AVERAGEX pe care le-am tratat sunt scenarii simple. Mai târziu, vom trece la altele mai avansate adăugând instrucțiuni IF și instrucțiuni SWITCH .
Toate cele bune!
Funcții DAX în LuckyTemplates: Utilizarea iteratoarelor
Funcții de iterare în limbajul DAX – Un exemplu detaliat
de lucru cu funcții de iterare în DAX
*****
Ce este Sinele în Python: Exemple din lumea reală
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.
Î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.
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.
Î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.
Vreau să arăt cum serviciul online LuckyTemplates Apps poate ajuta la gestionarea diferitelor rapoarte și informații generate din diverse surse.
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.
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.
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