Mukautettu funktio käyttää M-kaavakieltä, ottaa joukon syöttöarvoja ja palauttaa sitten yksittäisen tulosarvon. Jos haluat käyttää uudelleen logiikkaa useita kertoja tai käyttää samaa muunnosjoukkoa eri kyselyssä tai arvossa, voit luoda mukautetun funktion ja sitten käyttää funktiota, jossa ja milloin sitä tarvitaan. Mukautetun funktion voi luoda monella tavalla:
-
Lisäeditorin avulla voit lisätä oman let-lauseen ja aloittaa alusta.
-
Käytä Invoke Custom Function -komentoa.
-
On myös muita tapoja luoda funktioita, joita ei käsitellä tässä ohjeessa, kuten Luo funktio- ja Lisää kysely -komennoilla. Lisätietoja on ruuduissa Tietoja Power Query M -funktioista (docs.com)ja Mukautettujen funktioiden käyttäminen (docs.com).
Seuraavassa on yksinkertainen esimerkki mukautetusta funktiosta, joka noudattaa pitkäkestoista ohjelmointiperinteitä.
-
Tyhjän kyselyn luominen:
Excel valitse tiedot>tiedot >muista lähteistä -> tyhjä kysely. Power Query Napsauta hiiren kakkospainikkeella tyhjää kohtaa Kyselyt-ruudussa vasemmalla ja valitse sitten Uusi kysely > muista lähteistä > Tyhjä kysely. -
Kaksoisnapsauta vasemman reunan Kyselyt-ruudussa nimeä ja nimeä sitten uusi tyhjä kysely uudelleen nimellä HelloWorld.
-
Valitse uusi kysely ja valitse sitten Aloitus> laajennettu editori.
-
Korvaa mallin käynnistyskoodi seuraavalla koodilla:
let HelloWorld = () => ("Hello World") in HelloWorld
-
Valitse Valmis.
-
Olet muuttanut kyselyn "HelloWorld" mukautetuksi funktioksi. Huomaa, sen vasemmalla puolella on funktiokuvake.
-
Voit käynnistää funktion valitsemalla sen ja valitsemalla sitten Invoke Tietojen esikatselussa.
-
Funktion tulokset näytetään tietojen esikatselussa ja lisätään Kyselyt-ruutuun kyselynä, jonka oletusnimi on Invoked-funktio. Haluat ehkä nimetä sen uudelleen merkityksellisempään nimeen, kuten "HelloWorldResult".
-
Valitse kysely ja valitse sitten Aloitus > sulje & Lataa, jotta näet tulokset laskentataulukossa.
Tulos
Seuraavassa esimerkissä näytetään, miten voit siirtää parametrin mukautettuun funktioon ja muuntaa desimaaliluvun heksadesimaaliluvuksi.
-
Tyhjän kyselyn luominen:
Excel valitse tiedot>tiedot >muista lähteistä -> tyhjä kysely. Power Query Napsauta hiiren kakkospainikkeella tyhjää kohtaa Kyselyt-ruudussa vasemmalla ja valitse sitten Uusi kysely > muista lähteistä > Tyhjä kysely. -
Nimeä vasemman reunan Kyselyt-ruudussa uuden tyhjän kyselyn nimeksi "MyHex".
-
Valitse uusi kysely ja valitse sitten Aloitus> laajennettu editori.
-
Korvaa mallin käynnistyskoodi seuraavalla koodilla:
let MyHex = (parameter1) => Number.ToText(parameter1,"X") in MyHex
-
Valitse Valmis.
-
Olet muuttanut kyselyn "MyHex" mukautetuksi funktioksi. Huomaa, sen vasemmalla puolella on funktiokuvake.
-
Voit käynnistää funktion valitsemalla sen ja kirjoittamalla sitten tietojen esikatselussa numeron parametri1-ruutuun ja valitsemalla Invoke.
-
Funktion tulokset näytetään tietojen esikatselussa ja lisätään Kyselyt-ruutuun kyselynä, jolla on oletusnimi Invoked-funktio. Haluat ehkä nimetä sen uudelleen merkityksellisempään nimeen, kuten "MyHexResult".
-
Valitse kysely ja valitse sitten Aloitus > sulje & Lataa, jotta näet tulokset laskentataulukossa.
Tulos
Jos olet luonut funktion, jossa on vähintään yksi parametri, voit käynnistää sen mukautettuna funktiona ja luoda uuden sarakkeen ja uuden arvon taulukon kullekin riville.
-
Avaa kysely etsimällä se aiemmin Power Query -editorista, valitsemalla solu tiedoista ja valitsemalla sitten Kysely > Muokkaa. Lisätietoja on kohdassa Kyselyn luominen, muokkaaminen ja lataaminen Excel (Power Query). Huomautus Tässä esimerkissä kysely tarvitsee vähintään yhden Kokonaisluku-tietotyypin sarakkeen.
-
Luo mukautettu MyHex-funktio kohdassa Mukautetun funktion luominen ja käynnistäminen lisäeditorin avulla.
-
Valitse kyselyssä Add Column >Invoke Custom Function. Esiin tulee Avaa mukautettu funktio -valintaikkuna.
-
Kirjoita uuden sarakkeen nimi, kuten "HexConvert", Uusi sarakkeen nimi -ruutuun.
-
Valitse ennalta määritetyn mukautetun funktion nimi avattavasta Funktiokysely-valikosta. Valitse tässä esimerkissä "MyHex".
-
Koska mukautettu funktio viittaa parametriin, parametri näkyy nyt.
-
Valitse Kokonaisluku-tietotyypin sarake funktion parametrina.
-
Valitse OK.
Tulos
Luodaan uusi sarake, jossa näkyy parametrina syötetvän Koko luku -sarakkeen heksadesimaaliarvo.
Muita aiheita
Power Query -kaavojen luominen Excel