Ce este Sinele în Python: Exemple din lumea reală
Ce este Sinele în Python: Exemple din lumea reală
Acest tutorial se concentrează pe utilizarea funcției Power Query M number.mod pentru a crea un model alternativ 0-1 în tabelul Date. Soluția pe care ți-o voi arăta a venit de la unul dintre utilizatorii de putere ai comunității noastre, Rajesh, de la LuckyTemplates. Puteți urmări videoclipul complet al acestui tutorial în partea de jos a acestui blog.
Scopul este de a genera o secvență de patru zerouri alternate cu patru uni, apoi repetă-o pe tot parcursul zilei.
Rajesh a fost perfect cu analiza și defalcarea problemei folosind funcția Power Query M pentru a o rezolva. Acestea fiind spuse, să trecem la Power Query.
Cuprins
Funcția Power Query M Number.Mod
Power Query M, în special funcția number.mod va fi nucleul soluției noastre. Ce face?
Puteți verifica documentația internă a oricărei funcții M introducând numele acesteia fără paranteze, așa cum se arată aici în bara de formule. Această funcție returnează restul unei diviziuni întregi. Este nevoie de până la trei parametri, primii doi, un număr și divizorul, care este tot un număr.
Acum să începem. Voi selecta exemplul meu de interogare care conține un interval de date pe care l-am pregătit.
În multe cazuri, number.mod este folosit în combinație cu o coloană index care este apoi folosită ca prim parametru. Dar nu am de gând să fac asta pentru că dacă te gândești la asta, valoarea datei este un număr întreg. Deci, crearea unui index care împărtășește aceeași granularitate ca și coloana Date, în care fiecare rând are o valoare unică este ceva ce putem evita.
Tot ceea ce trebuie să facem pentru a imita un index este să scădem prima dată din tabelul nostru Date din fiecare dată din coloana Date. Pentru a face acest lucru, putem stoca valoarea datei de începere într-o variabilă, astfel încât să o putem folosi din nou și din nou. Consider că Editorul avansat este cel mai bun loc pentru a face acest lucru.
Așa că voi deschide fereastra Editor avansat și voi crea o nouă variabilă. Să-i spunem StartDate . Mi-am codificat prima întâlnire aici, așa că o voi copia și lipi. Nu uitați virgula de la sfârșit și acum putem înlocui acea primă întâlnire cu variabila Data de început.
După cum puteți vedea, nimic nu s-a schimbat.
Crearea unei coloane personalizate pentru modelul Power Query M
Prin intermediul acestui mini tabel, vom adăuga o coloană personalizată.
Să numim această coloană, Pattern , și să introducem funcția Power Query M, number.mod . Veți vedea cei doi parametri aici, un număr ca număr anulabil și un divizor ca număr nullabil. Deci, necesită două valori de tip număr ca parametri.
Acum nu avem numere, nu? Avem date și nu există conversie automată de tip în ele. Deci, trebuie să obținem numărul din valoarea noastră de dată. Deci introducem aici, number.from apoi coloana noastră Date și apoi scădem variabila StartDate .
Acum, să presupunem că prima dată din tabelul nostru Date returnează una, apoi StartDate va returna și una. Și astfel, unu minus unu este egal cu zero. Vreau ca numerotarea indexului nostru să înceapă cu unul în loc de zero. Așa că va trebui să adăugăm unul înapoi plus unul. Acum, unu minus unu este egal cu zero plus unu returnează unul pentru prima înregistrare.
Pentru a doua înregistrare, obținem o valoare de două (2) pentru data din coloana Date, minus unu (1) din valoarea noastră StartDate care este egală cu unu, plus cea pe care o adăugăm înapoi returnează un doi și așa mai departe . Modelul nostru de repetare s-a bazat pe o serie de patru valori alternative. Deci, ca divizor, voi trece valoarea patru (4).
Să vedem ce face asta. În rândul patru, obținem zero, precum și în rândul opt. Deci, fiecare a patra apariție returnează o valoare zero pentru acea înregistrare.
Crearea unui construct IF-THEN-ELSE
Să revenim la caseta de dialog cu clienții și să extindem logica pe care am scris-o până acum. Cu excepția divizorului, trebuie să repetăm aceeași logică pentru a putea identifica o a opta apariție.
Cu toate acestea, pe al optulea rând, vrem o valoare diferită. Deci, pentru a face o distincție între a patra și a opta apariție, putem folosi un construct IF-THEN-ELSE. În acest fel, putem returna o valoare pentru primul test logic care returnează un adevărat.
Deci , dacă , și voi lipi înapoi codul nostru aici (cu excepția divizorului), schimbați acel divizor într-un opt, astfel încât un al optulea rând va returna zero. Deci, dacă este egal cu zero, înseamnă că nu vei ajunge la adevărat sau fals. Atunci vrem unul (1). Altfel , dacă logica noastră de aici identifică un al patrulea rând egal cu zero, atunci vrem zero (0). Altfel, nu vrem să primim o valoare înapoi. Deci, să adăugăm un null .
Acum, să ne verificăm din nou logica. Deci, la fiecare a patra apariție, obținem acel zero. Și apoi, pe a opta, primim unul. În continuare, obținem zero și unu și așa mai departe.
Deci asta arată bine. Tot ce trebuie să facem acum este să umplem aceste valori.
Deci, în interiorul barei de formule, vom adăuga un Table.FillUp la început, apoi câteva paranteze de deschidere. La sfârșitul codului nostru, adăugăm un număr de tip - trebuie să adăugăm și o coloană ca listă. Deci, trecem prin virgulă , apoi folosim parantezele pentru inițializatorul listei și trecem ca valoare text în numele coloanei noastre, Pattern . Nu uitați parantezele de închidere și apăsați OK.
Ghid pentru începători pentru codul M în
funcția M LuckyTemplates pentru tabelul de date – Cum să adăugați un parametru în editorul de interogări
Sortarea coloanelor din tabelul de date în LuckyTemplates
Concluzie
Acesta este un scenariu foarte unic și, sincer, nu mă pot gândi la o aplicație pentru acest tipar specific, dar sper că puteți vedea potențialul de a crea secvențe folosind funcția Power Query M, number.mod.
Pentru mai multe detalii, urmăriți videoclipul complet de mai jos pentru acest tutorial.
Toate cele bune!
Melissa
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