W dzisiejszym poście zajmiemy się wyciąganiem tekstu po ograniczniku, między ogranicznikami bądź przed ogranicznikiem. W pytaniu od widzów nr 104 napisaliśmy formułę w Excelu, która wyciągała tekst znajdujący się pomiędzy przedostatnim a ostatnim ogranicznikiem np. oznaczony na rysunku nr 1 na czerwono.

rys. nr 1 — Tekst który będziemy wyciągać

Formuły te w Excelu były skomplikowane. W Power Query możemy zrobić to samo, ale dużo szybciej. Ponadto możemy wyciągnąć tekst znajdujący się za konkretnym ogranicznikiem, przed lub pomiędzy dwoma konkretnymi ogranicznikami. Zagadnienie to omówimy na podstawie przykładowych danych przedstawionych na rysunku nr 2.

rys. nr 2 — Przykładowe dane

W przykładowych danych mamy zestawione różne ścieżki do plików, z których będziemy chcieli wyciągnąć konkretną informację. Pierwszym krokiem jest zaczytanie danych do Power Query. Otrzymamy Dane w Edytorze zapytań przedstawione na rysunku nr 3.

rys. nr 3 — Edytor zapytań

Z zastosowanych kroków usuwamy krok o nazwie Zmieniono typ. Będziemy dodawać kolumny zawierające wyciągnięte informacje z tekstu z danych wejściowych. Rozwijamy polecenie wyodrębnij (punkt 2 na rys. nr 4) z karty Dodaj kolumnę, a następnie wybieramy polecenie Tekst przed ogranicznikiem (punkt 3 na rys. nr 4).

rys. nr 4 — Tekst przed ogranicznikiem

Otworzy nam się okno Tekstu przed ogranicznikiem, gdzie w polu Ogranicznik musimy wybrać lub wpisać ogranicznik oznaczający koniec zawartości, którą chcemy wyodrębnić. Wpisujemy / (backslash). Rozwijamy opcje zaawansowane, gdzie możemy wybrać dodatkowe parametry. Domyślnie Power Query czyta dane od lewej do prawej strony i znajdzie nam pierwsze wystąpienie ogranicznika. W opcjach zaawansowanych możemy wybrać ilość ograniczników, które chcemy pominąć. W polu liczba ograniczników do pominięcia wpisujemy wartość 1, czyli chcemy pominąć pierwsze wystąpienie ogranicznika (rys. nr 5). Tak ustawione parametry zatwierdzamy przyciskiem OK.

rys. nr 5 — Okno tekstu przed ogranicznikiem

Otrzymamy dane z nową kolumną o nazwie Tekst przed ogranicznikiem przedstawione na rysunku nr 6.

rys. nr 6 — dane z kolumną z tekstem przed ogranicznikiem

Ważne jest, że domyślnie rozpatrujemy dane od lewej strony, a w opcjach zaawansowanych możemy ten parametr zmienić. Opcja ta jest zapisana w pasku formuły naszej funkcji (Text.BeforeDelimiter), co zostało zaznaczone kolorem zielonym na rys. nr 7.

rys. nr 7 — Funkcja Text.BeforeDelimiter

Możemy edytować nasze zapytanie klikając na koło zębate obok nazwy kroku Wstawiony tekst przed ogranicznikiem (rys. nr 8).

rys. nr 8 — Koło zębate do edycji kroku

Ponownie otworzy nam się okno Tekstu przed ogranicznikiem gdzie możemy wybrać jedną z dwóch opcji rozpatrywania danych: Od początku danych wejściowych lub Od końca danych wejściowych (rys. nr 9).

rys. nr 9 — Parametry tekstu przed ogranicznikiem

Jeśli ustawimy parametr Od końca danych wyjściowych otrzymamy dane przedstawione na rysunku nr 10.

rys. nr 10 — Nowa kolumna z tekstem przed ogranicznikiem patrząc od końca

W tym przypadku Power Query będzie przeszukiwał dane od prawej strony. Ponieważ nie jest to domyślne działanie nasza formuła się rozbudowała (rys. nr 11).

rys. nr 11 — Rozbudowana formuła funkcji

W kolejnej nowej kolumnie chcemy otrzymać tekst za ogranicznikiem. W tym celu rozwijamy polecenie Wyodrębnij (punkt 2 na rys. nr 12) z karty Dodaj kolumnę, a następnie wybieramy polecenie Tekst za ogranicznikiem (punkt nr 3).

rys. nr 12 — Tekst za ogranicznikiem

Otworzy nam się okno Tekstu za ogranicznikiem, gdzie w polu Ogranicznik wpisujemy znak (/).Identycznie jak dla pierwszego przypadku, czyli Tekstu przed ogranicznikiem. Następnie w opcjach zawansowanych, wybieramy czy chcemy rozpatrywać dane od lewej do prawej strony czy od końca oraz wpisujemy liczbę ograniczników, które chcemy pominąć. Wpisujemy w naszym przykładzie, że chcemy pominąć 2 ograniczniki oraz rozpatrywanie danych domyślne, czyli od lewej do prawej. Ustawione parametry zatwierdzamy przyciskiem OK (rys. nr 13).

rys. nr 13 — Okno tekstu za ogranicznikiem

Otrzymamy dane przedstawione na rysunku nr 14.

rys. nr 14 — Nowa kolumna z tekstem za ogranicznikiem

Ostatnie nasze przekształcenie danych będzie dotyczyć wyodrębnienia tekstu między konkretnymi ogranicznikami. W tym celu rozwijamy polecenie Wyodrębnij (punkt 2 na rys. nr 15) z karty Dodaj kolumnę, a następnie wybieramy polecenie Tekst między ogranicznikami (punkt 3).

rys. nr 15 — Tekst między ogranicznikami

Otworzy nam się okno Tekstu między ogranicznikami, gdzie wpisujemy ograniczniki w polach Ogranicznik początkowy i końcowy, czyli w naszym przykładzie w obu polach ten sam znak (/). W opcjach zaawansowanych możemy jak w innych omawianych dziś przypadkach ustawić czy chcemy przeszukiwać dane od początku do końca czy odwrotnie. W pytaniu od widzów było zadanie znalezienia tekstu między przedostatnim a ostatnim ogranicznikiem, więc ustawiamy rozpatrywanie danych od prawej do lewej strony (od końca). W polu Liczba ograniczników początkowych do pominięcia wpisujemy 1 ogranicznik, natomiast w polu Liczba ograniczników końcowych do pominięcia zostawiamy 0. Tak ustawione parametry zatwierdzamy przyciskiem OK (rys. nr 16).

rys. nr 16 — Okno tekstu między ogranicznikami

Otrzymamy dane przedstawione na rysunku nr 17, czyli tekst między ostatnim a przedostatnim ogranicznikiem.

rys. nr 17 — Nowa kolumna z tekstem między ogranicznikami

Możemy zagłębić się bardziej w opcje zaawansowane, ale wtedy łatwiej się zgubić, ponieważ opcja Skanuj w poszukiwaniu ogranicznika końcowego daje nam dwie możliwości. Po znalezieniu pierwszego ogranicznika w tej opcji możemy wybrać czy chcemy przeszukiwać dane w lewą stronę od tego ogranicznika czy w prawo. Pokażemy te opcje na przykładzie zmiany drugiego ogranicznika na znak @ oraz przy pominięciu jednego znaku @. Ustawione parametry powinny wyglądać jak na rysunku nr 18.

rys. nr 18 — Zmiany parametrów tekstu między ogranicznikami

Otrzymamy wtedy dane przedstawione na rysunku nr 19. Możemy zauważyć, że w górnych wierszach nie ma znaków @ po znaku /, więc Power Query wyciągnie nam cały tekst do końca. W ostatnim wierszu otrzymamy fragment tekstu między ostatnim znakiem / a drugim znakiem @, zgodnie z ustawionymi parametrami.

rys. nr 19 — zmienione dane

Najlepiej przeczytać dokładnie wszystkie opcje i przetestować ich działanie.

Tak przygotowane dane możemy załadować do Excela za pomocą polecenia Zamknij i załaduj do z karty Narzędzia główne (rys. nr 20).

rys. nr 20 — Zamknij i załaduj do

Otrzymamy dane załadowane do Excela. Zadanie to jest dużo szybsze w Power Query, musimy tylko pamiętać o dokładnym czytaniu parametrów oraz o tym w którą stronę czytamy dane (od początku do końca czy odwrotnie).


Właśnie dodałem mój kurs o Power BI Desktop firmy Microsoft na Udemy.com.
W związku z tym, możesz dostać ten kurs w promocyjnej Cenie Na Start za zaledwie 34,99 PLN.
To najniższa cena jaką mogę ustawić na platformie edukacyjnej Udemy!

Kurs Power BI Desktop to:
- Ponad 6 godziny nagrań wideo, które krok po kroku wprowadzają Cię w tajniki pobierania, łączenia i analizy danych, a na koniec ich wizualizacji.
- Pliki do pracy razem z filmami.
- Dożywotni dostęp.
- Elektroniczny certyfikat ukończenia

Spis treści kursu o PowerBI Desktop:

Kurs jest podzielony na 6 rozdziałów, które pozwolą Ci wejść w tematykę analizy i wizualizacji danych za pomocą odpowiednio stworzonych zapytań i relacji w PowerBI Desktop.

  1. Wstęp do aplikacji PowerBI Desktop i jej możliwości
  2. Tworzenie i modyfikowanie zapytań (pobieranie danych)
  3. Modelowanie danych w PowerBI Desktop
  4. Wizualizacja danych i tworzenie raportów
  5. Usługa internetowa
  6. PowerBI Pro — kilka słów o płatnej części usługi PowerBI

Wejdź na stronę kursu PowerBI Desktop i zobacz szczegóły kursu
oraz udostępnione do podglądu filmy,
żeby przekonać się czy to kurs dla Ciebie.