Ce este Sinele în Python: Exemple din lumea reală
Ce este Sinele în Python: Exemple din lumea reală
Crearea unui calendar de sărbători LuckyTemplates este crucială pentru multe calcule de inteligență. În acest tutorial, vă voi arăta cum să calculați anumite date de vacanță folosind măsurile DAX. Puteți viziona videoclipul complet al acestui tutorial în partea de jos a acestui blog.
Acest exemplu provine de la una dintre inițiativele numită Problema săptămânii, în care în fiecare lună luăm o problemă DAX sau Power Query din lumea reală și o defalcăm în detaliu.
Am folosit o tehnică numită Rubber Duck Debugging. Este folosit de obicei pentru depanare, dar consider că este foarte valoros și pentru a veni cu cadrul inițial pe care îl veți folosi pentru a rezolva o problemă complexă, cum ar fi în LuckyTemplates.
Practic, este doar să folosești o rață de cauciuc sau o persoană cu care vorbești și să spui cu voce tare soluția pe care o imaginezi și să dezvolți un plan pentru modul în care vei ataca problema.
Simplul act de exprimare care te ajută adesea să rezolvi problema. În unele cazuri, într-o situație de depanare, vă face să vă dați seama ce faceți, dacă are sens și vă ajută să găsiți o modalitate de a remedia problema abordând problema.
Mai jos este problema DAX din lumea reală pentru această provocare specială. Avem aici un tabel cu 10 sărbători cu luna și ziua. Unele dintre zile sunt zile specifice, iar unele dintre ele sunt relative. Trebuie să venim cu Data Sărbătorii și Măsurile Sărbătorite.
Pentru a face asta, trebuie să analizăm câmpul Zi în două componente. Prima analiză este apariția (a treia, ultima, prima, a doua), iar a doua analiză este ziua (luni, joi). Acestea sunt două informații esențiale pe care trebuie să le separăm.
Cuprins
Calcularea anumitor date în calendarul de vacanță LuckyTemplates
În mod normal, aș face acest lucru în Power Query doar printr-o împărțire pe delimitatori, dar din moment ce o facem cu DAX, va trebui să o facem într-un mod diferit. (Rețineți că nu avem voie să folosim Power Query în această provocare.)
Trebuie să calculăm datele minime și maxime pentru anul, luna și numele zilei specificate. În acest caz, de exemplu, putem spune pentru 2027, ianuarie și a treia zi de luni. Odată ce obținem acea zi minimă pentru o anumită lună, putem adăuga șapte zile pentru a ajunge la a doua zi de luni, 14 zile pentru a ajunge la a treia luni și 21 de zile pentru a ajunge la a patra luni.
O altă tehnică pe care vreau să o împărtășesc cu voi legată de această provocare este ceea ce eu numesc Construirea în părți atunci când creez o măsură. Mi se pare că acest lucru este foarte util într-o măsură complexă în care dacă aveți o mulțime de variabile, aveți o mulțime de componente de construit.
Ceea ce fac întotdeauna este că am o variabilă rezultat ( VAR Result ) la sfârșit și ultima mea declarație care este doar Return Result . Acest lucru face foarte ușor să te întorci și să testezi variabilele pe care le-am construit. Pot să parcurg, să urmăresc și să o rezolv în părți.
Ultima tehnică pe care vreau să o împărtășesc cu voi este ceea ce eu numesc Căutarea funcțiilor necunoscute. De exemplu, dacă nu știu ce funcție să folosesc pentru această provocare de calendar de vacanță LuckyTemplates, voi merge la fila Instrumente externe și voi merge la Ghidul SQLBI DAX .
Are o caracteristică foarte frumoasă aici numită Grupuri (în partea stângă), unde funcțiile sunt grupate după tip. Și așa, dacă mă gândesc să parsez un șir de text, de exemplu, pot căuta funcții Text .
Acesta oferă toate funcțiile text pe care le are DAX. Aceasta este o modalitate excelentă de a găsi rapid funcția DAX de care aveți nevoie pentru o măsură.
Măsuri DAX pentru calendarul de vacanță LuckyTemplates
Pentru măsura Data de vacanță , am creat această serie de SELECTEDVALUE recoltând datele din slicer, luna vacanței, numărul lunii și ziua din tabelul Date.
Apoi, am lungimea din ziua selectată folosind funcția de lungime ( ). În acest caz, a returnat text, așa că a trebuit să-l împachetez în pentru a schimba acel text într-o valoare numerică.
Și apoi, am folosit funcția pentru poziția spațiului și l-am împachetat VALORE, dar spunând, căutați spațiu în ziua selectată, începând cu poziția unu și returnând zero dacă nu găsesc acel șir acolo.
CharsBeforeSpace (caracterele înainte de spațiu) este doar SpacePosition. Numărul de CharsAfterSpace (caractere după spațiu) este doar lungimea ( SelDayLen ) șirului minus poziția spațiului. De aici, putem face FirstParse și SecondParse .
În acest moment, avem acum două variabile, una reprezentând apariția și alta reprezentând ziua.
Și apoi, avem un de bază ( Calc1st ) unde scoatem filtrul din tabelul Date. Apoi, aplicăm filtrele anului selectat din slicer, numele lunii și apoi ziua săptămânii din a doua analiză pe care am făcut-o.
În mod similar, facem același lucru pentru ultimul calcul ( VAR CalcLast ).
Odată ce avem toate acestea, se trece la o instrucțiune și ultima parte este rezultatul RETURN.
În cele din urmă, vreau să vă ghidez prin măsura Celebrated On ca bonus suplimentar din provocare. Aceasta este doar o simplă în care am luat data vacanței pe care am calculat-o în măsura anterioară, am mers la tabelul Date și am căutat numele zilei săptămânii. Și apoi tocmai am făcut o declarație SWITCH în care am luat acel rezultat al DayLookup. Și, în sfârșit, îl închei cu un RETURN DateAdjust .
Crearea unui tabel de calendar pentru sărbători în LuckyTemplates
Calendare personalizate LuckyTemplates: calcul pentru modificarea lună la lună – 445 de calendare
Comparație de timp pentru tabele de date nestandard din LuckyTemplates
Concluzie
Această provocare LuckyTemplates Holiday Calendar, așa cum am menționat, este o problemă din lumea reală. Soluția cu care am venit este destul de complexă, dar cu adevărat eficientă în calcularea datelor specifice de vacanță.
Sper că ai învățat multe din acest tutorial. Consultați tutorialul video complet pentru o explicație mai detaliată a măsurilor DAX.
Noroc!
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