vsebina

Včasih pride do situacij, ko ni vnaprej natančno znano, koliko in katere vrstice je treba uvoziti iz izvornih podatkov. Recimo, da moramo v Power Query naložiti podatke iz besedilne datoteke, kar na prvi pogled ne predstavlja velikega problema. Težava je v tem, da se datoteka redno posodablja, jutri pa bo morda imela drugačno število vrstic s podatki, glavo treh, ne dveh vrstic itd.:

Uvažanje lebdečega fragmenta v Power Query

To pomeni, da ne moremo vnaprej z gotovostjo trditi, od katere vrstice in koliko točno vrstic je treba uvoziti. In to je težava, ker so ti parametri trdo kodirani v M-kodi zahteve. In če naredite zahtevo za prvo datoteko (uvoz 5 vrstic od 4.), potem z drugo ne bo več delovala pravilno.

Odlično bi bilo, če bi lahko naša poizvedba sama določila začetek in konec "lebdečega" besedilnega bloka za uvoz.

Rešitev, ki jo želim predlagati, temelji na ideji, da naši podatki vsebujejo nekaj ključnih besed ali vrednosti, ki jih je mogoče uporabiti kot oznake (značilnosti) začetka in konca podatkovnega bloka, ki ga potrebujemo. V našem primeru bo začetek vrstica, ki se začne z besedo SKU, konec pa je vrstica z besedo Skupaj za plačilo. To preverjanje vrstice je enostavno implementirati v Power Query z uporabo pogojnega stolpca – analoga funkcije IF (ČE) v Microsoft Excel.

Poglejmo, kako to storiti.

Najprej naložimo vsebino naše besedilne datoteke v Power Query na standarden način – prek ukaza Podatki – Pridobi podatke – Iz datoteke – Iz besedilne/CSV datoteke (Podatki – Pridobi podatke – Iz datoteke – Iz besedilne/CSV datoteke). Če imate Power Query nameščen kot ločen dodatek, bodo ustrezni ukazi na zavihku poizvedba o moči:

Uvažanje lebdečega fragmenta v Power Query

Kot vedno lahko pri uvozu izberete znak za ločilo stolpcev (v našem primeru je to tabulator), po uvozu pa lahko samodejno dodani korak odstranite spremenjeni tip (Spremenjena vrsta), ker je še prezgodaj, da bi stolpcem dodelili vrste podatkov:

Uvažanje lebdečega fragmenta v Power Query

Zdaj z ukazom Dodajanje stolpca – pogojni stolpec (Dodaj stolpec — pogojni stolpec)dodajmo stolpec s preverjanjem dveh pogojev – na začetku in koncu bloka – in v vsakem primeru prikažemo morebitne drugačne vrednosti (na primer številke 1 и 2). Če nobeden od pogojev ni izpolnjen, potem izpis null:

Uvažanje lebdečega fragmenta v Power Query

Po kliku OK dobimo naslednjo sliko:

Uvažanje lebdečega fragmenta v Power Query

Zdaj pa pojdimo na zavihek. Preoblikovanje in izberite ekipo Polnjenje – dol (Pretvorba – Polnjenje – Dol) – naše enice in dvojke se bodo raztegnile po koloni navzdol:

Uvažanje lebdečega fragmenta v Power Query

No, potem lahko, kot morda ugibate, preprosto filtrirate enote v pogojnem stolpcu – in tukaj je naš zaželeni podatek:

Uvažanje lebdečega fragmenta v Power Query

Ostane le še, da z ukazom dvignemo prvo vrstico v glavo Prvo vrstico uporabite kot glave tab Domov (Domov – Uporabi prvo vrstico kot glave) in odstranite nepotreben bolj pogojni stolpec tako, da z desno miškino tipko kliknete njegovo glavo in izberete ukaz Izbriši stolpec (Izbriši stolpec):

Problem rešen. Zdaj, ko spremenite podatke v izvorni besedilni datoteki, bo poizvedba zdaj neodvisno določila začetek in konec "lebdečega" fragmenta podatkov, ki jih potrebujemo, in vsakič uvozila pravilno število vrstic. Ta pristop seveda deluje tudi v primeru uvoza datotek XLSX, ne TXT, kot tudi pri uvozu vseh datotek iz mape hkrati z ukazom Podatki – Pridobi podatke – Iz datoteke – Iz mape (Podatki — Pridobi podatke — Iz datoteke — Iz mape).

  • Sestavljanje tabel iz različnih datotek s pomočjo Power Query
  • Preoblikovanje navzkrižne tabele v ravno z makri in Power Query
  • Izdelava projektnega gantograma v Power Queryju

Pustite Odgovori