Ce este Sinele în Python: Exemple din lumea reală
Ce este Sinele în Python: Exemple din lumea reală
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.
Î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 .
Această măsură filtrează întregul tabel Fact Sales. Îndepărtează filtrele care provin din tabelul Date.
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.
Aceasta este o altă măsură care filtrează tabelul Fact Sales, dar de data aceasta este doar pe coloana în care se află.
Ultima măsură este utilizarea CALCULATE și modelul de date pentru a filtra și a prelua datele.
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.
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.
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.
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.
Rulați măsura CALCULATE . Puteți vedea că a materializat doar 10 rânduri și a generat datele corecte în 5 milisecunde.
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.
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.
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