sadržaj

Ponekad postoje situacije kada se ne zna unaprijed koliko i kojih redova treba uvesti iz izvornih podataka. Pretpostavimo da moramo učitati podatke iz tekstualne datoteke u Power Query, što na prvi pogled ne predstavlja veliki problem. Poteškoća je u tome što se fajl redovno ažurira, a sutra može imati drugačiji broj redova sa podacima, zaglavlje od tri, a ne dva reda, itd.:

Uvoz plutajućeg fragmenta u Power Query

Odnosno, ne možemo sa sigurnošću unaprijed reći, počevši od koje linije i koliko tačno linija treba uvesti. I to je problem, jer su ovi parametri tvrdo kodirani u M-kodu zahtjeva. A ako napravite zahtjev za prvi fajl (uvozite 5 redova počevši od 4.), onda više neće ispravno raditi s drugom.

Bilo bi sjajno kada bi naš upit mogao sam odrediti početak i kraj "plutajućeg" tekstualnog bloka za uvoz.

Rješenje koje želim da predložim zasniva se na ideji da naši podaci sadrže neke ključne riječi ili vrijednosti koje se mogu koristiti kao markeri (obilježja) početka i kraja bloka podataka koji nam je potreban. U našem primjeru, početak će biti red koji počinje riječju SKU, a kraj je red sa riječju ukupan. Ovu provjeru valjanosti reda je lako implementirati u Power Query koristeći uslovnu kolonu – analognu funkciji IF (AKO) u Microsoft Excel.

Hajde da vidimo kako to uraditi.

Prvo, učitajmo sadržaj naše tekstualne datoteke u Power Query na standardni način – preko komande Podaci – Uzmi podatke – Iz datoteke – Iz tekstualne/CSV datoteke (Podaci – Uzmi podatke – Iz datoteke – Iz tekstualne/CSV datoteke). Ako imate instaliran Power Query kao poseban dodatak, tada će se odgovarajuće komande nalaziti na kartici power query:

Uvoz plutajućeg fragmenta u Power Query

Kao i uvijek, prilikom uvoza možete odabrati znak za razdvajanje stupaca (u našem slučaju to je tab), a nakon uvoza možete ukloniti automatski dodani korak modificirani tip (promijenjena vrsta), jer nam je prerano da dodijelimo tipove podataka stupcima:

Uvoz plutajućeg fragmenta u Power Query

Sada sa komandom Dodavanje kolone – Uslovna kolona (Dodaj kolonu — Uslovna kolona)dodajmo kolonu s provjerom dva uvjeta – na početku i na kraju bloka – i prikazom bilo koje različite vrijednosti ​​​​u svakom slučaju (na primjer, brojevi 1 и 2). Ako nijedan od uslova nije ispunjen, onda ispišite null:

Uvoz plutajućeg fragmenta u Power Query

Posle klika na OK dobijamo sledecu sliku:

Uvoz plutajućeg fragmenta u Power Query

Sada idemo na karticu. transformacija i izaberite tim Ispuna – Dolje (Transformiraj – Popuni – Dolje) – naši jedni i dvojci će se protezati niz kolonu:

Uvoz plutajućeg fragmenta u Power Query

Pa, onda, kao što možete pretpostaviti, možete jednostavno filtrirati jedinice u uslovnoj koloni – a evo našeg željenog podatka:

Uvoz plutajućeg fragmenta u Power Query

Sve što ostaje je da podignete prvi red u zaglavlje pomoću komande Koristite prvi red kao zaglavlja tabulator Početna (Početna – Koristite prvi red kao zaglavlja) i uklonite nepotrebnu više uslovnu kolonu desnim klikom na njeno zaglavlje i odabirom naredbe Izbriši kolonu (Izbriši kolonu):

Problem riješen. Sada, kada mijenjate podatke u izvornoj tekstualnoj datoteci, upit će sada samostalno odrediti početak i kraj "plutajućeg" fragmenta podataka koji su nam potrebni i svaki put uvoziti tačan broj redova. Naravno, ovaj pristup radi i u slučaju uvoza XLSX, a ne TXT datoteka, kao i kada uvozite sve datoteke iz foldera odjednom pomoću naredbe Podaci – Uzmi podatke – Iz datoteke – Iz foldera (Podaci — Uzmi podatke — Iz datoteke — Iz foldera).

  • Sastavljanje tabela iz različitih datoteka pomoću Power Queryja
  • Redizajniranje unakrsne tabele u ravnu pomoću makroa i Power Queryja
  • Izgradnja projektnog gantograma u Power Queryju

Ostavite odgovor