Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

Funkcja niestandardowa używa języka formułY M, pobiera zestaw wartości wejściowych, a następnie zwraca pojedynczą wartość wyjściową. Jeśli masz logikę potrzebną do wielokrotnego użycia lub zastosowania tego samego zestawu przekształceń do innego zapytania lub innej wartości, rozważ utworzenie funkcji niestandardowej, a następnie użycie funkcji w miejscu i czasie. Funkcję niestandardową można utworzyć na kilka sposobów: 

  • Użyj Edytora zaawansowanego, aby dodać własne oświadczenie let i zacząć od podstaw.

  • Użyj polecenia Wywołaj funkcję niestandardową.

  • Istnieją dodatkowe sposoby tworzenia funkcji, które nie zostały omówione w tym temacie pomocy, w tym polecenia Utwórz funkcję i Dodaj jako polecenia zapytania. Aby uzyskać szczegółowe omówienie, zobacz Opis funkcji M (funkcje M) dodatku Power Query (docs.com)i Używanie funkcji niestandardowych (docs.com).

Poniższy przykład jest prostym przykładem funkcji niestandardowej, która jest zgodna z od dawna zasadami programowania.

  1. Aby utworzyć puste zapytanie: wybierz Excel pozycję> Pobierz > z innych

          źródeł > puste zapytanie.

    Power Query      Kliknij prawym przyciskiem myszy puste miejsce w okienku Zapytania po lewej stronie, a następnie wybierz pozycję Nowe zapytanie > Inne źródła > puste zapytanie.

  2. W okienku Zapytania po lewej stronie kliknij dwukrotnie nazwę, a następnie zmień nazwę nowego pustego zapytania na "HelloWorld".

  3. Wybierz nowe zapytanie, a następnie wybierz pozycję Narzędzia>Edytor zaawansowany.

  4. Zamień kod startowy szablonu na następujący kod:

    let
         HelloWorld = () => ("Hello World")
    in
         HelloWorld

  5. Wybierz pozycję Gotowe.

  6. Zmieniono zapytanie "HelloWorld" na funkcję niestandardową. Zwróć uwagę, że Ikona funkcji z lewej strony.

  7. Aby wywołać funkcję, zaznacz ją, a następnie wybierz pozycję Wywołaj w podglądzie danych.

    Odwoływowanie się do funkcji niestandardowej HelloWorld

  8. Wyniki funkcji są wyświetlane w podglądzie danych i dodawane do okienka Zapytania jako zapytanie o nazwie domyślnej Invoked Function. Możesz zmienić jego nazwę na bardziej opisową, na przykład "HelloWorldResult".

  9. Zaznacz to zapytanie, a następnie wybierz pozycję Narzędzia> zamknij & Załaduj, aby wyświetlić wyniki w arkuszu.

Wyniki 

Wyniki helloworld w arkuszu

W poniższym przykładzie pokazano, jak przekazać parametr do funkcji niestandardowej w celu przekonwertowania liczby dziesiętnej na liczbę w postaci szesnastkowej.

  1. Aby utworzyć puste zapytanie: wybierz Excel pozycję> Pobierz > z innych

          źródeł > puste zapytanie.

    Power Query      Kliknij prawym przyciskiem myszy puste miejsce w okienku Zapytania po lewej stronie, a następnie wybierz pozycję Nowe zapytanie > Inne źródła > puste zapytanie.

  2. W okienku Zapytania po lewej stronie zmień nazwę nowego pustego zapytania na "MyHex".

  3. Wybierz nowe zapytanie, a następnie wybierz pozycję Narzędzia>Edytor zaawansowany.

  4. Zamień kod startowy szablonu na następujący kod:

    let
         MyHex = (parameter1) => Number.ToText(parameter1,"X")
    in
         MyHex

  5. Wybierz pozycję Gotowe.

  6. Zmieniono zapytanie "MyHex" na funkcję niestandardową. Zwróć uwagę, że Ikona funkcji z lewej strony.

  7. Aby wywołać funkcję, zaznacz ją, a następnie w oknie Podgląd danych wprowadź liczbę w polu parametru1 i wybierz pozycję Wywołaj.

    Odwoływanie się do funkcji niestandardowej MyHex

  8. Wyniki funkcji są wyświetlane w podglądzie danych i dodawane do okienka Zapytania jako zapytanie o nazwie domyślnej Invoked Function. Możesz zmienić jego nazwę na bardziej opisową, na przykład "MyHexResult".

  9. Zaznacz to zapytanie, a następnie wybierz pozycję Narzędzia> zamknij & Załaduj, aby wyświetlić wyniki w arkuszu.

Wyniki 

Wynik funkcji MyHex w arkuszu

Jeśli utworzono funkcję z co najmniej jednym parametrem, można ją wywołać jako funkcję niestandardową w celu utworzenia nowej kolumny i nowej wartości dla każdego wiersza w tabeli.

  1. Aby otworzyć zapytanie, znajdź wcześniej załadowaną komórkę w Edytorze dodatku Power Query, zaznacz komórkę w danych, a następnie wybierz pozycję Zapytanie i> Edytuj. Aby uzyskać więcej informacji, zobacz Tworzenie, edytowanie i ładowanie zapytania w dodatku Excel (Power Query).

    Uwaga    W tym przykładzie zapytanie wymaga co najmniej jednej kolumny typu danych Cała liczba.

  2. Utwórz funkcję niestandardową "MyHex", zgodnie z sekcją Tworzenie i wywoływanie funkcji niestandardowej z parametrem w Edytorze zaawansowanym.

  3. W zapytaniu wybierz pozycję Dodaj kolumnę, > wywołaj funkcję niestandardową. Zostanie wyświetlone okno dialogowe Wywoływanie funkcji niestandardowej.

  4. W polu Nazwa nowej kolumny wprowadź nazwę nowej kolumny, na przykład "HexConvert".

  5. Wybierz nazwę wstępnie zdefiniowanej funkcji niestandardowej z listy rozwijanej zapytanie funkcji. W tym przykładzie wybierz pozycję "MyHex".

  6. Ponieważ funkcja niestandardowa odwołuje się do parametru, parametr jest teraz wyświetlany.

  7. Zaznacz kolumnę typu danych Liczba cała jako parametr funkcji.

    Okno dialogowe Wywoływanie funkcji niestandardowej

  8. Wybierz przycisk OK.

Wynik

Zostanie utworzona nowa kolumna z wartością szesnastkową kolumny Liczba cała wprowadzona jako parametr.

Nowa kolumna wartości MyHex w arkuszu

Zobacz również

Power Query dla Excel Pomocy

Tworzenie formuł dodatku Power Query w programie Excel

Tworzenie zapytania parametryowego

Zarządzanie zapytaniami

Opis funkcji M dodatku Power Query (docs.com)

Używanie funkcji niestandardowych (docs.com)

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×