Applies ToExcel 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 vrátí jednu výstupní hodnotu. Pokud máte logiku, kterou chcete opakovaně použít kolikrát, nebo stejnou sadu transformací použít u jiného dotazu nebo hodnoty, zvažte vytvoření vlastní funkce a potom vyvolání funkce, kde a kdy ji potřebujete. Vlastní funkci můžete vytvořit několika způsoby: 

  • Pomocí rozšířeného editoru můžete přidat vlastní příkaz let a začít od začátku.

  • Použijte příkaz Vyvolat vlastní funkci.

  • Existují další způsoby, jak vytvořit funkce, které nejsou popsané v tomto tématu nápovědy, včetně příkazů Vytvořit funkci a Přidat jako dotaz. Podrobné informace najdete v tématu Principy funkcí Power Query M (docs.com)a Použití vlastních funkcí (docs.com).

Následuje jednoduchý příklad vlastní funkce, která dodržuje dlouholetou programovací tradicí.

  1. Vytvoření prázdného dotazu: Excel vyberte> 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 potom vyberte Nový dotaz > Další zdroje > Prázdný dotaz.

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

  3. Vyberte nový dotaz a potom vyberte Home> Advanced Editor ( Rozšířený editor).

  4. Nahraďte úvodní 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 Ikona funkce nalevo od ní.

  7. Pokud chcete funkci vyvolat, vyberte ji a pak vyberte Vyvolat v náhledu dat.Vyvolání vlastní funkce HelloWorld

  8. Výsledky funkce se zobrazí v náhledu dat a přidávají 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 "HelloWorldResult".

  9. Vyberte tento dotaz a pak vyberte Domů> Zavřít & Načíst, abyste viděli výsledky na listu.

Výsledky 

Výsledky HelloWorldu na listu

Následující příklad ukazuje, jak předat parametr vlastní funkci a převést desetinné číslo na šestnáctkové.

  1. Vytvoření prázdného dotazu: Excel vyberte> 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 potom vyberte Nový dotaz > Další zdroje > Prázdný dotaz.

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

  3. Vyberte nový dotaz a potom vyberte Home> Advanced Editor ( Rozšířený editor).

  4. Nahraďte úvodní 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 Ikona funkce nalevo od ní.

  7. Pokud chcete funkci vyvolat, vyberte ji a pak v náhledu dat zadejte číslo do pole parametr1 a vyberte Vyvolat.

    Vyvolání vlastní funkce MyHex

  8. Výsledky funkce se zobrazí v náhledu dat a přidávají 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, abyste viděli výsledky na listu.

Výsledky 

Výsledek funkce MyHex na listu

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

  1. Pokud chcete otevřít dotaz, vyhledejte dříve načtený dotaz z Power Query Editoru, vyberte buňku v datech a pak vyberte Dotaz > Upravit. Další informace najdete v tématu Vytvoření, úprava a načtení dotazu v Excel (Power Query).Poznámka:    V tomto příkladu potřebuje váš dotaz aspoň 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 s rozšířeným editorem.

  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 sloupce, například HexConvert.

  5. V rozevíracím seznamu Funkční dotaz vyberte název předdefinované vlastní funkce. V tomto příkladu vyberte "MyHex".

  6. Vzhledem k tomu, že vlastní funkce odkazuje na parametr, zobrazí se tento parametr.

  7. Vyberte sloupec datového typu Celé číslo jako parametr funkce.Dialogové okno Vyvolat vlastní funkci

  8. Vyberte OK.

Výsledek

Vytvoří se nový sloupec zobrazující šestnáctkové hodnoty sloupce Celé číslo, který jste zadali jako parametr.

Nový sloupec MyHex hodnot v listu

Viz také

Power Query pro Excel nápovědu

Vytvoření vzorců Power Query v Excel

Vytvoření parametrizovaného dotazu

Správa dotazů

Principy funkcí Power Query M (docs.com)

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

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.