Vytvoření a vyvolání vlastní funkce

Platí pro
Excel pro Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

Vlastní funkce používá jazyk vzorců M, přebírá sadu vstupních hodnot a vrací jednu výstupní hodnotu. Pokud máte logiku, kterou chcete mnohokrát použít nebo použít stejnou sadu transformací na jiný dotaz nebo hodnotu, zvažte vytvoření vlastní funkce a její následné vyvolání kdekoli a kdykoli ji potřebujete. Existuje několik způsobů, jak vytvořit vlastní funkci:

Vytvoření a vyvolání jednoduché vlastní funkce v Rozšířeném editoru

Následuje jednoduchý příklad vlastní funkce, která následuje dlouhou tradici programování.

  1. Vytvoření prázdného dotazu:

    Excelová aplikace Výběr možnosti Získat>data>z jiných zdrojů>Prázdný dotaz

    Power Query Klikněte pravým tlačítkem myši na prázdné místo v podokně Dotazy vlevo a pak vyberte Nový dotaz>.Jiné zdroje>Prázdný dotaz.

  2. V podokně dotazů vlevo poklikejte na název a pak přejmenujte nový prázdný dotaz na HelloWorld.

  3. Vyberte nový dotaz a pak vyberte DomůRozšířený> editor.

  4. Nahraďte počáteční kód šablony následujícím kódem:
    let
         HelloWorld = () => ("Hello World")
    in
         HelloWorld

  5. Vyberte Hotovo.

  6. Změnili jste dotaz HelloWorld na vlastní funkci. Všimněte si ikony funkce Ikona funkce nalevo od ní.

  7. Funkci vyvoláte tak, že ji vyberete a pak v náhledu dat vyberete Vyvolat .

    Vyvolání vlastní funkce HelloWorld

  8. Výsledky funkce se zobrazí v náhledu dat a přidají se do podokna Dotazy jako dotaz s výchozím názvem Vyvolaná funkce. Můžete ho přejmenovat na něco smysluplnějšího, třeba "HelloWorldResult".

  9. Vyberte tento dotaz a pak vyberte Domů>Zavřít & Načíst a podívejte se na výsledky v listu.

Výsledky:

Výsledky HelloWorld v listu

Vytvoření a vyvolání vlastní funkce, která má parametr, pomocí Rozšířeného editoru

Následující příklad ukazuje, jak předat parametr vlastní funkci pro převod desítkového čísla na šestnáctkové.

  1. Vytvoření prázdného dotazu:

    Excelová aplikace Výběr možnosti Získat>data>z jiných zdrojů>Prázdný dotaz

    Power Query Klikněte pravým tlačítkem myši na prázdné místo v podokně Dotazy vlevo a pak vyberte Nový dotaz>.Jiné zdroje>Prázdný dotaz.

  2. V podokně Dotazy vlevo přejmenujte nový prázdný dotaz na "MyHex".

  3. Vyberte nový dotaz a pak vyberte DomůRozšířený> editor.

  4. Nahraďte počáteční kód šablony následujícím kódem:
    let
         MyHex = (parameter1) => Number.ToText(parameter1,"X")
    in
         MyHex

  5. Vyberte Hotovo.

  6. Změnili jste dotaz "MyHex" na vlastní funkci. Všimněte si ikony funkce Ikona funkce nalevo od ní.

  7. Funkci vyvoláte tak, že ji vyberete a pak v náhledu dat zadáte číslo do pole parametr1 a vyberete Vyvolat.
    Vyvolání vlastní funkce MyHex

  8. Výsledky funkce se zobrazí v náhledu dat a přidají se do podokna Dotazy jako dotaz s výchozím názvem Invoked Function. Můžete ho přejmenovat na něco smysluplnějšího, třeba "MyHexResult".

  9. Vyberte tento dotaz a pak vyberte Domů>Zavřít & Načíst a podívejte se na výsledky v listu.

Výsledky:

Výsledek funkce MyHex na listu

Přidání sloupce vyvoláním vlastní funkce

Pokud jste vytvořili funkci s alespoň jedním parametrem, můžete ji vyvolat jako vlastní funkci, která vytvoří nový sloupec a novou hodnotu pro každý řádek v tabulce.

  1. Pokud chcete otevřít dotaz, vyhledejte dotaz načtený dříve z Editor Power Query, vyberte buňku v datech a pak vyberte Upravit dotaz>. Další informace najdete v tématu Vytvoření, úprava a načtení dotazu v Excelu (Power Query).

    Poznámka V tomto příkladu dotaz potřebuje alespoň jeden sloupec datového typu Celé číslo .

  2. Vytvořte vlastní funkci "MyHex", jak je vysvětleno v části Vytvoření a vyvolání vlastní funkce, která má parametr v Rozšířeném editoru.

  3. V dotazu vyberte Přidat sloupec>Vyvolat vlastní funkci. Zobrazí se dialogové okno Vyvolat vlastní funkci .

  4. Do pole Nový název sloupce zadejte nový název, například HexConvert.

  5. V rozevíracím seznamu dotazu na funkci vyberte název předdefinované vlastní funkce. V tomto příkladu vyberte "MyHex".

  6. Protože vlastní funkce odkazuje na parametr, zobrazí se teď parametr.

  7. Vyberte sloupec s datovým typem Celé číslo jako parametr funkce.

    Dialogové okno Vyvolat vlastní funkci

  8. Vyberte OK.

Výsledek

Vytvoří se nový sloupec, který zobrazuje šestnáctkovou hodnotu sloupce Celé číslo, který jste zadali jako parametr.

Nový sloupec hodnot MyHex v listu

Viz také

Nápověda pro doplněk Power Query pro Excel

Vytváření vzorců Power Query v Excelu

Vytvoření parametrického dotazu

Správa dotazů

Principy funkcí Power Query M (docs.com)

Použití vlastních funkcí (docs.com)