Vlastná funkcia používa jazyk vzorcov M, vezme množinu vstupných hodnôt a vráti jednu výstupnú hodnotu. Ak používate logiku, ktorú chcete použiť viackrát alebo použiť rovnakú množinu transformácií na iný dotaz alebo hodnotu, zvážte vytvorenie vlastnej funkcie a jej vyvolanie podľa potreby. Vlastnú funkciu možno vytvoriť niekoľkými spôsobmi:
- Pomocou Rozšírený editor môžete pridať vlastný príkaz let a začať úplne od začiatku.
- Použite príkaz Vyvolať vlastnú funkciu .
- Existujú aj ďalšie spôsoby vytvárania funkcií, ktoré nie sú popísané v tejto téme Pomocníka, vrátane príkazov Vytvoriť funkciu a Pridať ako dotaz. Podrobnú diskusiu nájdete v témach Porozumenie funkciám Power Query M (docs.com) a Používanie vlastných funkcií (docs.com).
Vytvorenie a vyvolanie jednoduchej vlastnej funkcie pomocou Rozšírený editor
Toto je jednoduchý príklad vlastnej funkcie, ktorá má dlhoročnú programovaciu tradíciu.
Vytvorenie prázdneho dotazu:
Excel Vyberte položku Údaje>získať údaje>z iných zdrojov>Prázdny dotaz.
Power Query Kliknite pravým tlačidlom myši na prázdne miesto na table Dotazy vľavo a potom vyberte položku Nový dotaz>Prázdny dotaz ziných zdrojov>.
Na table Dotazy na ľavej strane dvakrát kliknite na názov a potom premenujte nový prázdny dotaz na "HelloWorld".
Vyberte nový dotaz a potom vyberte položku Rozšírený editorDomov>.
Nahraďte úvodný kód šablóny týmto kódom:
let
HelloWorld = () => ("Hello World")
in
HelloWorldVyberte položku Hotovo.
Zmenili ste dotaz HelloWorld na vlastnú funkciu. Všimnite si ikonu funkcie
naľavo od nej.Ak chcete funkciu vyvolať, vyberte ju a potom vyberte položku Vyvolať v ukážke údajov.
Výsledky funkcie sa zobrazia v ukážke údajov a pridajú na tablu Dotazy ako dotaz s predvoleným názvom Vyvolaná funkcia. Môžete ho premenovať na niečo zmysluplnejšie, ako je napríklad HelloWorldResult.
Vyberte tento dotaz a potom vyberte položku Domov,>Zavrieť & Načítať , aby sa výsledky zobrazili v hárku.
Výsledky
Vytvorenie a vyvolanie vlastnej funkcie, ktorá má parameter pomocou Rozšírený editor
Nasledujúci príklad zobrazuje postup odovzdania parametra do vlastnej funkcie, pomocou ktorej sa skonvertuje desiatkové číslo na šestnástkové.
Vytvorenie prázdneho dotazu:
Excel Vyberte položku Údaje>získať údaje>z iných zdrojov>Prázdny dotaz.
Power Query Kliknite pravým tlačidlom myši na prázdne miesto na table Dotazy vľavo a potom vyberte položku Nový dotaz>Prázdny dotaz ziných zdrojov>.
Na table Dotazy na ľavej strane premenujte nový prázdny dotaz na MyHex.
Vyberte nový dotaz a potom vyberte položku Rozšírený editorDomov>.
Nahraďte úvodný kód šablóny týmto kódom:
let
MyHex = (parameter1) => Number.ToText(parameter1,"X")
in
MyHexVyberte položku Hotovo.
Zmenili ste dotaz MyHex na vlastnú funkciu. Všimnite si ikonu funkcie
naľavo od nej.Ak chcete funkciu vyvolať, vyberte ju a potom v ukážke údajov zadajte číslo do poľa parameter1 a vyberte položku Vyvolať.
Výsledky funkcie sa zobrazia v ukážke údajov a pridajú na tablu Dotazy ako dotaz s predvoleným názvom Vyvolaná funkcia. Môžete ho premenovať na niečo zmysluplnejšie, ako je napríklad MyHexResult.
Vyberte tento dotaz a potom vyberte položku Domov,>Zavrieť & Načítať , aby sa výsledky zobrazili v hárku.
Výsledky
Pridanie stĺpca vyvolaním vlastnej funkcie
Ak ste vytvorili funkciu s aspoň jedným parametrom, môžete ju vyvolať ako vlastnú funkciu a vytvoriť tak nový stĺpec a novú hodnotu pre každý riadok v tabuľke.
Ak chcete otvoriť dotaz, vyhľadajte dotaz, ktorý bol predtým načítaný z Editor Power Query, vyberte bunku v údajoch a potom vyberte položku Upraviť dotaz>. Ďalšie informácie nájdete v téme Vytvorenie, úprava a načítanie dotazu v Exceli (Power Query).
Poznámka V tomto príklade musí dotaz obsahovať aspoň jeden stĺpec s typom údajov Celé číslo .
Vytvorte vlastnú funkciu MyHex podľa vysvetlenia v časti Vytvorenie a vyvolanie vlastnej funkcie, ktorá má parameter pomocou Rozšírený editor.
V dotaze vyberte položku Pridať stĺpec>Vyvolať vlastnú funkciu. Zobrazí sa dialógové okno Vyvolanie vlastnej funkcie .
Do poľa Názov nového stĺpca zadajte názov nového stĺpca, napríklad HexConvert.
V rozbaľovacom zozname Dotaz na funkciu vyberte názov preddefinovanej vlastnej funkcie. V tomto príklade vyberte položku MyHex.
Keďže vlastná funkcia odkazuje na parameter, parameter sa teraz zobrazuje.
Vyberte stĺpec s typom údajov Celé číslo ako parameter funkcie.
Vyberte tlačidlo OK.
Výsledok
Vytvorí sa nový stĺpec zobrazujúci šestnástkovú hodnotu stĺpca s celým číslom, ktorý ste zadali ako parameter.
Pozrite tiež
Pomocník doplnku Power Query pre Excel
Vytvorenie vzorcov Power Query v Exceli
Vytvorenie parametrického dotazu