Spis treści

Czasami zdarzają się sytuacje, kiedy nie wiadomo z góry, ile i jakie wiersze należy zaimportować z danych źródłowych. Załóżmy, że musimy załadować dane z pliku tekstowego do Power Query, co na pierwszy rzut oka nie stanowi dużego problemu. Trudność polega na tym, że plik jest regularnie aktualizowany, a jutro może mieć inną liczbę wierszy z danymi, nagłówek trzy, a nie dwie, itd.:

Importowanie pływającego fragmentu w dodatku Power Query

Oznacza to, że nie możemy z góry powiedzieć z całą pewnością, zaczynając od tego, od którego wiersza i ile dokładnie wierszy należy zaimportować. I to jest problem, ponieważ te parametry są na stałe zakodowane w kodzie M żądania. A jeśli złożysz żądanie dla pierwszego pliku (importowanie 5 linii zaczynając od czwartego), to nie będzie on już działał poprawnie z drugim.

Byłoby wspaniale, gdyby nasze zapytanie mogło samo określić początek i koniec „pływającego” bloku tekstu do importu.

Rozwiązanie, które chcę zaproponować, opiera się na założeniu, że nasze dane zawierają jakieś słowa kluczowe lub wartości, które można wykorzystać jako znaczniki (cechy) początku i końca potrzebnego nam bloku danych. W naszym przykładzie początek będzie linią rozpoczynającą się od słowa SKU, a koniec to linia ze słowem Kwota produktów:. Ta walidacja wierszy jest łatwa do zaimplementowania w dodatku Power Query przy użyciu kolumny warunkowej — odpowiednika funkcji IF (JEŚLI) • Microsoft Excel.

Zobaczmy, jak to zrobić.

Najpierw załadujmy zawartość naszego pliku tekstowego do Power Query w standardowy sposób – za pomocą polecenia Dane – Pobierz dane – Z pliku – Z pliku tekstowego/CSV (Dane – Pobierz dane – Z pliku – Z pliku tekstowego/CSV). Jeśli masz zainstalowany dodatek Power Query jako osobny dodatek, odpowiednie polecenia będą na karcie Zapytanie o moc:

Importowanie pływającego fragmentu w dodatku Power Query

Jak zawsze przy imporcie możesz wybrać znak separatora kolumny (w naszym przypadku jest to tabulator), a po zaimportowaniu możesz usunąć automatycznie dodany krok zmodyfikowany typ (Zmieniony typ), ponieważ jest za wcześnie, aby przypisywać typy danych do kolumn:

Importowanie pływającego fragmentu w dodatku Power Query

Teraz z poleceniem Dodawanie kolumny — kolumna warunkowa (Dodaj kolumnę — kolumnę warunkową)dodajmy kolumnę ze sprawdzaniem dwóch warunków – na początku i na końcu bloku – i wyświetlaniem dowolnych różnych wartości​​w każdym przypadku (na przykład liczb 1 и 2). Jeśli żaden z warunków nie jest spełniony, to wypisz zero:

Importowanie pływającego fragmentu w dodatku Power Query

Po kliknięciu OK otrzymujemy następujący obraz:

Importowanie pływającego fragmentu w dodatku Power Query

Przejdźmy teraz do zakładki. Transformacja i wybierz drużynę Wypełnij (Przekształć – Napełnij – W dół) – nasze jedynki i dwójki rozciągną się po kolumnie:

Importowanie pływającego fragmentu w dodatku Power Query

Cóż, jak można się domyślić, możesz po prostu przefiltrować jednostki w kolumnie warunkowej – a oto nasza pożądana część danych:

Importowanie pływającego fragmentu w dodatku Power Query

Pozostaje tylko podnieść pierwszą linię do nagłówka za pomocą polecenia Użyj pierwszego wiersza jako nagłówków Zakładka Strona główna (Strona główna — użyj pierwszego rzędu jako nagłówków) i usuń niepotrzebną, bardziej warunkową kolumnę, klikając prawym przyciskiem myszy jej nagłówek i wybierając polecenie Usuń kolumnę (Usuń kolumnę):

Problem rozwiązany. Teraz, zmieniając dane w źródłowym pliku tekstowym, zapytanie teraz niezależnie określi początek i koniec „pływającego” fragmentu danych, których potrzebujemy i za każdym razem zaimportuje odpowiednią liczbę wierszy. Oczywiście takie podejście sprawdza się również w przypadku importowania plików XLSX, a nie TXT, a także importowania wszystkich plików z folderu na raz za pomocą polecenia Dane – Pobierz dane – Z pliku – Z folderu (Dane — Pobierz dane — Z pliku — Z folderu).

  • Składanie tabel z różnych plików za pomocą dodatku Power Query
  • Przeprojektowanie tabeli przestawnej na płaską za pomocą makr i dodatku Power Query
  • Tworzenie wykresu Gantta projektu w Power Query

Dodaj komentarz