tabelului

Următorul este un scenariu destul de comun pe care l-am văzut cu fișiere plate exportate din sisteme vechi, dar se aplică și altor scenarii multiple. Folosește limbajul M din Power BI Desktop/Power Query, dar puteți urmări fără să știți prea multe despre asta.

Scenariul: un tabel care conține mai multe segmente sau partiții

Imaginați-vă următorul tabel:

Are 3 coloane, dar în rândurile acelui tabel am observat că există un model care se repetă. La fiecare 3 rânduri există un prim rând care conține ceea ce este numit în mod obișnuit ca un rând de antet și apoi dedesubt avem 2 valori.

În cazul nostru specific, sistemul va exporta întotdeauna fișierul cu un număr simetric de rânduri pentru fiecare „secțiune” sau „segment”.

La sfârșitul zilei, ceea ce încercăm să ajungem este următorul rezultat:

Soluția: divizarea funcțiilor pentru salvare

Puteți descărca fișierul mostră făcând clic pe butonul de mai jos:

Nu uitați că vom începe cu un tabel care arată astfel:

Pasul 1: Împărțirea mesei în mai multe tabele mai mici de aceeași dimensiune

Deoarece primul nostru pas în interogarea noastră se numește „Sursă”, tot ce trebuie să facem este să aplicăm formula Table.Split (sursă) ca un nou pas personalizat (făcând clic pe butonul fx din bara de formule) și va arăta astfel:

Aceasta transformă în esență tabelul nostru într-o listă de tabele în care fiecare valoare din acea listă este practic un tabel. # 3 pe care îl vedeți în formula respectivă se datorează faptului că modelul nostru a afirmat că la fiecare 3 rânduri exista o nouă „înregistrare” sau „obiect”.

Realitatea este că în Power Query este întotdeauna mai ușor să vizați lucrurile la un nivel mult mai granular decât să încercați să aplicați o funcție care ar trebui să ia în considerare un număr mare de variabile necunoscute. Împărțind sau împărțind acest lucru în bucăți mai mici de mese, putem crea o abordare mult mai rapidă și mult mai ușor de înțeles.

Pasul 2: Utilizarea unei funcții personalizate împotriva tabelelor din listă

Am deja o funcție din fișier numită myFx care va transforma fiecare tabel din lista respectivă în tabelul pe care îl căutăm. Pentru ca acest lucru să se întâmple, creăm un nou pas personalizat și introducem formula List.Transform (Custom1, myFx) care va aplica funcția noastră personalizată fiecărui element din listă.

Rezultatul arată astfel:

Pasul 3: Combinați toate tabelele

Aceasta este ultima parte și probabil cea mai ușor de înțeles, deoarece este ceva ce am mai văzut în acest blog. Avem o listă de tabele, iar acum urmărim că este o modalitate de a combina toate aceste tabele într-un singur tabel.

Cel mai simplu mod este prin utilizarea Tabel.Combinați funcționează așa cum se arată în următoarea imagine:

Și tot așa avem tabelul de rezultate pe care îl căutăm.

Despre alte tipare pentru acest scenariu

Este posibil să fi observat că acest scenariu ar putea fi rezolvat și cu unele modele pe care Ken Puls și cu mine le-am publicat în cartea noastră „M is for Data Monkey”, unde folosim lucruri precum o coloană index, un modul, o divizare întregi și altele butoanele casetei din interfața de utilizare Power Query.

Acestea sunt încă valabile și sunt preferate pentru utilizatorii noi pentru cei intermediari, dar dacă doriți să obțineți cele mai bune performanțe posibile, atunci utilizarea funcțiilor Split ar fi cea mai bună modalitate de a merge de departe. Rețineți că spun funcții Split pentru că tocmai am văzut Table.Split, dar există și List.Split.

Am lansat chiar și un apel cu Ken despre cum să folosesc List.Split și el a fost destul de încântat de această funcție când i-am arătat ce putem face cu acestea, așa că așteaptă câteva alte postări de la mine și Ken despre o actualizare a modele de carte care sunt extrem de rapide.

Cel mai probabil vom adăuga aceste noi modele la Power Query Academy ca videoclipuri și la Rețetele Power Query, așa că fiți în căutarea celor.

Specialistul Excel s-a transformat în specialist BI folosind cele mai noi instrumente de la Microsoft pentru BI - Power BI. El este co-autorul filmului „M este pentru Data Monkey', Blogger și, de asemenea, Youtuber de puternice trucuri video Excel.

El a fost recunoscut ca un

  • Microsoft Certified Professional (MCP - MCSA: BI Reporting)
  • Trainer certificat Microsoft (MCT)
  • și este unul dintre pionierii internaționali în Power Pivot
  • Power Query și Power BI.