Blog JSystems - uwalniamy wiedzę!

Szukaj

W skrócieEksport z systemu prawie nigdy nie nadaje się do raportu bez czyszczenia: ma wiersze tytułowe, sumy, niespójny tekst i duplikaty. W tej lekcji usuwamy wiersze techniczne, ustawiamy nagłówki i typy danych, poprawiamy wielkość liter i spacje oraz usuwamy powtórzone wiersze.

Ta lekcja jest częścią bezpłatnego kursu Power Query - czternastu lekcji od pierwszego zapytania w Excelu do przepływu danych w Microsoft Fabric i pracy z Copilotem. To lekcja 2 z 14.

Spis lekcji bezpłatnego kursu Power Query
Poprzednia lekcja: Lekcja 1: Pierwsze kroki w Excelu i łączenie plików z folderu
Następna lekcja: Lekcja 3: Scalanie i dołączanie zapytań

Usuń wiersze techniczne, ustaw nagłówki i typy danych

Kliknij w panelu zapytań Przekształć przykładowy plik. Wszystkie kroki z tej lekcji robimy na nim, dopóki nie napiszemy inaczej.

Usuń trzy pierwsze wiersze

1. Na karcie Strona główna rozwiń Usuń wiersze i wybierz Usuwanie pierwszych wierszy. To samo menu ma też usuwanie końcowych i naprzemiennych wierszy, duplikatów, pustych wierszy oraz wierszy z błędami.

Menu Usuń wiersze w edytorze Power Query z opcjami usuwania pierwszych, końcowych i naprzemiennych wierszy, duplikatów, pustych wierszy i błędów
Menu Usuń wiersze na karcie Strona główna. Pierwsze trzy pozycje usuwają wiersze według położenia, kolejne według zawartości.

2. W oknie Usuwanie pierwszych wierszy wpisz 3 (dwa wiersze tytułu i jeden pusty) i kliknij OK.

Okno Usuwanie pierwszych wierszy w Power Query z wpisaną liczbą 3
Okno Usuwanie pierwszych wierszy z liczbą 3. Ten krok zadziała tak samo w każdym miesięcznym pliku, bo system kasowy zawsze dokleja tę samą liczbę wierszy tytułu.

Użyj pierwszego wiersza jako nagłówków

3. Teraz w pierwszym wierszu stoją nazwy kolumn. Kliknij Użyj pierwszego wiersza jako nagłówków na karcie Strona główna (ten sam przycisk jest też na karcie Przekształć). Kolumny dostaną nazwy Data, Nr paragonu, Sklep, Kod produktu, Ilość, Cena netto, Rabat %, Wartość netto, Kanał i Płatność. Strzałka obok tego przycisku ma też operację odwrotną, która przenosi nagłówki z powrotem do pierwszego wiersza danych. Przydaje się, gdy źródło ma dwa wiersze nagłówków i chcesz je najpierw scalić w jeden.

Edytor Power Query po promowaniu nagłówków: kolumny Data, Nr paragonu, Sklep, Kod produktu, Ilość, Cena netto
Nagłówki na swoim miejscu. Power Query od razu dodał automatyczny krok zmiany typu, który za chwilę świadomie usuniemy.

Power Query po promowaniu nagłówków sam dodaje krok Zmieniono typ, zgadując typy kolumn. W zapytaniu pomocniczym ten krok szkodzi: typy ustawimy raz, na połączonej tabeli. Usuń go krzyżykiem na liście Zastosowane kroki.

Odfiltruj wiersz Razem i puste wiersze

4. Na końcu każdego pliku jest pusty wiersz i wiersz z sumą. Kliknij strzałkę przy nagłówku kolumny Data i wybierz Usuń puste. Potem jeszcze raz otwórz filtr, wejdź w Filtry tekstu i wybierz Nie równa się....

Rozwinięty filtr kolumny Data w Power Query z podmenu Filtry tekstu i opcją Nie równa się
Filtr kolumny Data. Ponieważ kolumna nie ma jeszcze typu, Power Query proponuje filtry tekstowe: równa się, nie równa się, zaczyna się od, zawiera i inne.

5. W oknie Filtrowanie wierszy wpisz Razem w polu wartości obok warunku nie równa się i kliknij OK.

Okno Filtrowanie wierszy w Power Query: zachowaj wiersze, w których Data nie równa się Razem
Okno Filtrowanie wierszy w trybie Podstawowy. Tryb Zaawansowane pozwala łączyć warunki z różnych kolumn.

Filtr zależy od typu kolumny. Kolumna tekstowa ma Filtry tekstu, liczbowa Filtry liczb (większe niż, między, pierwsze N), a kolumna z typem daty ma Filtry dat z warunkami względnymi, na przykład w poprzednim lub bieżącym miesiącu albo w ostatnich N dniach. Filtr względny przesuwa się sam przy każdym odświeżeniu.

Dlaczego filtrujemy wartość, a nie usuwamy ostatnich wierszy? Bo w kolejnym eksporcie podsumowanie może zajmować dwa wiersze albo pojawić się dodatkowa stopka. Filtr po treści jest odporny na takie zmiany, a usunięcie stałej liczby wierszy z końca nie jest.

Wróć do zapytania głównego i napraw błąd kolumny Column1

6. Kliknij zapytanie Sprzedaz_miesieczna. Zamiast danych zobaczysz żółty pasek z błędem. To najczęstszy błąd przy łączeniu plików i dobrze zobaczyć go od razu:

Błąd Power Query Expression.Error: Nie można znaleźć kolumny Column1 w tabeli w kroku zmiany typu w zapytaniu Sprzedaz_miesieczna
Expression.Error: Nie można znaleźć kolumny „Column1" w tabeli. Pasek formuły zdradza przyczynę: automatyczny krok Zmieniono typ odwołuje się do starych nazw Column1, Column2 i tak dalej, których po promowaniu nagłówków już nie ma.

Krok Zmieniono typ w zapytaniu głównym powstał w chwili łączenia plików, gdy kolumny nazywały się jeszcze Column1, Column2. Po naszych zmianach w zapytaniu przykładowym nazwy są inne i krok wskazuje kolumny, które nie istnieją. Rozwiązanie: usuń ten krok krzyżykiem. Typy ustawimy na nowo.

Ustaw typy danych

7. Zaznacz wszystkie kolumny (kliknij nagłówek pierwszej kolumny i naciśnij Ctrl+A), przejdź na kartę Przekształć i kliknij Wykryj typ danych. Power Query przejrzy wartości i nada typy: data dla kolumny Data, liczby całkowite dla Ilość i Rabat %, liczby dziesiętne dla cen i wartości, tekst dla reszty.

Karta Przekształć w edytorze Power Query z przyciskami Wykryj typ danych, Zmień nazwę, Wypełnij, Kolumna przestawna i Anuluj przestawienie kolumn
Karta Przekształć. Po lewej grupa Tabela (Grupowanie według, nagłówki, Transponuj), obok Typ danych i Wykryj typ danych, dalej wypełnianie, przestawianie, dzielenie i formatowanie kolumn.
Kolumny z nadanymi typami danych w Power Query: Data jako data, Ilość jako liczba całkowita, Cena netto jako liczba dziesiętna
Po wykryciu typów ikony w nagłówkach się zmieniły, a liczby wyrównały do prawej. Polskie daty i przecinki dziesiętne zostały rozpoznane poprawnie.

Typ danych to w Power Query coś więcej niż format. Od typu zależy, czy kolumnę da się zsumować, czy filtry pokażą zakres dat, czy scalanie po kluczu zadziała i czy model w Power BI policzy miary. Pełną listę typów zobaczysz po kliknięciu ikony typu przy nazwie kolumny:

Lista typów danych w Power Query: liczba dziesiętna, waluta, liczba całkowita, wartość procentowa, data, godzina, tekst, prawda i fałsz
Ikona przy nazwie kolumny otwiera listę typów (tu na kolumnie Wartość brutto, którą dodamy w lekcji o kolumnach niestandardowych). Ostatnia pozycja, Używając ustawień regionalnych..., rozwiązuje problem dat i liczb zapisanych w formacie innego kraju.
Daty i liczby z innego kraju. Jeśli eksport ma daty w układzie miesiąc/dzień/rok albo kropkę jako separator dziesiętny, zwykła zmiana typu da błędy albo, co gorsze, po cichu zamieni 03.04 na 4 marca. Wtedy wybierz Używając ustawień regionalnych... i wskaż typ oraz ustawienia regionalne źródła, na przykład Angielski (Stany Zjednoczone). Power Query zapisze to w kroku jako trzeci parametr funkcji Table.TransformColumnTypes, na przykład "en-US".

Popraw tekst i usuń duplikaty

Nazwy sklepów w eksporcie bywają zapisane z doklejonymi spacjami albo wielkimi literami („NORDVELLA WROCŁAW"), a kody produktów czasem małymi literami ze spacją na końcu („bex-1021 "). Dla człowieka to ten sam sklep i ten sam produkt, dla Power Query i dla tabeli przestawnej to różne wartości. Poprawiamy to w zapytaniu Sprzedaz_miesieczna.

1. Zaznacz kolumnę Sklep, na karcie Przekształć rozwiń Format i wybierz Przycięcie, a potem jeszcze raz Format > Zamień pierwszą literę każdego wyrazu na wielką.

Menu Format w Power Query z opcjami małe litery, wielkie litery, zamień pierwszą literę każdego wyrazu na wielką, przycięcie, wyczyść, dodaj prefiks i sufiks
Menu Format. Przycięcie usuwa spacje z początku i końca tekstu, Wyczyść usuwa znaki niedrukowalne, a trzy pierwsze pozycje zmieniają wielkość liter.

2. Zaznacz kolumnę Kod produktu i zastosuj Format > Przycięcie oraz Format > Wielkie litery. Kody mają teraz jeden zapis, co jest warunkiem poprawnego scalenia z katalogiem produktów w następnym kroku.

Kolumny Sklep i Kod produktu po przycięciu i ujednoliceniu wielkości liter w Power Query, z nowymi krokami na liście zastosowanych kroków
Po formatowaniu każda operacja dodała własny krok na liście, między innymi Przycięty tekst i Tekst pisany wielkimi literami.

3. Zostały duplikaty. W lutowym eksporcie system kasowy wysłał sześć linii paragonów dwa razy. Zaznacz wszystkie kolumny (Ctrl+A po kliknięciu nagłówka), na karcie Strona główna rozwiń Usuń wiersze i wybierz Usuń duplikaty.

Menu Usuń wiersze z zaznaczoną opcją Usuń duplikaty w edytorze Power Query
Usuń duplikaty porównuje wartości w zaznaczonych kolumnach. Gdy zaznaczysz wszystkie kolumny, znikną tylko wiersze identyczne w całości.
Który wiersz zostaje przy usuwaniu duplikatów? W prostych zapytaniach zostaje pierwszy, ale opis funkcji Table.Distinct zastrzega, że nie ma gwarancji, który z duplikatów zostanie: Power Query może przenieść operację do źródła danych albo pominąć kroki, które uzna za zbędne, na przykład wcześniejsze sortowanie. Jeśli usuwasz duplikaty po jednej kolumnie (na przykład po numerze klienta), a chcesz zatrzymać najnowszy rekord, posortuj dane malejąco po dacie i zbuforuj wynik: w pasku formuły kroku sortowania obejmij całe wyrażenie funkcją Table.Buffer( ... ). Zbuforowana tabela zachowuje kolejność, więc Usuń duplikaty zostawi najnowszy wiersz. Pamiętaj też, że porównanie tekstu rozróżnia wielkość liter i spacje, dlatego formatowanie zrobiliśmy wcześniej.

Ile duplikatów zniknęło? Wszystkie cztery pliki mają razem 9256 linii, a po usunięciu duplikatów zostaje 9250. Liczbę wierszy pokazuje profil kolumny, który włączymy w lekcji o profilowaniu danych.

Inne operacje na tekście

Kilka operacji, których nie potrzebowaliśmy w danych Nordvelli, a które przy eksportach z systemów są codziennością:

  • Scal kolumny (karta Przekształć) łączy kilka kolumn tekstowych w jedną, z wybranym separatorem, na przykład imię i nazwisko albo ulicę i numer domu. Na karcie Dodaj kolumnę ta sama operacja zostawia kolumny źródłowe bez zmian.
  • Wyodrębnij wyciąga fragment tekstu: pierwsze lub ostatnie znaki, zakres od wskazanej pozycji, długość tekstu, a także tekst przed, po albo między ogranicznikami, na przykład domenę z adresu e-mail.
  • Przenieś zmienia kolejność kolumn (na początek, na koniec, w lewo, w prawo). Kolejność możesz też zmienić, przeciągając nagłówek kolumny myszą.
  • Twarde spacje. Dane kopiowane ze stron WWW i z PDF-ów często zawierają spację niełamliwą między słowami. Przycięcie usuwa ją tylko z początku i końca tekstu, więc „Nordvella Wrocław" ze spacją niełamliwą w środku dalej nie pasuje do słownika. Pomaga zamiana w kolumnie niestandardowej: Text.Replace([Sklep], "#(00A0)", " "), gdzie #(00A0) to zapis znaku spacji niełamliwej w języku M.
  • Zera wiodące. Kod, który system zapisał jako liczbę 123, a słownik jako tekst 000123, nie scali się. Zamień kolumnę na tekst i uzupełnij zera formułą Text.PadStart(Text.From([Kod]), 6, "0").

Zamienianie wartości, wypełnianie w dół i transpozycja

Trzy kolejne narzędzia przydają się przy prawie każdym eksporcie, choć w danych Nordvelli akurat nie były potrzebne:

  • Zamienianie wartości (karta Strona główna albo Przekształć) podmienia jedną wartość na inną w zaznaczonych kolumnach, na przykład „Telefon" na „Infolinia". Pozostawienie pustego pola Zamień na przy tekście zamienia go na pusty tekst, a wpisanie null na wartość pustą. W opcjach zaawansowanych zaznaczysz dopasowanie całej zawartości komórki, żeby „Kraków" nie zamieniło się wewnątrz „Kraków Galeria".
  • Wypełnij > W dół (karta Przekształć) uzupełnia puste komórki wartością z wiersza powyżej. To lekarstwo na raporty, w których nazwa regionu czy działu stoi tylko w pierwszym wierszu grupy. Uwaga: wypełniane są wyłącznie wartości puste (null), więc jeśli komórki zawierają pusty tekst, najpierw zamień go na null.
  • Transponuj (karta Przekształć) zamienia wiersze z kolumnami. Przydaje się przy nagłówkach rozpisanych w pionie i przy tabelach odwróconych na potrzeby wydruku.
Masz konkretny problem z Power Query? Zajrzyj do listy 88 najczęstszych pytań i problemów związanych z Power Query: komunikaty błędów, typy danych, scalanie i odświeżanie, każdy z rozwiązaniem krok po kroku.
Baner szkolenia Microsoft Excel - Power Query w JSystems z edytorem Power Query na ekranie laptopa

Szkolenie Microsoft Excel - Power Query --> Dwa dni warsztatów z Excela: pobieranie danych z plików, folderów, SharePointa i baz SQL, ich czyszczenie i łączenie w Power Query, praca w języku M, a na koniec model danych i oparta na nim tabela przestawna. Prowadzi Sebastian Stasiak.

To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.

★★★★★Średnia ocena naszych szkoleń w Google: 5/5

✕Powiększony zrzut ekranu z kursu Power Query

Najczęściej zadawane pytania

Jak w Power Query usunąć pierwsze wiersze z tytułem raportu?
Na karcie Strona główna rozwiń Usuń wiersze i wybierz Usuwanie pierwszych wierszy, a potem wpisz ich liczbę. Krok zadziała tak samo przy każdym kolejnym pliku, o ile system zawsze dokleja tę samą liczbę wierszy nad nagłówkiem.
Dlaczego daty i liczby z CSV wczytują się w Power Query jako błędy?
Najczęściej dlatego, że plik zapisano w formacie innego kraju niż ustawienia Excela, na przykład z datami miesiąc/dzień/rok albo kropką dziesiętną. Wtedy w menu typu kolumny wybierz Używając ustawień regionalnych... i wskaż typ oraz ustawienia regionalne źródła, na przykład Angielski (Stany Zjednoczone).
Jak usunąć duplikaty w Power Query?
Zaznacz kolumny, które razem identyfikują wiersz, albo wszystkie kolumny, i wybierz Usuń wiersze, Usuń duplikaty. Który z powtórzonych wierszy zostanie, nie jest gwarantowane, więc gdy zależy Ci na najnowszym, posortuj dane i zbuforuj je funkcją Table.Buffer przed usunięciem duplikatów. Wcześniej warto przyciąć spacje i ujednolicić wielkość liter, bo inaczej podobne wiersze nie zostaną uznane za takie same.
Czym różni się Przycięcie od polecenia Wyczyść w Power Query?
Przycięcie usuwa z początku i końca tekstu spacje, tabulatory, znaki końca wiersza i twarde spacje, a Wyczyść usuwa znaki niedrukowalne, na przykład znaki końca wiersza. Żadne z nich nie rusza znaków w środku tekstu, więc twardą spację między słowami zamienisz na zwykłą w oknie Zamień wartości z opcją Zamień przy użyciu znaków specjalnych i znakiem Spacja nierozdzielająca.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...