Ce este Sinele în Python: Exemple din lumea reală
Ce este Sinele în Python: Exemple din lumea reală
Vă voi arăta cum să extrageți înregistrări din date delimitate îmbinate în mai multe coloane . Acest lucru vă transformă datele într-un format care este mai potrivit pentru analiză.
Există o serie de moduri de a face acest lucru. Dar pentru acest tutorial, mă voi concentra pe o soluție sugerată de Ankit, care face parte din comunitatea noastră LuckyTemplates. Puteți urmări videoclipul complet al acestui tutorial în partea de jos a acestui blog.
Cuprins
Folosind Text.Split
Pentru această soluție, voi folosi Power Query pentru a extrage înregistrări din datele delimitate.
Mai jos este tabelul Oportunități din Power Query .
După cum puteți vedea, există mai multe valori concatenate într-o singură înregistrare. În al 2-lea rând, de exemplu, sunt prezentate 4 valori diferite. Aceste 4 valori sunt îmbinate împreună în coloanele Concurenți și Sumele concurenților .
Primul lucru pe care îl voi face este să folosesc Text.Split .
Text.Split returnează o listă după împărțirea unei valori de text pe baza unui anumit delimitator.
Pentru a începe să utilizați Text.Split , voi copia delimitatorul folosit în acest tabel.
Veți observa că, odată ce dau clic pe acea intrare din tabel, valoarea de înregistrare apare în partea de jos. Voi copia doar delimitatorul de acolo.
Odată ce am făcut asta, voi adăuga o coloană personalizată.
Nu trebuie să schimb numele încă. Trebuie doar să fac un Text.Split sub Formulă de coloană personalizată .
Această formulă are nevoie de o valoare text. Deci voi alege doar coloana Concurenți din panoul din dreapta și este adăugată automat la formulă.
Am nevoie și de un separator dat ca text. Deci, într-o pereche de ghilimele, voi lipi delimitatorul pe care l-am copiat mai devreme. Apoi, voi adăuga paranteza de închidere.
Odată ce apăs pe OK, voi ajunge cu un obiect listă.
Privind prima listă, coloanele Concurenți și Sume arată ambele o singură intrare. Deci, dacă dau clic pe spațiul gol de lângă obiectul listă sub coloana Personalizată, va afișa și o singură valoare în partea de jos.
Pentru a doua înregistrare, am o listă care conține patru valori. Aceasta corespunde celor 4 valori afișate și în coloana Concurenți și coloana Sume .
Folosind List.Zip
Acum că am împărțit lista, următorul pas este să adaug valoarea corespunzătoare din coloana Sume concurente. Mă duc la List.Zip pentru a face asta.
Gândiți-vă la List.Zip ca la un fermoar real. Ia o listă de liste și combină elementele.
Privind exemplul de mai jos, gândiți-vă doar la prima listă (1 și 2) ca fiind pista verde de pe fermoar.
Apoi, gândiți-vă la 3 și 4 ca pe pista roșie.
Când se aplică List.Zip , acestea se reunesc în mijloc. Deci 1 din grupa 1 se combină cu 3 din grupa a 2-a. Același lucru se întâmplă și pentru 2 și 4. Acest lucru poate fi văzut pe ieșire, unde există două grupuri noi care s-au format.
Pot exista momente în care listele implicate au lungimi diferite . Aceasta înseamnă că, dacă listele sunt combinate, datele lipsă vor fi returnate . Pentru a crea perechi exacte în ciuda lipsei de date, se adaugă o valoare nulă .
Revenind la tabelul Oportunități , voi adăuga o altă coloană personalizată.
De data aceasta, voi adăuga coloana Sume concurente la formulă.
De asemenea, voi adăuga List.Zip .
Verificând mai jos, arată că nu au fost detectate erori.
Dar când fac clic pe OK și mă uit la noua coloană formată, tot ajung să primesc o eroare.
Voi face clic pe spațiul alb de lângă eroare pentru a vedea detaliile. Arată că primesc o eroare deoarece am returnat câteva argumente în jurul listelor.
Privind formula, arată că această sintaxă în care s-a făcut referire la coloana Concurenți a returnat o listă.
Dar sintaxa pentru coloanele Competitor Amounts a returnat și o listă.
Reamintind ce face List.Zip, este nevoie de o singură listă de liste și le combină .
Văzând că apar două liste, am nevoie de inițializatorul de liste pentru a reuni aceste liste . De aceea adaug aceste paranteze.
Odată ce adaug paranteza de închidere la sfârșit, trebuie doar să apăs pe Enter. Asta îmi va da un obiect de listă.
Acum, când fac clic pe partea laterală a primei înregistrări, arată un singur obiect din listă. Acest lucru este corect, văzând că în Sumele concurenței, există într-adevăr o singură valoare acolo.
Dacă fac același lucru pentru a doua înregistrare, arată un obiect listă care conține 4 liste. Aceasta se potrivește și cu numărul de valori din datele delimitate din Sumele concurenței.
Voi folosi săgețile laterale din dreapta titlului coloanei Personalizate pentru a extinde datele în rânduri noi.
Fiți atenți la a doua înregistrare pe măsură ce mă extind la rânduri noi.
Veți vedea că toate valorile din acea înregistrare se extind în jos.
Și când fac clic în lateral în spațiul alb, pot vedea conținutul acelei liste imbricate. Deoarece prima înregistrare are o singură valoare pentru fiecare coloană, afișez și aceleași date în partea de jos.
Dar când dau clic pe a 2-a înregistrare, veți vedea că arăt doar prima dintre cele 4 valori date în datele mele delimitate.
Pe a treia înregistrare, arăt combinația celor de-a doua valori.
Așa că voi folosi din nou săgețile laterale. Dar de data aceasta, voi extrage valorile din acea listă.
O să-i dau un separator personalizat.
Voi folosi conducta dublă ca delimitator. Acest lucru ar trebui să facă distincția dintre valorile din datele delimitate mai clară.
Odată ce apăs pe OK, valorile sunt concatenate chiar în coloana Personalizată.
Curățarea datelor
Nu mai am nevoie de coloanele Concurent și Competitor Sume, așa că voi elimina acele coloane.
În ceea ce privește coloana Personalizată, o voi împărți.
În fila de transformare, voi selecta Split Column. O voi împărți după delimitator.
În fereastră, voi da ca bază țeava dublă.
Odată ce apăs pe OK, datele vor fi acum împărțite în coloane separate.
Voi redenumi doar aceste coloane noi pentru a fi mai ușor să-mi dau seama despre ce este vorba despre datele. Voi numi asta din nou coloana Concurenței.
Apoi voi numi cealaltă coloană coloana Sumă.
Evident, coloana Sumă conține numere. Dar dacă te uiți la pictograma care reprezintă tipul de date, arată că am text în loc de numere. Așa că voi începe să repar asta.
Sunt stabilit în Europa, așa că folosim un punct ca separator de mii în loc de virgulă. Voi folosi Replace Values pentru a curăța asta.
În fereastră, trebuie doar să pun o virgulă sub Value To Find și un punct sub Înlocuire cu.
Odată ce apăs pe OK, toate virgulele vor afișa acum puncte.
Următorul lucru pe care îl voi face este să elimin semnul dolar din fața valorilor. Din nou, voi folosi instrumentul Înlocuire valori. De data aceasta, voi lăsa spațiul pentru Înlocuire cu un spațiu liber.
Odată ce apăs pe OK, valorile vor afișa doar numerele fără nicio monedă.
Privind în coloana mea, arată și o intrare aici cu o liniuță dublă. Deoarece asta ar putea returna o posibilă eroare, voi scăpa de acea liniuță dublă.
Voi înlocui liniuța dublă cu un gol.
Și odată ce apăs pe OK, am formatul potrivit pentru toate înregistrările din coloana Sumă.
Acum pot face clic pe pictograma pentru tipul de date și pot alege Număr întreg.
Modificați formatele de dată utilizând Editorul Power Query
3 moduri de a combina valori folosind DAX în interiorul LuckyTemplates
Transformări avansate în LuckyTemplates
Concluzie
După cum am menționat mai devreme, puteți extrage valori din datele delimitate în diferite moduri. Dar pentru mine, această abordare este una dintre cele mai simple și mai rapide moduri de a o face.
Din moment ce am primit ideea acestei soluții de la unul dintre membrii comunității , asta arată și cât de important este Puteți vedea cu adevărat fiecare problemă din mai multe perspective diferite. De acolo, puteți alege doar o soluție care credeți că ar funcționa cel mai bine pentru dvs.
Toate cele bune,
Melissa
***** Învățați LuckyTemplates? *****
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