Sadržaj

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

Uvoz plutajućeg fragmenta u Power Query

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

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

Rješenje koje želim predložiti temelji se na ideji da naši podaci sadrže neke ključne riječi ili vrijednosti koje se mogu koristiti kao oznake (značajke) početka i kraja bloka podataka koji nam je potreban. U našem primjeru, početak će biti redak koji počinje riječju Šifra proizvoda, a kraj je linija s riječju ukupno. Ovu provjeru valjanosti reda lako je implementirati u Power Queryu pomoću uvjetnog stupca – analoga funkcije IF (AKO) u Microsoft Excelu.

Pogledajmo kako to učiniti.

Prvo, učitajmo sadržaj naše tekstualne datoteke u Power Query na standardni način – putem naredbe Podaci – Dobivanje podataka – Iz datoteke – Iz tekstualne/CSV datoteke (Podaci – Dohvati podatke – Iz datoteke – Iz tekstualne/CSV datoteke). Ako ste Power Query instalirali kao zasebni dodatak, tada će se odgovarajuće naredbe nalaziti na kartici Upit snage:

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 kartica), a nakon uvoza možete ukloniti automatski dodani korak modificirani tip (Promijenjena vrsta), jer je prerano za dodjeljivanje tipova podataka stupcima:

Uvoz plutajućeg fragmenta u Power Query

Sada s naredbom Dodavanje stupca – uvjetni stupac (Dodaj stupac — uvjetni stupac)dodajmo stupac s provjerom dvaju uvjeta – na početku i kraju bloka – i prikazom bilo kojih različitih vrijednosti ​​​​​​u svakom slučaju (na primjer, brojevi 1 и 2). Ako niti jedan od uvjeta nije ispunjen, ispis nula:

Uvoz plutajućeg fragmenta u Power Query

Nakon što kliknete OK dobivamo sljedeću sliku:

Uvoz plutajućeg fragmenta u Power Query

Sada idemo na karticu. transformacija i odaberite tim Popuniti (Transformacija – Ispuna – Dolje) – naše jedinice i dvojke će se protezati niz kolonu:

Uvoz plutajućeg fragmenta u Power Query

Pa, onda, kao što možda pretpostavljate, možete jednostavno filtrirati jedinice u uvjetnom stupcu – i evo našeg željenog podatka:

Uvoz plutajućeg fragmenta u Power Query

Ostaje samo naredbom podignuti prvi redak u zaglavlje Koristite prvi redak kao zaglavlja kartica Naslovna (Početna – Koristite prvi red kao zaglavlja) i uklonite nepotrebni uvjetniji stupac desnim klikom na njegovo zaglavlje i odabirom naredbe Izbriši stupac (Izbriši stupac):

Problem riješen. Sada, kada mijenjamo 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 uvesti točan broj redaka. Naravno, ovaj pristup također funkcionira u slučaju uvoza XLSX, a ne TXT datoteka, kao i kada se uvoze sve datoteke iz mape odjednom naredbom Podaci – Dohvati podatke – Iz datoteke – Iz mape (Podaci — Dohvati podatke — Iz datoteke — Iz mape).

  • Sastavljanje tablica iz različitih datoteka pomoću Power Queryja
  • Redizajniranje unakrsne tablice u ravnu pomoću makronaredbi i Power Queryja
  • Izrada projektnog gantograma u Power Queryju

Ostavi odgovor