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 pak vrací jednu výstupní hodnotu. Pokud máte logiku, kterou chcete opakovaně použít nebo použít stejnou sadu transformací na jiný dotaz nebo hodnotu, zvažte vytvoření vlastní funkce a následné vyvolání funkce tam, kde ji potřebujete. Vlastní funkci můžete vytvořit několika způsoby: 

Následuje jednoduchý příklad vlastní funkce, která se řídí dlouhou programovací tradici.

  1. Vytvoření prázdného dotazu:Excel    Vyberte Data > 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 na levé straně a pak vyberte Nový dotaz > Další zdroje > Prázdný dotaz.

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

  3. Vyberte nový dotaz a pak vyberte Domů > 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 funkce Ikona Funkce vlevo od ní.

  7. Pokud chcete funkci vyvolat, vyberte ji a pak vyberte Volat v náhledu dat.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, například "HelloWorldResult".

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

Výsledky 

Výsledky HelloWorld na listu

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

  1. Vytvoření prázdného dotazu:Excel    Vyberte Data > 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 na levé straně a pak vyberte Nový dotaz > Další zdroje > Prázdný dotaz.

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

  3. Vyberte nový dotaz a pak vyberte Domů > 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 funkce Ikona Funkce vlevo od ní.

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

    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 Vyvolaná funkce. Můžete ho přejmenovat na něco smysluplnějšího, například "MyHexResult".

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

Výsledky 

Výsledek funkce MyHex na listu

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

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

  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 Dotaz na funkci vyberte název předdefinované vlastní funkce. V tomto příkladu vyberte MyHex.

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

  7. Jako parametr funkce vyberte sloupec datového typu Celé číslo .The Invoke Custom Function dialog box

  8. Vyberte OK.

Výsledek

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

Nový sloupec MyHex s hodnotami 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)

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.