Ce este Sinele în Python: Exemple din lumea reală
Ce este Sinele în Python: Exemple din lumea reală
Analizarea datelor pe care le avem poate fi dificilă dacă nu sunt aranjate corect. În acest tutorial, voi explica cum să transformați datele repetate verticale și orizontale într-un format tabelar. Facem acest lucru pentru a putea fi mai ușor să-l analizăm folosind LuckyTemplates. Puteți urmări videoclipul complet al acestui tutorial în partea de jos a acestui blog.
Acest tutorial a fost creat pentru a aborda problema unui membru al . Membrul a cerut o modalitate prin care să-și poată remodela datele dintr-un aspect de tip calendar într-un format tabelar.
Înainte de a începe, să examinăm mai întâi datele pe care le avem.
Aici, avem un aspect de date în care zilele sunt configurate orizontal, iar săptămânile sunt configurate vertical. Acest tip de aranjament este familiar pentru majoritatea dintre noi, deoarece acesta este modul în care putem înțelege cu ușurință datele.
Cu toate acestea, acest tip de aspect este mai greu de analizat, deoarece există multe coloane și rânduri de luat în considerare.
Acestea fiind spuse, haideți să transformăm datele într-un format de tabel adecvat, unde ajungem cu o coloană pentru date, o coloană pentru mișcări și o altă coloană pentru nume.
Cuprins
Curățarea datelor pentru un format tabelar adecvat
Pentru a ușura lucrurile, să ne transformăm datele în Editorul Power Query . Dar înainte de a face asta, să ne asigurăm că bara de formule este vizibilă pe ecran. Dacă nu este, accesați fila Vizualizare, apoi bifați caseta de lângă Bara de formule.
Primul pas este eliminarea valorilor inutile din datele noastre. Să eliminăm prima coloană și primele două rânduri ale datelor noastre, deoarece nu prea avem nevoie de ele. Pentru a face acest lucru, faceți clic pe fila Remove Rows, faceți clic pe Remove Top Rows, introduceți 2, apoi apăsați OK.
Și acum, pentru a elimina prima coloană, mergeți la fila Alegeți coloane, apoi deselectați coloana 1 debifând caseta de lângă ea.
Să eliminăm, de asemenea, rândurile indexate de la 14 la 16, deoarece sunt complet umplute doar cu valori nule. Din nou, accesați fila Eliminați rânduri , apoi faceți clic pe Eliminați rândurile necompletate .
O altă problemă pe care o avem este că valorile datei omit de fiecare dată o coloană. Datele sunt întotdeauna urmate de o valoare nulă, așa cum este evidențiată mai jos. Acest lucru se întâmplă nu doar pe rândul de sus, ci și pe rândurile de mai jos.
Pentru a umple aceste goluri, să transpunem mai întâi tabelul nostru de date, accesând fila Transformare , apoi făcând clic pe butonul Transpunere.
Masa ar trebui să arate acum ca și cum ar fi fost răsturnată pe o parte după efectuarea acțiunii.
Apoi, selectați toate coloanele care conțin datele, faceți clic dreapta pe antetul coloanei, apoi selectați Fill Down.
Acest lucru ar trebui să dubleze datele și să umple golurile din coloanele selectate.
Spargerea Meselor
Privind datele pe care le avem acum, vedem că există patru tabele adiacente unul altuia. Coloanele de la 1 la 7 formează un tabel, coloanele de la 8 la 13 formează un alt tabel și așa mai departe.
Pentru a le adăuga într-un singur tabel, trebuie să efectuăm o operație de bază de unpivot pentru a o transforma într-un format tabelar adecvat. Dar, din moment ce mesele sunt adiacente una de alta, nu putem face asta pur și simplu. Trebuie să despărțim această masă și să le unim înapoi în mese mai mici.
Pentru a face asta, vom crea prima formulă pentru acest tutorial. Să facem clic pe butonul fx , apoi să adăugăm formula pe care o vom folosi. Vom folosi operația Table.ToColumns . Aceasta creează o listă de liste imbricate de valori ale coloanei dintr-un tabel. Fiecare coloană va fi transformată într-o listă.
Așa am configurat formula.
Formula creează o listă a coloanelor pe care le avem anterior. Prima valoare a listei conține coloana 1, a doua valoare conține coloana 2 și așa mai departe.
Identificarea listei pentru noile tabele pentru un format tabelar adecvat
Acum, ar trebui să identificăm ce valori din listă conțin valori ale datei. Odată ce știm unde se află aceste date, putem determina unde începe sau se termină fiecare dintre mesele noastre separate.
Pentru a face asta, mai întâi să convertim lista înapoi într-un tabel făcând clic pe butonul Către tabel din colțul din stânga sus.
Apoi adăugați o coloană index lângă ea.
Următorul lucru pe care îl vom face este să adăugăm o altă coloană lângă coloana index. Această coloană ar trebui să ne ajute să stabilim ce valori din Coloana 1 conțin valorile datei. Să numim această coloană Index2.
Pentru a face asta, vom încorpora o formulă în Index2, care returnează valoarea indexului Coloanei1 dacă conține o dată.
Vom folosi și apoi vom face referire la Coloana1. Parantezele vor servi ca operator; adăugând 0 între aceste paranteze înseamnă că obținem prima valoare din listă; apoi stabilim dacă este o întâlnire. Dacă este, vreau ca formula să returneze numărul de index; dacă nu este, nu vreau să returneze nicio valoare.
Deoarece prima valoare din Coloana1 conține o dată, prima valoare din Index2 ar trebui să conțină numărul său de index 0. De asemenea, deoarece a doua valoare din Coloana1 nu conține o dată, atunci a doua valoare din Index2 ar trebui să conțină doar o valoare nulă.
Așa am configurat formula pentru Index2. Doar asigurați-vă că nu există erori de sintaxă în formula dvs.
După ce faceți asta, coloana noastră Index2 ar trebui să aibă acum indexul valorilor din Coloana1 care conține data. De asemenea, va include unele valori nule ca rezultat al formulei pe care am configurat-o.
Determinarea căror valori aparțin tabelului
Acum, aceste valori ale indexului din Index2 indică începutul și sfârșitul tabelelor separate pe care le avem. Adică, 0 marchează începutul primului tabel, 7 marchează sfârșitul primului tabel și începutul celui de-al doilea tabel și așa mai departe.
Pentru a ne ajuta să identificăm ce valori din Coloana 1 aparțin aceluiași tabel, să aplicăm o acțiune de completare în noua noastră coloană.
După efectuarea acțiunii, valorile nule ar trebui acum să fie înlocuite cu zerouri, șapte, treisprezece și douăzeci. Aceste numere indică faptul că aparțin aceluiași tabel. Adică, zerourile formează un tabel, șaptele formează un alt tabel și așa mai departe.
Gruparea datelor pentru un format tabelar adecvat
Deoarece știm deja care valori din Coloana 1 aparțin aceluiași tabel, acum să le grupăm împreună. Pentru a face asta, vom folosi operațiunea Group By.
Făcând asta, ajungem acum cu doar 4 valori în coloana noastră Index2. Observați că o altă coloană numită Count se află lângă coloana noastră Index2. Această coloană numără numărul de rânduri din fiecare dintre valorile noastre din coloana Index2.
Cu toate acestea, acest lucru nu este ceea ce vrem să facem. Ceea ce trebuie să facem este să formăm un nou tabel folosind coloanele pe care le avem.
Pentru a face asta, vom folosi operația Table.FromColumns , facem referire la coloana care conține valorile listei noastre, care este Column1, și apoi schimbăm tipul de returnare într-un tabel.
Este important să ne asigurăm că am făcut referire la coloana corectă în formula noastră. Verificați dacă Coloana1 conține într-adevăr valorile listei.
Astfel, toate valorile din Coloana 1 cu o valoare Index2 de 0 într-un tabel, cele cu valoarea Index2 de 7 într-un alt tabel și așa mai departe.
Am verificat fiecare înregistrare la valoarea 0, apoi am preluat valoarea listei din Coloana1. În cele din urmă, am îmbinat acele liste pentru a forma un singur tabel folosind acest cod M.
Am prins primele 7 coloane și le-am cusat într-o singură masă, am prins următoarele câteva coloane, le-am cusat la o altă masă și așa mai departe.
Adăugarea tabelelor separate
Acum că le-am grupat deja împreună, să încercăm să anexăm toate tabelele adăugând un alt pas. Din nou, să apăsăm butonul fx pentru a adăuga o nouă formulă.
Operația Table.Combine îmbină o listă de tabele și apoi creează un singur tabel din ele. Aici, vom face referire la coloana care conține lista noastră de tabele, care este coloana Număr.
Acum avem un tabel în care toate tabelele imbricate sunt atașate înapoi într-o singură masă mare.
După ce am atașat toate tabelele, acum putem efectua ultimii câțiva pași în transformarea datelor noastre într-un format tabelar adecvat. Selectați primele două coloane ale tabelului și apoi faceți clic pe butonul Anulați pivotarea altor coloane din fila Transformare.
După aceea, eliminați coloana cu atribute, deoarece nu avem nevoie de ea. Accesați Alegeți coloane , apoi deselectați coloana cu atribut.
Apoi, în sfârșit, setați tipurile corecte pentru toate coloanele și etichetați-le corect.
Faceți dublu clic pe antetul coloanei fiecărei coloane pentru a-și schimba numele în consecință.
Pentru prima coloană, modificați tipul acesteia la data, deoarece conține valorile noastre date.
Apoi, selectați a doua și a treia coloană și setați-le tipurile la text.
Totul este gata! Acesta este modul în care ar trebui să arate formatul nostru tabelar adecvat.
Concluzie
În acest tutorial, am transformat unele date, care au fost prezentate într-un aspect de tip calendar, într-un format tabelar adecvat. Mai întâi ne-am curățat datele, le-am împărțit în tabele mai mici, am grupat tabelele care aparțin împreună și apoi le-am atașat pe toate la sfârșit.
Acest tutorial vă oferă multe cunoștințe despre cum să vă modelați corect datele pentru o analiză mai ușoară.
Înțelegerea conceptelor care au fost folosite aici este foarte importantă, deoarece acestea pot fi aplicate și în multe alte moduri.
Dacă conceptele încă nu vă sunt clare, vă poate ajuta să verificați linkurile de mai jos.
Bucură-te să lucrezi prin aceasta!
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