Zapytanie funkcyjne i operatorzy w edytorze zapytań

W tym samouczku omówiono funkcję kwerendy funkcji w edytorze kwerend . Dowiesz się, jak używać i maksymalizować zapytania funkcyjne, aby uzyskać pożądane wyniki i dane. Zrozumiesz również, w jaki sposób współpracują z operatorami , aby uzyskać określone wyniki.

Spis treści

Tworzenie zapytania funkcyjnego

Power Query umożliwia użytkownikom definiowanie niestandardowych funkcji, które odwzorowują zestaw argumentów na pojedynczą wartość. Aby zademonstrować, kliknij prawym przyciskiem myszy miejsce w okienku zapytań. Następnie kliknij Nowe zapytanie i wybierz Puste zapytanie.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Następnie otwórz okno Edytora zaawansowanego i usuń całą jego zawartość. Jeśli chcesz skonstruować funkcję niestandardową, musisz zacząć od zestawu nawiasów. Następnie zdefiniuj listę parametrów oddzielonych przecinkami w tych nawiasach. Następnie wprowadź znak przejścia , który jest kombinacją znaku równości i znaku większego niż, po którym następuje treść funkcji.

W tym przykładzie parametry to a i b , a treść funkcji to a + b . Nadaj kwerendzie nazwę Add2Values ​​.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Tak wygląda zapytanie funkcyjne.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Obok nazwy zapytania w okienku zapytań widoczna jest ikona fx , która wskazuje, że jest to zapytanie funkcyjne.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Aby wywołać funkcję, wprowadź wartość dla każdego parametru i naciśnij Wywołaj .

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Naciśnięcie przycisku Invoke spowoduje utworzenie nowego zapytania o nazwie Invoked Function , które zawiera wynik ustawionych parametrów. Na pasku formuły zobaczysz również, że odwołuje się on do zapytania funkcji według nazwy i przypisuje wartości parametrów.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Aby dodać wartości z różnych kolumn, możesz również użyć tego samego zapytania funkcyjnego. Utwórz nowe zapytanie i otwórz okno Edytora zaawansowanego . Następnie wprowadź następujący kod, aby utworzyć małą tabelę.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Wywoływanie zapytania funkcji niestandardowej

Aby wywołać funkcję niestandardową w każdym wierszu tabeli, możesz przejść do karty Dodaj kolumnę i wybrać opcję Wywołaj funkcję niestandardową .

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Innym sposobem jest kliknięcie ikony minitabelki w lewym górnym rogu podglądu i wybranie opcji Wywołaj funkcję niestandardową.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Jeśli klikniesz Wywołaj funkcję niestandardową, pojawi się okno dialogowe. Wprowadź AddValues ​​jako nazwę kolumny i wybierz Add2Values ​​jako Zapytanie o funkcję. Następnie ustaw wartości dla każdego parametru.

W tym przykładzie wartości znajdują się w kolumnach 1 i 2.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Możesz zobaczyć, że do tabeli została dodana nowa kolumna. Wartości wewnątrz kolumny są sumą wartości wierszy w kolumnach 1 i 2.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Usuwanie argumentu

Jeśli usuniesz jeden z argumentów w formule, wartości w nowej kolumnie zwrócą błąd . W tym przykładzie Kolumna2 została usunięta z formuły.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Jeśli klikniesz miejsce obok wartości błędu, pod okienkiem podglądu zobaczysz komunikat o błędzie.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Funkcja niestandardowa ma wymagany zestaw parametrów, który pozwala nam tworzyć opcjonalne parametry funkcji.

W następnym kroku wróć do zapytania funkcji Add2Values ​​i otwórz okno Edytora zaawansowanego. Następnie dodaj opcjonalne słowo kluczowe w nawiasie i kliknij Gotowe.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Jeśli wrócisz do SumExample Table Query , zobaczysz, że wartości błędów w ostatniej kolumnie zmieniają się na wartości puste. Zastosowanie operatora do wartości zawierających wartość null zawsze zwróci wartość null.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Kolejną rzeczą, o której należy pamiętać, jest to, że Function Query akceptuje argumenty dowolnego typu. Może to potencjalnie powodować problemy, ponieważ możesz przekazać wartość tekstową i zgłosić kolejny błąd. Operatora dodawania nie można zastosować do operandów tego typu danych.

W oknie Edytora zaawansowanego można wpisywać funkcje, dodając słowo kluczowe jako . Oprócz wpisywania parametrów, możesz także przypisać zwracany typ do funkcji po nawiasach.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Dodawanie argumentu

Dodanie zbyt wielu argumentów spowoduje również otrzymanie wartości błędów. Jeśli wprowadzisz Kolumny 2 i 3 na pasku formuły, ostatnia kolumna pokaże wartości błędów.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Ponownie, jeśli klikniesz miejsce obok wartości błędu, zobaczysz komunikat o błędzie pod okienkiem podglądu.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Istnieje funkcja M , która pomaga radzić sobie z taką sytuacją. Najpierw utwórz nowe puste zapytanie i wprowadź funkcję Function.From na pasku formuły. Następnie zobaczysz dokumentację funkcji.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Aby zademonstrować, zduplikuj zapytanie funkcyjne Add2Values ​​i otwórz okno Edytora zaawansowanego. Następnie wpisz Function.From na początku składni.

Dla pierwszego argumentu wprowadź funkcję jako typ funkcji. Jako drugi argument wpisz List.Sum , aby zsumować wartości i zwrócić listę. Po zakończeniu kliknij OK i zmień nazwę zapytania na AddValues ​​.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Następnie wróć do SumExample Table Query i zmień Function Query na AddValues ​​. Zobaczysz, że kolumna AddValues ​​zawiera teraz sumę wartości każdego wiersza w kolumnie.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Mimo że dwa parametry zostały zadeklarowane tylko w typie funkcji, możesz wywołać funkcję z dowolną liczbą argumentów. Dzieje się tak, ponieważ wszystkie argumenty są scalane w jedną listę przed przekazaniem jej do funkcji.

To, jak nazwiesz swoje parametry, nie ma znaczenia.

Jeśli piszesz funkcję niestandardową w ramach Function.From i musisz odwołać się do elementu, musisz użyć operatora indeksu pozycyjnego, aby uzyskać dostęp do elementu na liście.

Zrozumienie funkcji jednoargumentowych

Funkcje jednoargumentowe to funkcje, które widzisz cały czas. Wiele standardowych funkcji bibliotecznych przyjmuje funkcje jako argumenty, a te funkcje parametryczne są często jednoargumentowe. Oznacza to, że funkcja przyjmuje tylko jeden argument.

Jako przykład dodaj przykładowe zapytanie filtru, tworząc nowe puste zapytanie. Następnie otwórz okno Edytora zaawansowanego i wprowadź następującą składnię.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Po zakończeniu zobaczysz tabelę z kolumnami CustomerID i Name w okienku podglądu. Nadaj kwerendzie nazwę FilterExample .

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Pisanie kodów w zapytaniu funkcji

Zamiast używać interfejsu użytkownika do generowania kodu, możesz po prostu napisać kod samodzielnie. Jeśli chcesz wybrać wiersze, w których identyfikator klienta jest większy niż 2, kliknij fx obok paska formuły, aby ręcznie wprowadzić krok. Dodatek Power Query automatycznie zwraca nazwę zmiennej ostatniego kroku w okienku Zastosowane kroki.

Następnie wprowadź funkcję Table.SelectRows i jej argumenty na pasku formuły. Pierwszy i drugi argument muszą być odpowiednio tabelą i warunkiem jako funkcją. W tym przykładzie pierwszym argumentem jest ChType, a drugim argumentem jest funkcja niestandardowa, która zwraca identyfikator klienta większy niż 2.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Innym sposobem jest użycie słowa kluczowego each , które jest skrótem funkcji jednoargumentowej. Pobiera jedną bezimienną zmienną jako argument i jest reprezentowana przez podkreślenie ( _ ). Aby zademonstrować, otwórz okno Edytora zaawansowanego i zmień funkcję niestandardową.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Po naciśnięciu Gotowe zobaczysz, że generuje te same wyniki.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Aby poprawić czytelność formuły, podczas uzyskiwania dostępu do pól lub kolumn można pominąć podkreślenie.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Jeśli wrócisz do okna Edytora zaawansowanego i usuniesz podkreślenie w funkcji niestandardowej, nadal będzie ona zwracać te same wyniki.

Zapytanie funkcyjne i operatorzy w edytorze zapytań

Wszystkie wyrażenia są sobie równe. Ale z punktu widzenia czytelności i pisania, ostatnia wersja jest zdecydowanie łatwiejsza do zrozumienia. Podczas tworzenia tego kroku za pomocą interfejsu użytkownika silnik M używa notacji skróconej.


Funkcja M dla tabeli dat – jak dodać parametr w edytorze zapytań
Tworzenie niestandardowej funkcji czyszczenia tekstu w Power Query

Wniosek

Zapytanie funkcyjne wykorzystuje i maksymalizuje funkcje w celu uzyskania danych. Pomagają wydobyć lub zebrać określone informacje z tabeli lub źródła w celu uzyskania wyników. Możesz użyć tych funkcji, aby skutecznie utworzyć raport dotyczący danych i poprawić swoje umiejętności opracowywania danych.

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.