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ď.:
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:
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:
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:
Po kliknutí na OK dostaneme nasledujúci obrázok:
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:
Potom, ako by ste mohli hádať, môžete jednoducho filtrovať jednotky v podmienenom stĺpci – a tu sú naše vytúžené údaje:
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