Używanie zaawansowanego edytora Power Query do wyodrębniania wartości przed określonym tekstem

Używanie zaawansowanego edytora Power Query do wyodrębniania wartości przed określonym tekstem

W tym samouczku zademonstruję, jak można wyodrębnić wartości przed każdym wystąpieniem określonego tekstu za pomocą Zaawansowanego edytora dodatku Power Query. Można to osiągnąć na wiele sposobów, ale pomyślałem, że fajnie byłoby pokazać rozwiązanie, które jest w pełni zakodowane. Możesz obejrzeć pełny film tego samouczka na końcu tego bloga.

Członek opublikował ten scenariusz poniżej. W pełni zakodowane rozwiązanie, które zamierzam zademonstrować, jest bardziej zaawansowane, ale podzielę je na bardzo małe części, abyśmy mogli zbadać wyniki każdego kroku.

Używanie zaawansowanego edytora Power Query do wyodrębniania wartości przed określonym tekstem

Spis treści

Korzystanie z zaawansowanego edytora Power Query i funkcji M

Utworzę odwołanie do przykładowego zapytania i dodam niestandardową kolumnę, w której możemy zbudować naszą logikę.

Używanie zaawansowanego edytora Power Query do wyodrębniania wartości przed określonym tekstem

Pierwszą rzeczą, którą zamierzam zrobić, to podzielić tę kolumnę tekstową. Użyjemy więc funkcji Text.Split , a następnie umieścimy otwierający nawias. Chce tekstu, więc możemy wskazać naszą kolumnę Tekst. Następnie chce separatora jako tekstu. Tak więc pomiędzy zestawem podwójnych cudzysłowów możemy dodać ten średnik, a następnie zamknąć nawias i nacisnąć OK.

Używanie zaawansowanego edytora Power Query do wyodrębniania wartości przed określonym tekstem

Dzięki temu otrzymujemy listę z oddzielonymi wartościami tekstowymi.

Używanie zaawansowanego edytora Power Query do wyodrębniania wartości przed określonym tekstem

Nadal musimy trochę posprzątać, ponieważ w tych ciągach tekstowych mogą znajdować się spacje na początku lub na końcu, których musimy się pozbyć. Oznacza to, że musimy zmienić zawartość każdej z tych list, a dla tego istnieje funkcja M o nazwie List.Transform .

Więc na pasku formuły dodam List.Transform. Chce listę, a my ją podaliśmy, a następnie wstaw przecinek. Dalej jest transformacja, więc chcemy przyciąć te teksty. Dodam więc Text.Trim , następnie nawias zamykający i naciśnij OK.

Używanie zaawansowanego edytora Power Query do wyodrębniania wartości przed określonym tekstem

Teraz otwórzmy okno zaawansowanego edytora Power Query, ponieważ tak jak powiedziałem, chcę podzielić to na naprawdę małe części. Użyję zmiennych do przechowywania wyników pośrednich dla każdego z kroków.

Możemy utworzyć zestaw zmiennych oddzielonych przecinkami wewnątrz wyrażenia let . Nazwę pierwszy krok jako ListTexts . Ten ostatni nawias zamykający dotyczy naszej tabeli, która dodała funkcje kolumnowe, więc przenieś to również do nowej linii. Na końcu tego pierwszego wyrażenia musimy wstawić przecinek, abyśmy mogli od razu dodać nowe wyrażenie.

Następnie tworzymy nową nazwę zmiennej, którą nazywam FindPositions . Cały ciąg został oddzielony i oczyszczony. Wszystko, co musimy zrobić, to znaleźć lokalizację szukanego ciągu. W tym celu użyjemy funkcji o nazwie ListPositionOf . Dodaj nawias otwierający i możemy zwrócić zmienną, którą już utworzyliśmy (ListTexts).

Następnie wpisujemy wartość, której szukamy, czyli dwa duże A. Odpowiednikiem let jest klauzula in , więc musimy to dodać i zwrócić do FindPositions . Następnie naciśnij Gotowe.

Używanie zaawansowanego edytora Power Query do wyodrębniania wartości przed określonym tekstem

Ta funkcja przyjmuje opcjonalny trzeci parametr, więc na pasku formuły możemy dodać ten trzeci parametr. I w ten sposób otrzymujemy listę.

Używanie zaawansowanego edytora Power Query do wyodrębniania wartości przed określonym tekstem

Celem jest wyodrębnienie wartości przed ciągiem wyszukiwania, więc musimy cofnąć się do pojedynczej pozycji. Ale mamy też zera. Nie ma żadnej wartości przed pierwszą wartością początkową w tym łańcuchu i musimy unikać błędów, więc musimy wykluczyć te zera, więc wracamy ponownie do Edytora zaawansowanego i dodajemy trochę logiki.

Używanie zaawansowanego edytora Power Query do wyodrębniania wartości przed określonym tekstem

Nadal musimy wrócić do jednej pozycji. I tak w Edytorze zaawansowanym możemy użyć List.Transform , aby nam w tym pomóc.

Używanie zaawansowanego edytora Power Query do wyodrębniania wartości przed określonym tekstem

Następnie użyjemy List.Transform, aby uzyskać ciągi i uzyskać dostęp do elementów na naszych listach.

Używanie zaawansowanego edytora Power Query do wyodrębniania wartości przed określonym tekstem

Ostatnim krokiem jest połączenie wszystkich wartości tekstowych na liście w jeden ciąg. Zamierzam więc dodać kolejny wiersz w naszej logice dla naszego wyniku za pomocą funkcji Text.Combine .

Używanie zaawansowanego edytora Power Query do wyodrębniania wartości przed określonym tekstem

I w ten sposób możesz wyodrębnić ciągi przed określonym tekstem za pomocą w pełni zakodowanego rozwiązania.

Używanie zaawansowanego edytora Power Query do wyodrębniania wartości przed określonym tekstem


Dane rozdzielane — wyodrębnianie rekordów przy użyciu usługi LuckyTemplates
Wyodrębnianie wartości z rekordów i list w usłudze Power Query
Odwracanie wielu kolumn dynamicznie w usłudze LuckyTemplates

Wniosek

W tym samouczku widziałeś, jak wyodrębniać ciągi przed określonym tekstem, a my użyliśmy kilku tekstów i list funkcji M, aby wykonać to zadanie. Mam nadzieję, że ci się podobało. Możesz obejrzeć pełny samouczek wideo poniżej, aby zobaczyć szczegółowe rozwiązanie krok po kroku.

Wszystkiego najlepszego!

Melisa


Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.

Pomysły na materializację pamięci podręcznych danych w DAX Studio

Pomysły na materializację pamięci podręcznych danych w DAX Studio

W tym samouczku omówiono idee materializacji pamięci podręcznych danych oraz ich wpływ na wydajność języka DAX w dostarczaniu wyników.

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Jeśli do tej pory nadal korzystasz z programu Excel, jest to najlepszy moment, aby zacząć korzystać z usługi LuckyTemplates na potrzeby raportowania biznesowego.

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć