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:
- V Rozšířeném editoru můžete přidat vlastní příkaz let a začít úplně od začátku.
- Použijte příkaz Vyvolat vlastní funkci .
- Existují další způsoby, jak vytvářet funkce, které nejsou uvedené v tomto tématu nápovědy, včetně příkazů Create Function a Add as a Query . Podrobnější informace najdete v tématech Principy funkcí M v Power Query a Použití vlastních funkcí.
Vytvoření a vyvolání jednoduché vlastní funkce v Rozšířeném editoru
Následující příklad ukazuje jednoduchou vlastní funkci, která dodržuje dlouhou tradici programování.
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 na prázdné místo v podokně Dotazy vlevo a pak vyberte Nový dotaz>.Jiné zdroje>Prázdný dotaz.
V podokně dotazů vlevo poklikejte na název a pak přejmenujte nový prázdný dotaz na
HelloWorld.Vyberte nový dotaz a pak vyberte DomůRozšířený> editor.
Nahraďte počáteční kód šablony následujícím kódem:
let
HelloWorld = () => ("Hello World")
in
HelloWorldVyberte Hotovo.
Změnili jste dotaz na vlastní funkci.
HelloWorldVšimněte si ikony
nalevo od ní.Funkci vyvoláte tak, že ji vyberete a pak v náhledu dat vyberete Vyvolat .
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. Soubor můžete přejmenovat na něco smysluplnějšího, například
HelloWorldResult.Vyberte tento dotaz a pak vyberte Domů>Zavřít & Načíst a podívejte se na výsledky v listu.
Výsledky:
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é.
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 na prázdné místo v podokně Dotazy vlevo a pak vyberte Nový dotaz>.Jiné zdroje>Prázdný dotaz.
V levém podokně dotazů přejmenujte nový prázdný dotaz na
MyHex.Vyberte nový dotaz a pak vyberte DomůRozšířený> editor.
Nahraďte počáteční kód šablony následujícím kódem:
let
MyHex = (parameter1) => Number.ToText(parameter1,"X")
in
MyHexVyberte Hotovo.
Změnili jste dotaz na vlastní funkci.
MyHexVšimněte si ikony
nalevo od ní.Funkci vyvoláte tak, že ji vyberete. V náhledu dat zadejte číslo do pole parametr1 a vyberte Vyvolat.
Výsledky funkce se zobrazí v náhledu dat. Power Query přidá výsledky do podokna Dotazy jako dotaz s výchozím názvem Funkce Vyvolaná. Soubor můžete přejmenovat na něco smysluplnějšího, například
MyHexResult.Vyberte tento dotaz a pak vyberte Domů>Zavřít & Načíst a podívejte se na výsledky v listu.
Výsledky:
Přidání sloupce vyvoláním vlastní funkce
Pokud vytvoříte funkci s alespoň jedním parametrem, můžete ji vyvolat jako vlastní funkci a vytvořit nový sloupec a novou hodnotu pro každý řádek v tabulce.
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 .
MyHexVytvořte vlastní funkci, jak je vysvětleno v části Vytvoření a vyvolání vlastní funkce, která má parametr v Rozšířeném editoru.V dotazu vyberte Přidat sloupec>Vyvolat vlastní funkci. Zobrazí se dialogové okno Vyvolat vlastní funkci .
Do pole Nový název sloupce zadejte nový název, například
HexConvert.V rozevíracím seznamu dotazu na funkci vyberte název předdefinované vlastní funkce. V tomto příkladu vyberte
MyHexmožnost .Protože vlastní funkce odkazuje na parametr, zobrazí se teď parametr.
Vyberte sloupec s datovým typem Celé číslo jako parametr funkce.
Vyberte OK.
Výsledek
Vytvoří se nový sloupec, který zobrazuje šestnáctkovou hodnotu sloupce Celé číslo, který jste zadali jako parametr.
Viz také
Nápověda pro doplněk Power Query pro Excel
Vytvoření parametrického dotazu (Power Query)