Obsah

Niekedy nastanú situácie, keď nie je vopred presne známe, koľko a ktoré riadky je potrebné importovať zo zdrojových údajov. Predpokladajme, že musíme do Power Query načítať údaje z textového súboru, čo však na prvý pohľad nepredstavuje veľký problém. Problém je v tom, že súbor sa pravidelne aktualizuje a zajtra môže mať iný počet riadkov s údajmi, hlavičku troch, nie dva riadky atď.:

Import plávajúceho fragmentu v Power Query

To znamená, že nevieme vopred s istotou povedať, od ktorého riadku a koľko presne riadkov je potrebné importovať. A to je problém, pretože tieto parametre sú pevne zakódované v M-kóde požiadavky. A ak zadáte požiadavku na prvý súbor (importujete 5 riadkov od 4.), potom to už nebude správne fungovať s druhým.

Bolo by skvelé, keby náš dotaz dokázal sám určiť začiatok a koniec „plávajúceho“ textového bloku na import.

Riešenie, ktoré chcem navrhnúť, je založené na myšlienke, že naše údaje obsahujú nejaké kľúčové slová alebo hodnoty, ktoré možno použiť ako značky (funkcie) začiatku a konca bloku údajov, ktorý potrebujeme. V našom príklade bude začiatok riadok začínajúci slovom SKUa koniec je riadok so slovom Spolu. Toto overenie riadkov je jednoduché implementovať v Power Query pomocou podmieneného stĺpca – analógu funkcie IF (AK) v programe Microsoft Excel.

Pozrime sa, ako to urobiť.

Najprv načítajme obsah nášho textového súboru do Power Query štandardným spôsobom – cez príkaz Údaje – Získať údaje – Zo súboru – Z textového/CSV súboru (Údaje – Získať údaje – Zo súboru – Z textového/CSV súboru). Ak máte Power Query nainštalovaný ako samostatný doplnok, príslušné príkazy budú na karte mocenský dotaz:

Import plávajúceho fragmentu v Power Query

Ako vždy, pri importe si môžete vybrať znak oddeľovača stĺpcov (v našom prípade ide o tabulátor) a po importe môžete odstrániť automaticky pridaný krok upravený typ (Zmenený typ), pretože je príliš skoro na to, aby sme priradili dátové typy stĺpcom:

Import plávajúceho fragmentu v Power Query

Teraz s príkazom Pridanie stĺpca – podmienený stĺpec (Pridať stĺpec – podmienený stĺpec)pridajme stĺpec s kontrolou dvoch podmienok – na začiatku a na konci bloku – a v každom prípade zobrazíme rôzne hodnoty (napríklad čísla 1 и 2). Ak nie je splnená žiadna z podmienok, potom výstup null:

Import plávajúceho fragmentu v Power Query

Po kliknutí na OK dostaneme nasledujúci obrázok:

Import plávajúceho fragmentu v Power Query

Teraz poďme na kartu. Premena a vyberte si tím Vyplniť – nadol (Transformácia – vyplnenie – dole) – naše jednotky a dvojky sa budú tiahnuť dole v kolóne:

Import plávajúceho fragmentu v Power Query

Potom, ako by ste mohli hádať, môžete jednoducho filtrovať jednotky v podmienenom stĺpci – a tu sú naše vytúžené údaje:

Import plávajúceho fragmentu v Power Query

Zostáva len zdvihnúť prvý riadok do hlavičky príkazom Použite prvý riadok ako hlavičky pútko Domov (Domov – použite prvý riadok ako hlavičky) a odstráňte nepotrebný viac podmienený stĺpec kliknutím pravým tlačidlom myši na jeho hlavičku a výberom príkazu Odstrániť stĺpec (Odstrániť stĺpec):

Problém je vyriešený. Teraz, pri zmene údajov v zdrojovom textovom súbore, dopyt teraz nezávisle určí začiatok a koniec „plávajúceho“ fragmentu údajov, ktoré potrebujeme, a zakaždým naimportuje správny počet riadkov. Tento prístup samozrejme funguje aj v prípade importu XLSX, nie TXT súborov, ako aj pri importe všetkých súborov z priečinka naraz príkazom Údaje – Získať údaje – Zo súboru – Z priečinka (Údaje — Získať údaje — Zo súboru — Z priečinka).

  • Zostavovanie tabuliek z rôznych súborov pomocou Power Query
  • Zmena dizajnu krížovej tabuľky na plochú pomocou makier a Power Query
  • Vytvorenie Ganttovho diagramu projektu v Power Query

Nechaj odpoveď