Applies ToExcel pre Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

Vlastná funkcia používa jazyk vzorcov M, vezme množinu vstupných hodnôt a potom vráti jednu výstupnú hodnotu. Ak máte logiku, ktorú chcete opakovane použiť veľakrát alebo použiť rovnakú množinu transformácií na iný dotaz alebo hodnotu, zvážte vytvorenie vlastnej funkcie a potom vyvolanie funkcie tam a v prípade potreby. Existuje niekoľko spôsobov, ako vytvoriť vlastnú funkciu: 

  • Pomocou rozšíreného editora môžete pridať vlastný príkaz let a začať od začiatku.

  • Použite príkaz Vyvolanie vlastnej funkcie.

  • Existujú ďalšie spôsoby na vytvorenie funkcií, ktoré v tejto téme Pomocníka nie sú popísané, vrátane príkazov Vytvoriť funkciu a Pridať ako dotaz. Podrobné informácie nájdete v téme Informácie o funkciách M doplnku Power Query (docs.com)a Používanie vlastných funkcií (docs.com).

Nasledujúci príklad je jednoduchým príkladom vlastnej funkcie, ktorá je v podržanej programovacom slovníku.

  1. Vytvorenie prázdneho dotazu: kliknite Excel      Položky Vybrať > > Z iných zdrojov > Prázdny dotaz.Power Query      Kliknite pravým tlačidlom myši na prázdne miesto na table Dotazy na ľavej strane a potom vyberte položku Nový dotaz > z iných > prázdny dotaz.

  2. Na table Dotazy na ľavej strane dvakrát kliknite na názov a potom premenujte nový prázdny dotaz na "HelloWorld".

  3. Vyberte nový dotaz a potom vyberte položku Domov> rozšírený editor.

  4. Nahraďte štartovací kód šablóny nasledujúcim kódom:

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

  5. Vyberte položku Hotovo.

  6. Zmenili ste dotaz "HelloWorld" na vlastnú funkciu. Všimnite si ikonu Ikona funkcie naľavo od nej.

  7. Ak chcete funkciu vyvolať, vyberte ju a potom vyberte položku Vyvolať v ukážke údajov.Vyvolanie vlastnej funkcie HelloWorld

  8. Výsledky funkcie sa zobrazia v ukážke údajov a pridajú sa na tablu Dotazy ako dotaz s predvoleným názvom , Funkcia sa vyvolá. Môžete ho premenovať a použiť zmysluplnejší názov, napríklad "HelloWorldResult".

  9. Vyberte tento dotaz a potom výberom položky Domov> zavrieť & načítať, aby sa výsledky v hárku videli.

Výsledky 

Results of HelloWorld in a worksheet

Nasledujúci príklad ukazuje, ako preniesť parameter do vlastnej funkcie s cieľom skonvertovať desatinné číslo na šestnástkové číslo.

  1. Vytvorenie prázdneho dotazu: kliknite Excel      Položky Vybrať > > Z iných zdrojov > Prázdny dotaz.Power Query      Kliknite pravým tlačidlom myši na prázdne miesto na table Dotazy na ľavej strane a potom vyberte položku Nový dotaz > z iných > prázdny dotaz.

  2. Na table Dotazy na ľavej strane premenujte nový prázdny dotaz na MyHex.

  3. Vyberte nový dotaz a potom vyberte položku Domov> rozšírený editor.

  4. Nahraďte štartovací kód šablóny nasledujúcim kódom:

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

  5. Vyberte položku Hotovo.

  6. Zmenili ste dotaz MyHex na vlastnú funkciu. Všimnite si ikonu Ikona funkcie naľavo od nej.

  7. Ak chcete funkciu vyvolať, vyberte ju a potom v okne Ukážka údajov zadajte číslo do poľa parameter1 a vyberte položku Vyvolať.

    Vyvolanie vlastnej funkcie MyHex

  8. Výsledky funkcie sa zobrazia v ukážke údajov a pridajú sa na tablu Dotazy ako dotaz s predvoleným názvom , Funkcia sa vyvolá. Môžete ho premenovať a použiť zmysluplnejší názov, napríklad MyHexResult.

  9. Vyberte tento dotaz a potom výberom položky Domov> zavrieť & načítať, aby sa výsledky v hárku videli.

Výsledky 

Výsledok funkcie MyHex v hárku

Ak ste vytvorili funkciu s minimálne jedným parametrom, môžete ju vyvolať ako vlastnú funkciu a vytvoriť nový stĺpec a novú hodnotu pre každý riadok tabuľky.

  1. Ak chcete otvoriť dotaz, vyhľadajte dotaz, ktorý bol predtým načítaný z Editora Power Query, vyberte bunku v údajoch a potom vyberte položku Dotaz > Upraviť. Ďalšie informácie nájdete v téme Vytvorenie, úprava a načítanie dotazu Excel (Power Query).Poznámka    V tomto príklade dotaz potrebuje aspoň jeden stĺpec s typom údajov Celé číslo.

  2. Vytvorte vlastnú funkciu "MyHex", ako je vysvetlené v časti Vytvorenie a vyvolanie vlastnej funkcie s parametrom v rozšírenom editore.

  3. V dotaze vyberte položku Add Column > Invoke Custom Function. Zobrazí sa dialógové okno Vyvolanie vlastnej funkcie.

  4. Do poľa Názov nového stĺpca zadajte nový názov stĺpca, napríklad HexConvert.

  5. V rozbaľovacom zozname Funkčný dotaz vyberte názov preddefinovanej vlastnej funkcie. V tomto príklade vyberte možnosť "MyHex".

  6. Keďže vlastná funkcia odkazuje na parameter, zobrazí sa parameter.

  7. Ako parameter funkcie vyberte stĺpec typu údajov Celé číslo.Dialógové okno Vyvolanie vlastnej funkcie

  8. Vyberte položku OK.

Výsledok

Vytvorí sa nový stĺpec so šestnástkovým hodnotou stĺpca Celé číslo, ktorý ste zadali ako parameter.

Nový stĺpec MyHex hodnôt v hárku

Pozrite tiež

Pomocník doplnku Power Query Excel Doplnku

Vytvorenie vzorcov Power Query v Excel

Vytvorenie parametrického dotazu

Správa dotazov

Princíp funkcií M doplnku Power Query (docs.com)

Používanie vlastných funkcií (docs.com)

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.

Komunity pomôžu s kladením otázok a odpovedaním na ne, s poskytovaním pripomienok a so získavaním informácií od odborníkov s bohatými znalosťami.