Ce este Sinele în Python: Exemple din lumea reală
Ce este Sinele în Python: Exemple din lumea reală
În acest tutorial, vom examina o întrebare interesantă care a fost ridicată pe despre cum să îmbinați dinamic un număr în schimbare de coloane într-un tabel Power Query. Puteți viziona videoclipul complet al acestui tutorial în partea de jos a acestui blog.
Acest scenariu tratează exporturile de date brute care fac ca datele să se reverse într-un număr necunoscut de coloane adiacente. Când te uiți la exemplu, poți vedea că descrierea s-a revărsat în coloana 4, iar Descrierea 2 a fost împărțită în două coloane adiacente. Dar nu va fi întotdeauna cazul. În următorul ciclu, acest număr de coloane s-ar putea schimba.
Înainte de a trece la soluție, să examinăm codul M pe care Power Query îl generează atunci când îmbinați coloanele.
Cuprins
Codul M din tabelul Power Query
Există câteva moduri de a îmbina coloanele. Una este să selectați atât coloana de descriere, cât și apăsând în jos tasta Shift sau tasta control, apoi selectați și coloana 4. Apoi, faceți clic dreapta și alegeți Îmbinare coloane .
Sau, în fila Transformare , selectați îmbinare coloane . Și va apărea această casetă de dialog, care vă permite să selectați Separatorul.
În caseta pop-up, alegeți Tab și puteți introduce un nou nume de coloană. În acest caz, l-am numit Descriere.
În bara de formule, vedem codul M pe care l-a creat acest pas de transformare.
Dacă bara de formule nu este vizibilă pe ecran, accesați fila Vizualizare și activați-o.
Deci, funcția pe care Power Query o folosește pentru a îmbina coloanele este Table.CombinedColumns . Primul parametru necesar este un tabel. Tabelul este returnat de pasul anterior din codul nostru, așa că în Pașii aplicați, veți vedea că acesta se numește Sursă .
Apoi, a codificat greu numele coloanelor într-o listă. Aici vedeți inițializatorii de listă și între valorile în text, descrierea numelui coloanei și coloana 4 a numelui coloanei. Apoi, apelează o altă funcție M pentru a combina valorile text din acele coloane.
Și, în sfârșit, trece noul nume de coloană ca text, astfel încât să putem ajusta asta.
Deci, dacă dorim ca această funcție să îmbine în mod dinamic un număr de coloane în schimbare, va trebui să schimbăm acea a doua valoare a parametrului care conține acum o listă de nume de coloane codificate.
Îmbinarea unui număr în schimbare de coloane într-un tabel Power Query
Voi reveni la interogarea mea de date brute și, dacă ne uităm mai atent la numele coloanelor, vedem că fiecare dintre coloanele de scurgere este anonimă. Nu au nume proprii, dar toate încep cu coloana de text, urmată de un număr. Să vedem dacă putem folosi asta. În primul rând, voi crea o referință făcând clic dreapta aici și selectând Referință .
Și pentru a obține numele coloanelor în bara de formule, pot adăuga Table.ColumnNames . Această funcție returnează o listă cu toate numele coloanelor din acel tabel. Să transformăm asta înapoi într-un tabel făcând clic pe To Table .
În această casetă pop-up, faceți clic pe OK.
Apoi, în fila Adăugați coloană , voi selecta Format , apoi Decupați .
Acum, aceasta nu este o transformare pe care vreau să o fac, dar generează cea mai mare parte a codului M pentru mine. Tot ce trebuie să fac este să înlocuiesc acea funcție de tăiere cu propria mea logică .
Deci, în bara de formule, în loc de Text.Trim , putem spune dacă Text.StartsWith , apoi îl îndreptăm către Coloana 1 , iar eu îl voi copia imediat. Vrea textul pe care îl căutăm, așa că acesta va fi Coloana. Deci, dacă începe cu o coloană de text, atunci vrem „null” – pentru orice altceva, vrem orice se află în Coloana 1. De asemenea, putem redenumi acea coloană, așa că în interiorul barei de formule, în loc de Trim, să-i spunem GroupColumn .
Acum, tot ce trebuie să facem este să le umplem la aceste valori. Așa că voi face clic dreapta pe antetul meu, voi selecta Umplere și Jos .
Deci data viitoare când vor veni date și numărul de coloane s-a modificat, acest grup le va prelua automat.
Să redenumim această interogare, o voi numi grupuri de coloane.
Să ne asigurăm că încărcarea sa a fost dezactivată, deoarece aceasta este doar o interogare de sprijin.
Pot face referire la această interogare de sprijin și o voi redenumi mai târziu. Să lăsăm asta deocamdată. Deci, dacă vă amintiți, am început prin a îmbina două coloane și asta a creat o listă codificată cu numele coloanelor , dar acum putem filtra pe Descriere în GroupColumn .
Deci, dacă facem acel filtru pe Descrierea din interiorul Coloanei 1, obținem coloanele care îndeplinesc aceste criterii.
Totuși, acesta este un tabel și nu o listă. Trebuie să extragem tot ce rămâne în prima coloană, deoarece trebuie să includem acele coloane în operația noastră de îmbinare. Așadar, pentru a face asta, putem face clic dreapta pe antetul Coloanei 1 și selectați Detaliere .
Și acum obținem o listă. Deci, să dăm acestei interogări un nume propriu ( ListDescr ) și să verificăm dacă este dezactivată de la încărcare.
Acum putem să ne întoarcem la interogarea Rezultat și să înlocuim al doilea argument aici cu lista noastră dinamică. Deci aici, putem face referire la ListDescr .
Să repetăm acest lucru și pentru Descrierea 2. Voi accesa interogarea mea ColumnGroups. Voi crea o altă referință și voi selecta coloanele de care am nevoie. Apoi voi filtra Descrierea 2, care va returna aceste trei coloane. Voi face clic dreapta pe antetul meu și voi selecta Detaliere și voi redenumi și această interogare ( ListDescr2 ).
Apoi, voi reveni la interogarea Rezultatul, selectez coloana Description2 și apăs pe shift sau pe control pentru a selecta și următoarea coloană (coloana2). Voi face clic dreapta pe antet și voi alege Îmbinare coloane .
În caseta pop-up, voi alege Tab ca Separator și voi numi aceasta Description2.
Voi schimba doar numele coloanei aici pe bara de formule. Voi schimba și acea listă hard-coded din lista pe care tocmai am creat-o. Și acum, după cum puteți vedea, aceasta a preluat și coloana 8 pe care am exclus-o anterior.
Cum să îmbinați interogări în LuckyTemplates
Parametrii de interogare LuckyTemplates: optimizarea tabelelor
Sortarea coloanelor tabelului de date în LuckyTemplates
Concluzie
În acest blog, v-am arătat cum să utilizați codurile M în Power Query pentru a îmbina în mod dinamic coloanele. Nu este dificil atâta timp cât ești familiarizat cu modul în care funcționează Power Query și ce coduri M să folosești.
Sper că ți-a plăcut asta. Vă rugăm să consultați linkurile de mai jos pentru mai mult conținut similar.
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