Calendar de vacanță LuckyTemplates – Calculați data cu DAX

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.

Calendar de vacanță LuckyTemplates – Calculați data cu DAX

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.

Calendar de vacanță LuckyTemplates – Calculați data cu DAX

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.

Calendar de vacanță LuckyTemplates – Calculați data cu DAX

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.

Calendar de vacanță LuckyTemplates – Calculați data cu DAX

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 .

Calendar de vacanță LuckyTemplates – Calculați data cu 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 .

Calendar de vacanță LuckyTemplates – Calculați data cu DAX

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ă.

Calendar de vacanță LuckyTemplates – Calculați data cu DAX

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 .

Calendar de vacanță LuckyTemplates – Calculați data cu DAX

Î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.

Calendar de vacanță LuckyTemplates – Calculați data cu DAX

În mod similar, facem același lucru pentru ultimul calcul ( VAR CalcLast ).

Calendar de vacanță LuckyTemplates – Calculați data cu DAX

Odată ce avem toate acestea, se trece la o instrucțiune și ultima parte este rezultatul RETURN.

Calendar de vacanță LuckyTemplates – Calculați data cu DAX

Î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 .

Calendar de vacanță LuckyTemplates – Calculați data cu DAX


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!

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