Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Vă voi arăta cum să transformați un cod M pentru un tabel de date într-o interogare de tabel. Puteți urmări videoclipul complet al acestui tutorial în partea de jos a acestui blog.

Aș considera nivelul de dificultate pentru acest tutorial ca fiind intermediar, deoarece dacă aveți experiență cu codurile M, v-ar fi ușor să urmați. Dacă nu aveți nicio experiență similară, vă sugerez să căutați mai întâi codurile M pentru a vă facilita înțelegerea conceptelor prezentate aici.

Cuprins

Interogare de funcție invocată și interogare de tabel de date

Aceasta este interogarea tabelului de date și interogarea funcției invocate.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Dacă vă uitați la panoul Pași aplicați din dreapta, există doar un pas. Afișează sursa pentru acea interogare.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Deci, dacă doriți să dezvoltați codul M pentru acest tabel de date, va trebui să comutați între funcție și interogarea tabelului pentru a vedea orice modificări pe care le aplicați.

Aceasta înseamnă că este mai complicat să tratați erorile cauzate de oricare dintre modificările dvs. Va duce la o eroare în interogarea tabelului în sine, apoi va trebui să căutați prin linii de cod pentru a remedia eroarea.

Pagina următoare arată interogarea dată care returnează un tabel în loc de o funcție.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Privind la pașii aplicați din dreapta, veți vedea că există mai mulți pași enumerați de data aceasta.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Aceasta înseamnă că, pe măsură ce dezvoltați codul M pentru tabelul de date, veți vedea imediat rezultatele modificărilor dvs. în această interogare de tabel.

Mai important, de fiecare dată când modificarea dvs. duce la o eroare, puteți identifica cu ușurință pasul care a cauzat eroarea. Acest lucru facilitează rezolvarea problemei.

Aplicarea Codului M

Codul M din tabelul de date poate fi găsit în Forumul LuckyTemplates. Se află sub subiectul Tabelul de date extins Power Query M Funcție din cadrul M Code Showcase.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Codul M este până sus. Voi evidenția întregul cod și îl voi copia.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Apoi, voi crea o nouă interogare goală.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Voi deschide Editorul meu avansat și voi lipi acel cod.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Din moment ce văd că nu au fost detectate erori, voi face clic pe Terminat.

Lasă-mă să redenumesc asta și să-i numesc Date.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Această interogare returnează o funcție, dar ceea ce vreau este un tabel.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Pentru a face modificările necesare, voi reveni în Editorul avansat.

Transformarea funcției într-un tabel

Pentru a face ca acest return să fie un tabel în loc de o funcție, ar trebui să fac câteva modificări codului M în Editorul avansat.

Privind codul M, pot vedea cu ușurință cel puțin două medii bazate pe numărul de instrucțiuni let.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Fiecare instrucțiune let are propria sa clauză in, care poate fi găsită în partea de jos.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

S-ar putea să credeți că ar fi mai ușor să ștergeți această ultimă clauză pentru a o transforma într-un tabel.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Dar nu am de gând să fac asta. În schimb, voi comenta asta adăugând două bare oblice în fața ultimei clauze.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

O să fac și pentru prima declarație let. Acest lucru îl face inactiv.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Sub instrucțiunea interioară let, voi crea o secțiune pentru a-mi declara parametrii, deoarece mai trebuie să transmit acești parametri acestui cod.

Voi marca unde trebuie declarate acele variabile.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Acum voi copia prima variabilă din instrucțiunea exterioară let și o voi lipi în spațiu.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

În setul meu de date, datele istorice nu merg mai departe de 2017. Deci, pentru a transmite valoarea variabilei StartDate, pot folosi data intrinsecă. Voi pune 1 ianuarie, apoi voi încheia rândul cu o virgulă.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Apoi voi copia și lipi următoarea variabilă, care este EndDate.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Știu că EndDate ar necesita prognoză. De aceea vreau ca acest EndDate să fie întotdeauna sfârșitul anului viitor.

Am deja o variabilă în codul meu M pentru CurrentDate, așa că mă voi referi la asta.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Din nou, voi folosi data intrinsecă. Voi extrage Date.Year și voi folosi CurrentDate ca valoare a anului +1. De asemenea, vreau ca data să fie 31 decembrie.

Din nou, închei acel rând cu o virgulă.

Următoarea variabilă este un parametru opțional numit FYStartMonth.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Așa că am de gând să copiez acel nume și să-l inserez.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Observați că a apărut o subliniere roșie sub FYStartMonth sub variabila pe care tocmai am lipit-o.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Asta pentru că numele lor se potrivesc. Nu a fost o problemă când erau în medii separate. Dar numele variabilelor dintr-un singur mediu trebuie să fie unice. Aceasta înseamnă că trebuie să schimb numele noii variabile pe care tocmai am lipit-o.

În loc să-l numesc FYStartMonth, o voi numi FYStartMonthNum.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Nu voi aloca o valoare pentru această variabilă, așa că voi pune doar null.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Deoarece am schimbat numele variabilei, trebuie să schimb și numele oriunde a fost referit acest parametru.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Revenind la variabilă, voi închide acea linie adăugând o virgulă la sfârșit.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Următorul parametru este lista opțională de sărbători. Voi copia și lipi și asta și, de asemenea, îl voi declara ca nul.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Același lucru este valabil și pentru WDStartNum. Îl voi copia și lipi, apoi îl voi declara ca nul.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Pentru a marca unde începe codul tabelului de date, voi adăuga un alt comentariu aici.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

După ce apăs pe Done, veți vedea că interogarea returnează acum tipul potrivit.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Acum am un tabel în loc de o funcție.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

În interiorul panoului Pași aplicați, pot vedea, de asemenea, toți pașii care compun interogarea.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Dacă vreau să fac modificări în tabelul de date, este destul de ușor să folosești panglica pentru a modifica sau adăuga pași. Pentru fiecare modificare pe care o fac, voi vedea imediat rezultatele în interogare.

Transformarea interogării tabelului înapoi într-o funcție

Să presupunem că vreau să transform interogarea tabelului de date înapoi într-o funcție. Este doar o chestiune de a ajusta câteva lucruri în codul M pentru a inversa modificările pe care le-am făcut mai devreme.

Voi reveni în Editorul avansat și voi elimina barele oblice înainte de declarația exterioară let.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

În continuare, voi elimina barele oblice înainte de declarațiile in.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Apoi voi comenta blocul variabil pe care l-am adăugat mai devreme. Așa că voi adăuga o bară oblică și un asterisc aici.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Apoi un asterisc și o bară oblică după blocul variabil.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Îți amintești când am schimbat această linie de cod mai devreme din cauza FYStartMonthNum?

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Voi copia acea linie de cod. Apoi, voi adăuga o nouă linie și o voi lipi.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Îl voi tăia pe primul (care este locul în care am făcut modificările la numele variabilei mai devreme).

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Apoi, pe al doilea, voi găsi numele variabilelor editate.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Și le voi transforma înapoi în FYStartMonth.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates

Odată ce apăs pe Done, interogarea tabelului se va transforma din nou într-o funcție.

Convertiți funcția tabelului de date într-o interogare de tabel în LuckyTemplates


Crearea unui tabel de date dinamice în LuckyTemplates: tutorial pentru editorul de interogări
Crearea unui tabel de date în LuckyTemplates
Configurarea unei date de început și de sfârșit dinamice pentru tabelele de date Power Query

Concluzie

Încă o dată, v-am arătat cât de convenabile sunt codurile M, mai ales în cazuri ca acestea în care am convertit o funcție într-o interogare de tabel și invers. Atâta timp cât aveți acces la codul M pe care îl avem în Forumul LuckyTemplates, îl puteți utiliza în scenarii ca acestea în viitor.

De asemenea, puteți naviga prin alte coduri M pe care le puteți utiliza în alte situații în M Code Showcase de pe Forumul . Este o comunitate de colaborare, așa că puteți citi comentariile pentru alte idei de la experții și membrii noștri.

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