Pasirinktinė funkcija naudoja M formulės kalbą, priima įvesties reikšmių rinkinį ir grąžina vieną išvesties reikšmę. Jei turite logikos, kurią norite pakartotinai naudoti daug kartų, arba taikote tą patį transformacijų rinkinį į kitą užklausą arba reikšmę, apsvarstykite galimybę sukurti pasirinktinę funkciją ir tada iškviesti funkciją ten, kur ir kada reikia. Yra keli būdai, kaip sukurti pasirinktinę funkciją:
-
Naudokite išplėstinę rengyklę, kad įtrauksite savo sakinį leisti ir pradėtumėte nuo pradžių.
-
Naudokite komandą Iškviesti pasirinktinę funkciją.
-
Yra papildomų būdų, kaip kurti funkcijas, kurios nėra aptariamos šioje žinyno temoje, įskaitant komandas Kurti funkciją ir Įtraukti kaip užklausą. Išsamią diskusiją žr. "Power Query M" funkcijų (docs.com)ir Pasirinktinių funkcijų naudojimas (docs.com).
Toliau pateikiamas paprastas pavyzdys, kaip pasirinktinė funkcija, kuri veikia pagal ilgametes programavimo tradicijas.
-
Norėdami sukurti tuščią užklausą:
Excel Pasirinkite Duomenys> Gauti duomenis > Iš kitų šaltinių >Tuščia užklausa. "Power Query" Dešiniuoju pelės mygtuku spustelėkite tuščią vietą užklausų srityje kairėje, tada pasirinkite Nauja užklausa > Kiti šaltiniai > Tuščia užklausa. -
Kairėje esančioje srityje Užklausos dukart spustelėkite pavadinimą, tada pervardykite naują tuščią užklausą į "HelloWorld".
-
Pasirinkite naują užklausą, tada pasirinkite Pagrindinis > Išplėstinė rengyklė.
-
Pakeiskite šablono pradžios kodą šiuo kodu:
let HelloWorld = () => ("Hello World") in HelloWorld
-
Pasirinkite Atlikta.
-
Pakeitėte užklausą "HelloWorld" į pasirinktinę funkciją. Atkreipkite dėmesį, kad į kairę nuo jos.
-
Norėdami iškviesti funkciją, pasirinkite ją, tada duomenų peržiūroje pasirinkite Iškviesti.
-
Funkcijos rezultatai rodomi duomenų peržiūroje ir įtraukiami į sritį Užklausos kaip užklausa su numatytuoju pavadinimu Iškviesta funkcija. Galite jį pervardyti į prasmingesnį, pvz., "HelloWorldResult".
-
Pasirinkite tą užklausą, tada pasirinkite Pagrindinis > Uždaryti & įkelti, kad pamatytumėte rezultatus darbalapyje.
Rezultatai
Toliau pateiktame pavyzdyje parodyta, kaip perduoti parametrą į pasirinktinę funkciją, kad dešimtainis skaičius būtų konvertuotas į šešioliktainį.
-
Norėdami sukurti tuščią užklausą:
Excel Pasirinkite Duomenys> Gauti duomenis > Iš kitų šaltinių >Tuščia užklausa. "Power Query" Dešiniuoju pelės mygtuku spustelėkite tuščią vietą užklausų srityje kairėje, tada pasirinkite Nauja užklausa > Kiti šaltiniai > Tuščia užklausa. -
Kairėje esančioje srityje Užklausos pervardykite naują tuščią užklausą į "MyHex".
-
Pasirinkite naują užklausą, tada pasirinkite Pagrindinis > Išplėstinė rengyklė.
-
Pakeiskite šablono pradžios kodą šiuo kodu:
let MyHex = (parameter1) => Number.ToText(parameter1,"X") in MyHex
-
Pasirinkite Atlikta.
-
Pakeitėte užklausą "MyHex" į pasirinktinę funkciją. Atkreipkite dėmesį, kad į kairę nuo jos.
-
Norėdami iškviesti funkciją, pažymėkite ją, tada duomenų peržiūroje įveskite skaičių lauke parametras1 ir pasirinkite Iškviesti.
-
Funkcijos rezultatai rodomi duomenų peržiūroje ir įtraukiami į sritį Užklausos kaip užklausa su numatytuoju pavadinimu Iškviesta funkcija. Galite jį pervardyti į prasmingesnį, pvz., "MyHexResult".
-
Pasirinkite tą užklausą, tada pasirinkite Pagrindinis > Uždaryti & įkelti, kad pamatytumėte rezultatus darbalapyje.
Rezultatai
Jei sukūrėte funkciją su bent vienu parametru, galite ją iškviesti kaip pasirinktinę funkciją, kad sukurtumėte naują stulpelį ir naują reikšmę kiekvienai lentelės eilutei.
-
Norėdami atidaryti užklausą, raskite anksčiau įkeltą iš "Power Query" rengyklės, pasirinkite duomenų langelį, tada pasirinkite Užklausa > Redaguoti. Daugiau informacijos žr. Užklausos kūrimas, redagavimas ir įkėlimas Excel ("Power Query"). Pastaba Šiame pavyzdyje užklausai reikia bent vieno duomenų tipo Sveikasis skaičius stulpelio.
-
Sukurkite pasirinktinę funkciją "MyHex", kaip paaiškinta skyriuje, Sukurkite ir iškvieskite pasirinktinę funkciją, kuri turi parametrą su išplėstinė rengykle.
-
Užklausoje pasirinkite Įtraukti stulpelio >Iškviesti pasirinktinę funkciją. Rodomas dialogo langas Iškviesti pasirinktinę funkciją.
-
Lauke Naujas stulpelio pavadinimas įveskite naują stulpelio pavadinimą, pvz., "HexConvert".
-
Išplečiamajame sąraše Funkcija pasirinkite iš anksto apibrėžtos pasirinktinės funkcijos pavadinimą. Šiame pavyzdyje pasirinkite "MyHex".
-
Kadangi pasirinktinė funkcija nurodo parametrą, parametras dabar rodomas.
-
Pasirinkite duomenų tipo Sveikasis skaičius stulpelį kaip funkcijos parametrą.
-
Pasirinkite Gerai.
Rezultatas
Sukuriamas naujas stulpelis, kuriame rodoma kaip parametras įvesto stulpelio Sveikasis skaičius šešioliktainė reikšmė.
Taip pat žr.
"Power Query for Excel" žinynas
"Power Query" formulių kūrimas Excel