Ce este Sinele în Python: Exemple din lumea reală
Ce este Sinele în Python: Exemple din lumea reală
Ori de câte ori ați auzit o explicație despre cum să utilizați variabilele LuckyTemplates DAX, este posibil să fi auzit expresia „variabilele sunt constante”. Pare simplu, dar există o cantitate destul de mare de nuanță și complexitate în aceste cuvinte. În acest blog, vă voi prezenta ce înseamnă această expresie și implicațiile pentru modul în care sunt calculate măsurile dvs. Înțelegerea acestor concepte este esențială pentru a vă asigura că măsurile dumneavoastră produc rezultatele dorite. Puteți viziona videoclipul complet al acestui tutorial în partea de jos a acestui blog.
O variabilă din DAX poate fi într-adevăr orice expresie DAX validă. Poate fi o valoare, un calcul, o măsură sau o variabilă care reprezintă un tabel, o altă variabilă sau o combinație a acestor lucruri.
Există două părți într-o variabilă. Există declarația în care inițializați variabila; îi dai un nume și apoi o valoare. Cealaltă este instrucțiunea RETURN , care apelează apoi cel puțin una dintre variabilele pe care le declarați. Nu este ca în paranteză în care trebuie să aveți o instrucțiune RETURN pentru fiecare variabilă, dar trebuie să aveți cel puțin o instrucțiune RETURN dacă ați declarat orice variabilă.
Cheia aici este că, așa cum am spus mai devreme, variabilele sunt constante. Aceasta înseamnă că, odată ce variabilele au fost atribuite unei valori, acea valoare nu se poate modifica înainte de instrucțiunea RETURN .
Cuprins
Aplicarea variabilelor LuckyTemplates DAX în măsuri
Să aruncăm o privire la un exemplu simplu în care am Țări și vânzări totale. Măsurarea vânzărilor totale este doar cea mai simplă măsură a noastră, care este vânzărilor pe linie din tabelul Vânzări.
Să presupunem că vrem să obținem vânzările totale pentru anul 2020. În acest set de date, avem vânzări pentru 2019, 2000 și 2021. Pentru a obține vânzările pentru 2020, trebuie să aplicăm o condiție de filtrare foarte simplă, care este . Deci, ne schimbăm contextul filtrului. Avem măsura noastră de vânzări totale, iar anul nostru este 2020.
Dacă introducem acea măsură în tabel, obținem exact ceea ce ne așteptăm, care este cifra potrivită pentru 2020.
Acum, dacă vrem să aplicăm variabile la aceasta, iată o versiune ușor revizuită a măsurătorii anterioare, în care am creat o variabilă numită TotSales și am stabilit-o egală cu măsura noastră Total Sales.
Dacă ne gândim la asta din punctul de vedere al substituției algebrice, dacă doar înlocuim ceea ce era anterior măsura noastră de vânzări totale aici cu TotSales, care este egal cu acea măsură de vânzări totale, veți crede că ar putea fi același lucru și ar putea produce același lucru. rezultat. Dar dacă aruncăm o privire și aruncăm acea măsură în tabelul nostru, vom vedea că nu produce același rezultat.
Variabila TotSales este declarată, iar aceasta obține valoarea vânzărilor totale. Să zicem că suntem pe rândul Moldova, iar acea variabilă capătă valoarea de 2,35 milioane. Acum, amintiți-vă că valoarea nu se poate modifica decât după apelarea instrucțiunii RETURN. Deci, când mergem în jos pentru a calcula măsura noastră în variabila REZULTAT , ceea ce avem este TotSales, care este o constantă de 2,35 milioane.
Și apoi, îi aplicăm contextul nostru de filtru, Dates[Year] este egal cu 2020 , dar nu contează, deoarece acea constantă nu se poate schimba. Deci, am putea spune că Date[Year] este egal cu 2019, 2021 și așa mai departe, va fi în continuare aceleași 2,35 milioane, deoarece TotSales este acum blocat ca o constantă până la RETURN .
Și când revine, trecem la rândul următor, iar variabila preia valoarea Olandei (4,4 milioane). Procesul se repetă, blocându-l ca o constantă până la instrucțiunea RETURN. Ceea ce obținem este exact ceea ce avem în măsura vânzărilor totale, nu în măsura care filtrează până în 2020.
Și așa, s-ar putea să vă gândiți că asta nu pare de fapt foarte util. În acest context, nu este. Aceasta este de fapt o greșeală comună atunci când oamenii încep să folosească inițial variabile . Ei pun variabila în prima porțiune de expresie a instrucțiunii CALCULATE. De obicei, acest lucru nu va oferi rezultatul pe care îl caută, deoarece îl blochează ca o valoare constantă.
Utilizarea variabilelor LuckyTemplates DAX în cadrul iteratorilor
Variabilele chiar strălucesc atunci când le introduci în iteratoare. O să vă vorbesc despre acest caz, care este unul anterior cu valoare. Căutăm o dată și apoi o valoare anterioară, supuse mai multor condiții.
Amintiți-vă că modul în care trebuia să faceți asta înainte ca variabilele să vină în DAX era printr-o funcție numită . Dar acum, variabilele funcționează atât de bine în acest context. Cu variabile, este foarte recomandat să nu mai folosiți niciodată această funcție ANCHE.
Deci, să aruncăm o privire la un exemplu mai complex, în care avem variabile în porțiunea de iterator, mai degrabă decât în porțiunea de expresie. Mai jos este de fapt un caz dintr-o întrebare care a apărut pe în care membrul a vrut să se uite la fiecare dată dintr-un interval și apoi să vină cu prima dată anterioară care nu a fost un weekend sau o vacanță.
Vreau să mă concentrez în special pe marți, 15 octombrie, ca exemplu principal. Rezultatul dorit a fost să ne uităm la acea dată. Luni era Ziua lui Columb, deci era sărbătoare, apoi următoarele zile precedente au fost duminică și sâmbătă. Și așa, data pe care am vrut să o obținem a fost 11 octombrie, care era vineri.
Dacă te uiți la coloana Ziua anterioară/Fără weekend/Fără vacanță, marți a fost 11. Același lucru a fost valabil și pentru luni, duminică și sâmbătă. Asta vrem să obținem ca rezultat.
Pe lângă tabelul de mai sus se află măsura pe care am folosit-o pentru acest scenariu de caz. Am declarat o variabilă care a fost data selectată ( VAR SelDate ) și care a fost doar a Datei. Va prelua data de 15 octombrie în variabila noastră și apoi va menține asta ca o constantă până la instrucțiunea RETURN.
Apoi, evaluăm DAX-ul din exterior. Dacă ne uităm la starea filtrului, înseamnă că eliminăm filtrele de pe Date și apoi setăm o serie de filtre suplimentare. Ia acea dată constantă selectată, 15 octombrie, și spune, dă-mi toate datele anterioare. Și apoi, dintre acele date, asigurați-vă că niciuna dintre acele date nu este sâmbătă, duminică sau sărbătoare. Apoi, este nevoie de -ul acelor date care au fost filtrate.
Puteți vedea aici că selectarea datelor ca constantă este un fel de miză în teren pe care toate celelalte date sunt evaluate fie înainte, fie după.
Avem data selectată și apoi filtrăm tot ce este anterior. Luăm maximul acelui tabel filtrat. Și așa, ceea ce obținem este maximul pe 15 când eliminăm toate celelalte condiții este acea vineri, 11. Apoi, dacă coborâm la declarația RETURN, se începe cu a doua zi, pe 16. Pur și simplu continuă să itereze prin tabel până când ajunge la sfârșitul datelor.
După cum puteți vedea în acest caz, atunci când punem variabile în porțiunea de iterator și nu în porțiunea de expresie, funcționează exact așa cum am planificat. Se profită de faptul că variabilele sunt constante.
Utilizarea variabilelor în LuckyTemplates – Un exemplu detaliat
Cum să lucrați cu formule DAX extinse în LuckyTemplates – Sfaturi de formatare au inclus
variabile DAX și comentarii pentru a simplifica formule
Concluzie
În acest blog, v-am arătat cum să aplicați variabile LuckyTemplates DAX într-o măsură și cum funcționează atunci când variabilele sunt plasate în porțiunea iteratoare a unei măsuri.
Sper că aceste exemple explică expresia „variabilele sunt constante”, oferindu-vă o perspectivă asupra poate de ce măsurile dvs. par să funcționeze și, uneori, nu. Sper că acest lucru vă oferă o înțelegere generală a ceea ce înseamnă acest concept important.
Toate cele bune!
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