tartalom

Néha vannak olyan helyzetek, amikor nem tudni előre, hogy pontosan hány és melyik sort kell importálni a forrásadatokból. Tegyük fel, hogy adatokat kell betöltenünk egy szöveges fájlból a Power Querybe, ami első pillantásra nem jelent nagy problémát. A nehézség az, hogy a fájlt rendszeresen frissítik, és holnap előfordulhat, hogy más sorszámú adatsor lesz benne, három soros fejléc, nem két sor stb.:

Lebegő töredék importálása a Power Queryben

Vagyis nem tudjuk előre biztosan megmondani, hogy melyik sorból indulva és pontosan hány sort kell importálni. És ez egy probléma, mert ezek a paraméterek a kérés M-kódjában vannak keményen kódolva. És ha az első fájlra kérsz (5-től kezdve 4 sort importál), akkor a másodikkal már nem fog megfelelően működni.

Jó lenne, ha a lekérdezésünk maga is meghatározná az importáláshoz szükséges „lebegő” szövegblokk elejét és végét.

A javasolt megoldás azon az elgondoláson alapul, hogy adataink tartalmaznak néhány kulcsszót vagy értéket, amelyek jelölőként (jellemzőként) használhatók a számunkra szükséges adatblokk elején és végén. Példánkban az eleje egy szóval kezdődő sor lesz SKU, a vége pedig egy sor a szóval Végösszeg. Ez a sorellenőrzés könnyen megvalósítható a Power Queryben egy feltételes oszlop használatával – a függvény analógjával IF (HA) Microsoft Excel programban.

Lássuk, hogyan kell csinálni.

Először is töltsük be szövegfájlunk tartalmát a Power Query-be a szokásos módon – a paranccsal Adatok – Adatok lekérése – Fájlból – Szöveg/CSV fájlból (Adatok – Adatok lekérése – Fájlból – Szöveges/CSV fájlból). Ha a Power Query külön bővítményként van telepítve, akkor a megfelelő parancsok a lapon jelennek meg Teljesítmény lekérdezés:

Lebegő töredék importálása a Power Queryben

Mint mindig, importáláskor választhatjuk az oszlopelválasztó karaktert (esetünkben ez egy tabulátor), és az importálás után eltávolíthatjuk az automatikusan hozzáadott lépést módosított típus (Módosított típus), mert túl korai még adattípusokat rendelni az oszlopokhoz:

Lebegő töredék importálása a Power Queryben

Most a paranccsal Oszlop hozzáadása – Feltételes oszlop (Oszlop hozzáadása – feltételes oszlop)adjunk hozzá egy oszlopot, amely két feltételt ellenőriz – a blokk elején és végén – és minden esetben más értékeket jelenít meg (például számokat 1 и 2). Ha egyik feltétel sem teljesül, akkor kimenet null:

Lebegő töredék importálása a Power Queryben

Miután rákattintott OK a következő képet kapjuk:

Lebegő töredék importálása a Power Queryben

Most menjünk a lapra. Átalakítás és válassz egy csapatot Kitöltés – Le (Átalakítás – Kitöltés – Le) – a mi egyeseink és ketteseink lenyúlnak az oszlopon:

Lebegő töredék importálása a Power Queryben

Nos, akkor, ahogy sejtheti, egyszerűen szűrheti a feltételes oszlop egységeit – és itt van a hőn áhított adatunk:

Lebegő töredék importálása a Power Queryben

Már csak az első sort kell a fejlécbe emelni a paranccsal Használja az első sort fejlécként lap Kezdőlap (Főoldal – Az első sor használata fejlécként) és távolítsa el a felesleges feltételes oszlopot úgy, hogy jobb gombbal kattintson a fejlécére, és válassza ki a parancsot Oszlop törlése (Oszlop törlése):

Probléma megoldódott. Most, amikor módosítja az adatokat a forrásszövegfájlban, a lekérdezés önállóan határozza meg a számunkra szükséges adatok „lebegő” töredékének elejét és végét, és minden alkalommal a megfelelő számú sort importálja. Természetesen ez a megközelítés nem TXT, hanem XLSX fájlok importálása esetén is működik, valamint az összes fájl importálásakor egy mappából a paranccsal Adatok – Adatok lekérése – Fájlból – Mappából (Adatok — Adatok lekérése — Fájlból — Mappából).

  • Táblázatok összeállítása különböző fájlokból a Power Query segítségével
  • Egy kereszttábla újratervezése laposra makrók és Power Query segítségével
  • Projekt Gantt-diagram készítése a Power Queryben

Hagy egy Válaszol