Ce este Sinele în Python: Exemple din lumea reală
Ce este Sinele în Python: Exemple din lumea reală
Vă voi arăta cum să calculați zilele lucrătoare / zilele lucrătoare între două date fie cu sărbătorile numărate, fie fără sărbătorile. Acesta este un subiect care a fost întrebat de nenumărate ori pe .
De asemenea, cred că aceasta va fi o modalitate excelentă de a închide această serie Time Intelligence, știind că acoperă multe dintre celelalte elemente discutate mai devreme. Aceste elemente includ crearea unui tabel de vacanță, crearea unui tabel extins pentru date și utilizarea funcției , printre altele. Puteți urmări videoclipul complet al acestui tutorial în partea de jos a acestui blog.
Cuprins
Modalități de a calcula zilele lucrătoare între două date
Voi vorbi despre diferite abordări pe care le puteți folosi pentru a calcula zilele de lucru.
Excel permite utilizatorilor să calculeze zilele lucrătoare într-un mod simplu prin utilizarea funcției NETWORKDAYS . Cu toate acestea, DAX nu are o funcție ca aceasta , așa că voi discuta modalități de a ocoli acest lucru.
O modalitate de a face acest lucru este utilizarea unor elemente din tabelul extins de date.
O altă opțiune este printr-o abordare pe care am primit-o de la Imke Feldmann de pe blogul thebiccountant.com. Ea a creat o funcție personalizată NetworkDays care poate fi invocată direct din Power Query , făcând procesul mult mai rapid și mai puțin complicat.
Pentru a vă arăta cum funcționează aceste abordări, voi folosi un scenariu foarte comun.
Am o sută de proiecte pe care le-am anonimizat.
Am, de asemenea, o dată de început și o dată de încheiere pentru fiecare proiect.
Am creat și o măsură simplă Zile scurse . Acesta este practic numărul brut de zile dintre fiecare dintre datele de început și de sfârșit . Am folosit funcția pentru a face acest lucru, o funcție utilă pentru a dadate zilele lucrătoare.
Modelul de date este foarte simplu. Conține tabele pentru Date și Proiecte .
De asemenea, afișează tabelul de fapte, care include ID-ul proiectului , Data de începere și Data de încheiere .
Pentru comparație, am calculat și NetworkDays (cu și fără sărbători) folosind Excel (nu power bi).
Desigur, puteți face același lucru și puteți introduce date din Excel. Dar scopul aici este de a utiliza LuckyTemplates pentru a calcula numărul de zile lucrătoare fără a fi nevoie să utilizați Excel.
Calcularea zilelor lucrătoare între date folosind DAX
Ori de câte ori vă ocupați de numărarea datelor, este întotdeauna eficient să utilizați funcția din tabelul Date.
De asemenea, am folosit DATESBETWEEN pentru a restrânge câmpul dintre Data de început și Data de încheiere . Am adăugat, de asemenea, IsWorkingDay pentru a aplica logica booleană simplă conform căreia, dacă este o zi lucrătoare, atunci ar trebui să fie . Weekend-urile ar returna un .
Am terminat asta cu filtrul doar pentru a lua în considerare contextul slicerelor.
Cât despre varianta cu sărbători, seamănă foarte mult cu măsura pe care tocmai am discutat.
Este aceeași expresie folosind funcția DATESBETWEEN . Am adăugat doar un și IsHoliday.
Din nou, am folosit funcția ALLSELECTED la sfârșit.
Vezi ce se întâmplă când trag cele două măsuri în tabelul meu.
După cum era de așteptat, Zilele lucrătoare cu Sărbători se potrivesc perfect cu coloana Excel cu Sărbători . Același lucru este valabil și pentru coloana Zile lucrătoare fără sărbători, care se potrivește cu coloana Excel fără sărbători .
Calcularea zilelor lucrătoare folosind Power Query
Abordarea despre care vorbește Imke Feldmann de pe blogul thebiccoountant.com oferă o soluție și mai ușoară atunci când utilizați Power Query.
În blogul ei despre funcția NETWORKDAYS, ea a dat un cod M care poate fi invocat în Power Query.
Pur și simplu copiați codul M de pe blogul ei.
Apoi, accesați Power Query și sub Sursă nouă , deschideți o Interogare goală.
Accesați Editorul avansat .
Apoi lipiți întregul cod în pagină. Asigurați-vă că aveți o verificare verde pentru a vă asigura că nu există erori în codul dvs.
Odată invocat, vă va aduce la acest șablon.
Nu contează cu adevărat ce intru aici, așa că voi merge doar cu 1 ianuarie 2018 până la 1 ianuarie 2020.
Acest lucru va apărea acum sub interogările mele. Îl voi redenumi ca să ne fie mai ușor să îl folosim mai târziu.
Îi voi numi Networkdays .
Acum, pot începe să folosesc acea interogare. Voi intra doar în Datele mele .
Apoi, sub Adăugare coloană , voi face clic pe Invoke Custom Function .
Voi apela acest NWD și voi folosi funcția Networkdays .
Apoi, voi alege Data de începere și Data de încheiere din aceste meniuri drop-down de mai jos.
Îmi oferă aici opțiunea de a schimba începutul săptămânii de luni la altceva.
În acest scop, luni este bine, așa că o voi lăsa așa cum este. Apoi, voi face clic pe OK.
După cum puteți vedea, calculează imediat echivalentul Network Days cu coloana Excel Network Days .
Acum, permiteți-mi să modific acest lucru, astfel încât să pot exclude sărbătorile. Trebuie doar să intru la masa mea de vacanță .
Dacă vă amintiți din șablon, tabelul de vacanță este al treilea parametru aici.
Așa că voi folosi tabelul Sărbători aici și voi face referire la coloana Data.
Voi face clic pe bifa aici pentru a aplica aceste modificări.
[00:11:00]
Acum, a fost actualizat și a eliminat toate sărbătorile. Este exact aceeași cu coloana pentru Excel Network Days fără sărbători.
Voi redenumi această coloană NWD Fără vacanță.
Adăugarea numerelor zilei lucrătoare și ale weekendului în tabelul dvs. de date: Tehnica de inteligență a timpului în LuckyTemplates
Prezentarea numărului zilei lucrătoare în LuckyTemplates folosind DAX
Calcularea mediei în LuckyTemplates: izolarea rezultatelor zilei lucrătoare sau weekendului folosind DAX
Concluzie
Veți vedea că ambele abordări pe care le-am folosit au fost foarte diferite una de cealaltă, dar ambele au dat aceleași rezultate. Acest lucru arată doar că există într-adevăr o mulțime de modalități de a maximiza LuckyTemplates, chiar și atunci când funcția Excel specifică pe care o căutați nu are o contrapartidă directă.
Aceasta a fost o cursă grozavă pentru seria Time Intelligence. Mi-a plăcut să lucrez cu Melissa Dekorte pentru a vă arăta toate aceste scenarii grozave ale Time Intelligence.
Unul dintre lucrurile pe care vreau să le subliniez aici este că DAX este cea mai interesantă parte a LuckyTemplates. Dar, pe măsură ce stăpâniți dezavantajele LuckyTemplates, veți începe să apreciați alte soluții care nu implică deloc DAX. Ultima abordare pe care v-am arătat-o mai sus, precum și sfaturile pe care le-am împărtășit în videoclipurile trecute despre Time Intelligence demonstrează acest fapt.
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