Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

W tym poście na blogu przyjrzymy się bliżej niestandardowej funkcji czyszczenia tekstu, którą stworzyłem dla naszej trwającej serii w telewizji LuckyTemplates o nazwie . Możesz obejrzeć pełny film tego samouczka na dole tego bloga.

W drugim tygodniu mamy trochę niechlujnych danych, które wymagają uporządkowania. Naszym celem jest tutaj wyczyszczenie wszystkich wartości tekstowych w obu kolumnach.

Do tego zadania stworzyłem czystą funkcję tekstową.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Ale najpierw rzućmy okiem na kod M.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Ta funkcja przyjmuje jeden parametr o nazwie myText. Jego wartość powinna być typu tekstowego, a funkcja powinna zwracać wartość tekstową, ponieważ nie wszystkie zmienne wymienione poniżej zwrócą wartość tekstową.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Zadeklarowanie zwracanego typu spowoduje błąd. Aby zapobiec wystąpieniu tego błędu, mogę to teraz skomentować.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Jeśli chcemy zobaczyć, co zwraca pierwsza zmienna, wystarczy odwołać się do niej po nazwie, po klauzuli in. Zamierzam więc skopiować zmienną ToRemove, wkleić ją w dolnym wierszu i nacisnąć OK.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Aby zobaczyć wynik tej funkcji, musimy ją wywołać. Dodajmy więc niestandardową kolumnę do tego zapytania.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Następnie wywołaj naszą funkcję, wybierz tę scaloną kolumnę i naciśnij OK.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Spis treści

Tworzenie list z pustego zapytania

Widzimy teraz, że krok ToRemove tworzy listę. W rzeczywistości jest to połączenie dwóch list.

Pierwsza lista utworzyła znaki cudzysłowu, a druga lista to zakres znaków, które chciałem usunąć.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Jak stworzyłem tę listę?

Cóż, użyłem funkcji o nazwie Txt.ToList.

Dostęp do dokumentacji funkcji wewnętrznych można uzyskać, tworząc puste zapytanie, wprowadzając nazwę funkcji bez nawiasów, a następnie naciskając klawisz Enter.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Widzimy, że Text.ToList zwraca listę wartości znaków z podanej wartości tekstowej.

Wklejmy kilka tekstów i wywołajmy tę funkcję.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Tworzy nowe zapytanie i widać, że ta lista zawiera wszystkie litery, które widzimy tutaj w tekście.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Pamiętacie, że dodałem dodatkową listę, prawda? Połączyłem dwie listy i użyłem do tego znaku ampersand.

Odtwórzmy to teraz. Użyłem ampersandu i inicjatora listy, a następnie wprowadziłem te znaki cudzysłowu.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Widzimy teraz, że cytaty zostały dodane do tej listy, ale dlaczego utworzyłem listę?

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Cóż, w następnym kroku mojej funkcji czyszczenia tekstu użyłem funkcji M o nazwie Tekst. Usunąć.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

I widzisz, że możesz wprowadzić tekst, a następnie listę znaków, które chcesz usunąć z tego ciągu.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Wróćmy do naszej funkcji czyszczenia tekstu.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Do. Usuń utworzył te dwie listy, a następnie połączył je w jedną listę.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

A następnie wklejmy zmienną CleanText. Klauzula „in” wywołuje funkcję M Text.Remove i przekazuje zmienną myText, a następnie wywołuje listę To.Remove. Zobaczmy, co to daje.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Wróćmy do naszego zapytania. To już nie zwraca listy, ale zwraca niektóre wartości tekstowe.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Przycinanie w Power Query

Następnym krokiem jest przycinanie . Jak widać na powyższym obrazku, mamy kilka dodatkowych spacji i końcowy przecinek na końcu, których chcemy się pozbyć. W tym celu możemy skorzystać z funkcji przycinania. Wróćmy do zapytania, aby zbadać kod M.

W kodzie M zagnieździłem 2 funkcje przycinania. Pierwsza funkcja łańcuchowa usuwa dodatkowe spacje z przodu i na końcu naszej zmiennej CleanText.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

W przypadku pozostałych tekstów, które mamy, usuniemy również spacje z ciągu wynikowego.

Usuniemy również końcowy przecinek.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Zobaczmy wynik. Zamierzam skopiować nazwę zmiennej, wkleić ją po klauzuli „in” i kliknąć Gotowe. Kiedy odświeżymy nasze zapytanie, zobaczysz, że zniknęły dodatkowe spacje, a końcowy przecinek został usunięty.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

W końcowych krokach mojego zapytania właśnie zastąpiłem niektóre wartości tekstowe.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

W ostatnim przypadku zastąpiłem to podkreślenie spacją. Skopiujmy to i wklejmy po klauzuli „in”. Ponownie włączyłem również typ zwrotu.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Wróćmy do naszego zapytania i przyjrzyjmy się wynikom – jak na razie jest dobrze!

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Teraz nie chcemy tworzyć nowych kolumn, aby wywołać naszą funkcję, prawda? To, co możemy zrobić, to zamiast tego przekształcić naszą kolumnę 1 w naszą kolumnę scalania.

Zamierzam usunąć ten niestandardowy krok kolumny.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Następnie użyję interfejsu użytkownika, aby utworzyć dla nas większość kodu. Na karcie przekształcania wybierz obie kolumny, przejdź do opcji Format i wybierz funkcję.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

To naprawdę nie ma znaczenia, która funkcja jest wybrana, ponieważ jest to kod M generowany przez interfejs użytkownika. Możemy teraz zastąpić ten tekst. Dolna funkcja…

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

… dzięki naszej funkcji czystego tekstu. Mam nadzieję, że rozumiesz, dlaczego musiałem dodać fx z przodu. Nie ma „w funkcji”, które zaczyna się od tego.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Kiedy wciskamy OK, widać, że nasze teksty zostały wyczyszczone. To jest niesamowite.

Tworzenie niestandardowej funkcji czyszczenia tekstu w dodatku Power Query

Wniosek

Dlaczego musieliśmy przejść przez wszystkie problemy z tworzeniem niestandardowej funkcji czyszczenia? Cóż, jeśli prawdopodobnie będziesz musiał powtórzyć ten krok lub użyć podobnej logiki w przyszłości, możesz zapisać to zapytanie funkcyjne.

W ten sposób przyspieszy to tworzenie zapytań na późniejszym etapie. Innym dobrym powodem jest to, że jest to również zabawne.

Mam nadzieję, że podobał Ci się ten samouczek. Jeśli tak, nie zapomnij zasubskrybować kanału LuckyTemplates .

Melisa

Leave a Comment

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.

Funkcje zbierania w Microsoft Power Automate

Funkcje zbierania w Microsoft Power Automate

Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.

Oceń wydajność kodu DAX w DAX Studio

Oceń wydajność kodu DAX w DAX Studio

Z tego samouczka dowiesz się, jak ocenić wydajność kodów DAX przy użyciu opcji Uruchom test porównawczy w DAX Studio.

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.