Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Vă voi arăta cum să adăugați un parametru în funcția M în interogarea tabelului de date . Acest exemplu se bazează pe o întrebare care a fost ridicată pe . Puteți urmări videoclipul complet al acestui tutorial în partea de jos a acestui blog.

Întrebarea a fost despre cum se schimbă numerotarea primei zile a săptămânii de la 0 la 1 . Rețineți că acest lucru nu schimbă începutul real al zilei lucrătoare. În acest tabel de date, începutul săptămânii va fi întotdeauna luni. Este vorba doar de referire la luni ca Ziua 1 în loc de Ziua 0.

Acest proces nu este neapărat complex, dar aveți nevoie de o înțelegere de bază a modului în care este structurat limbajul M. Dacă sunteți membru LuckyTemplates, puteți consulta . Introducerea atinge subiectul.

Cuprins

Funcția M și tabelul extins pentru date

Permiteți-mi să încep prin a intra în Power Query . Am copiat deja funcția tabelului de date M aici.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Am primit funcția M din categoria M Code Showcase din Forumul LuckyTemplates . Codul se află sub subiectul .

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Dacă deschid Editorul avansat , acesta este codul.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Există o mulțime de cod M acolo, care ar putea distrage atenția.

Crearea unei interogări de testare

Deoarece se întâmplă prea multe în cadrul funcției M, voi începe cu o nouă interogare goală .

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Voi denumi această interogare de testare .

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

În continuare, voi deschide Editorul avansat .

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Deoarece voi crea o funcție, voi adăuga o pereche de paranteze și voi șterge tot codul implicit de acolo.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Pentru a porni funcția, voi declara un parametru opțional .

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

În continuare, voi adăuga o variabilă. Voi numi această variabilă WDStartNum , deoarece va reprezenta numărul de început în ziua săptămânii. De asemenea, trebuie să îi declar tipul, așa că voi introduce numărul .

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Declar tipul pentru a preveni erorile. Dacă îl las ca orice tip, asta înseamnă că ar putea trece un tabel sau o valoare de dată în loc să treacă doar numere.

Următorul pas este să adăugați clauza let și clauza in .

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Sub clauza let, am nevoie de un nume de variabilă. Așa că o să numesc această variabilă WWDStart .

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Acum, trebuie să testez dacă WDStartNum a fost trecut. Dacă trece, nu va echivala cu null . Deci, voi declara că, dacă WDStartNum nu este egal cu null, vreau să fie returnată o valoare .

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

În ceea ce privește clauza in, vreau ca același pas să fie trecut. Așa că voi pune doar WWDStart acolo, care este ceea ce am numit variabila noastră mai devreme sub clauza let.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Odată ce apăs pe Done, funcția va fi creată. Deci voi încerca să trec o valoare prin acea funcție.

Voi încerca să tastesc litera „a”.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Amintiți-vă că mai devreme am declarat că valoarea trebuie să fie un număr. Deoarece recunoaște că valoarea pe care am introdus-o nu îndeplinește această cerință, nu îmi va permite să introduc acel parametru.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Așa că îl voi șterge și voi lăsa spațiul necompletat.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Odată ce dau clic pe Invoke, returnează o valoare de 0.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Revenind la interogarea mea inițială, se afirmă că, dacă valoarea nu este egală cu nul, WWDStartNum ar trebui returnat. Dacă este egal cu nul, atunci ar trebui returnat un 0.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Deci 0 este corect.

De data aceasta, voi încerca să transmit o valoare schimbând numărul din TestQuery. Destul de adevărat, returnează un „1” odată ce apăs pe Enter.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Acum, permiteți-mi să încerc să trec 2020 în TestQuery. Odată ce apăs pe Enter, revine și 2020.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Evident, nu vreau să se întâmple asta. Deoarece vreau o valoare care reprezintă începutul săptămânii, vreau să apară fie 0, fie 1. Aceasta înseamnă că trebuie să creez un alt test pentru a vedea dacă numărul introdus este fie 0, fie 1. Pot folosi funcția List.Contains pentru aceasta.

Folosind List.Contains

Am creat o interogare goală și am intrat List.Contains fără a folosi o paranteză.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Odată ce apăs pe Enter, pot vedea documentația despre acea funcție.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

List.Contains indică dacă lista conține o valoare.

Deci, necesită o listă ca prim parametru, iar apoi se adaugă o valoare după aceea. Dacă acea valoare este găsită în listă, returnează adevărat. În caz contrar, va returna false.

Voi deschide din nou Editorul avansat , astfel încât să pot face modificările necesare la interogarea mea.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

În loc să testez dacă o valoare nu este egală cu nul, voi folosi List.Contains .

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Acum, voi da o listă de valori care trebuie aplicate acestei funcții.

Voi folosi paranteze ca inițializator de listă. În interiorul acelor paranteze, voi pune 0, 1. Voi adăuga o virgulă după închiderea acelui parantez.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Pentru al doilea parametru, voi folosi WDStartNum. Apoi, voi adăuga paranteza de închidere.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Cu acest lucru în loc, înseamnă că un 0 sau 1 ar trebui să-mi dea WWDStartNumber. Dacă se plasează altceva decât 0 sau 1, ar trebui să obțin un rezultat de 0.

Permiteți-mi să testez asta punând 2020 în TestQuery. După cum era de așteptat, aceasta returnează un „0” (zero).

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Asta pentru că valoarea 2020 nu este în listă.

Adăugarea parametrului în funcția M

Acum că sunt sigur că codul funcționează, îl pot pune în sfârșit în tabelul de date real și în funcția M. Voi deschide Editorul avansat , apoi voi copia logica .

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Apoi voi intra în interogarea tabelului de date.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Voi deschide funcția M originală prin Editorul avansat .

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Apoi, îmi voi lipi codul acolo. Să ne asigurăm că există o virgulă la sfârșitul rândului.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

În continuare, voi evidenția și voi copia numele meu parametru .

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Apoi voi adăuga acel parametru aici .

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Rețineți că trebuie să adaug mai întâi o virgulă la sfârșitul liniei existente, apoi trebuie să declar acest parametru ca fiind opțional . Apoi pot plasa WDStartNum și pot adăuga tipul .

Am adăugat parametrul și am încorporat și logica. Dar trebuie și să mă asigur că obțin rezultatele așteptate. Așa că voi căuta linia de cod care acoperă ziua săptămânii.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Apoi, voi adăuga + WDStart .

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Voi face clic pe Terminat pentru a închide editorul. Apoi, voi invoca interogarea.

Pentru StartDate, voi pune 1 ianuarie 2020, apoi voi folosi 31 decembrie 2020 ca EndDate.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Voi folosi „7” ca luna de început a anului fiscal, apoi voi pune „0” ca WDStartNum.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Voi face clic pe Invoke. Acum, am tabelul cu datele.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Îl voi redenumi pentru a mă asigura că poate fi identificat cu ușurință.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Acum, voi verifica rezultatele.

Aceasta este rubrica mea DayOfWeek .

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Arată că luni a revenit ca 0.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Revenind la întrebarea din Forum, trebuie să schimb numărul începutului săptămânii la 1 în loc de 0. Așa că o voi schimba doar în măsură.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Când apăs pe Enter, luni va fi acum ziua 1 în loc de ziua 0.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Privind intervalul de numere, acum merge de la 1 la 7 în loc de la 0 la 6.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Ce se întâmplă dacă trec o valoare nulă?

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări

Apoi, Ziua Săptămânii pentru luni se întoarce la 0.

Funcția M pentru tabelul de date – Cum se adaugă un parametru în Editorul de interogări


Utilizarea funcției M pentru a crea un tabel extins de date LuckyTemplates
Ghid pentru începători la codul M în LuckyTemplates
Configurarea unei date de început și de sfârșit dinamice pentru tabelele de date Power Query

Concluzie

Acesta este modul în care puteți adăuga un parametru suplimentar chiar în funcția M din interogarea tabelului de date. Procesul nu este deloc complex, așa cum am menționat mai devreme. Atâta timp cât aveți o sursă pentru codul M, de acolo este destul de ușor.

Din nou, puteți oricând să consultați cursul Advanced Data Transformations & Modeling din Online dacă nu aveți cunoștințe despre cum funcționează codurile M.

Toate cele bune,

Melissa

***** Învățați LuckyTemplates? *****






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