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éme Pochopenie funkcií Power Query M a Používanie vlastných funkcií.
Vytvorenie a vyvolanie jednoduchej vlastnej funkcie pomocou Rozšírený editor
Nasledujúci príklad zobrazuje jednoduchú vlastnú funkciu, ktorá sa riadi dlhoročnou tradíciou programovania.
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.
Dotaz
HelloWorldste zmenili 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ú sa na tablu Dotazy ako dotaz s predvoleným názvom Vyvolaná funkcia. Môžete ho premenovať na niečo zmysluplnejšie, 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.
Dotaz
MyHexste zmenili na vlastnú funkciu. Všimnite si ikonu funkcie
naľavo od nej.Ak chcete funkciu vyvolať, vyberte ju. V ukážke údajov zadajte číslo do poľa parameter1 a vyberte možnosť Vyvolať.
Výsledky funkcie sa zobrazia v ukážke údajov. Power Query pridá výsledky na tablu Dotazy ako dotaz s predvoleným názvom Vyvolaná funkcia. Môžete ho premenovať na niečo zmysluplnejšie, 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 vytvoríte funkciu s aspoň jedným parametrom, môžete ju vyvolať ako vlastnú funkciu na vytvorenie nového stĺpca a novej hodnoty 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
MyHexpodľ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 Celé číslo, ktorý ste zadali ako parameter.
Pozrite tiež
Pomocník doplnku Power Query pre Excel
Vytvorenie parametrického dotazu (Power Query)