En egendefinert funksjon bruker M-formelspråket, tar et sett med inndataverdier og returnerer deretter én enkelt utdataverdi. Hvis du har logikk som du vil bruke mange ganger eller bruke samme sett med transformasjoner for en annen spørring eller verdi, bør du vurdere å opprette en egendefinert funksjon og deretter aktivere funksjonen der du trenger den når du trenger den. Det finnes flere måter å opprette en egendefinert funksjon på:
- Bruk avansert redigering til å legge til din egen let-setning og starte fra bunnen av.
- Bruk kommandoen Aktivere egendefinert funksjon .
- Det finnes flere måter å opprette funksjoner på, som ikke beskrives i dette hjelpeemnet, inkludert kommandoene Opprett-funksjonen og Legg til som spørring . Hvis du vil ha en detaljert diskusjon, kan du se Forstå Power Query M-funksjoner og Bruke egendefinerte funksjoner.
Opprett og aktiver en enkel egendefinert funksjon med avansert redigering
Følgende eksempel viser en enkel, egendefinert funksjon som følger en lang programmeringstradisjon.
Opprette en tom spørring:
Excel Velg data>Hent data>fra andre kilder>Tom spørring.
Power Query Høyreklikk på et tomt sted i Spørringer-ruten til venstre, og velg deretter Ny spørring>Andre kilder>Tom spørring.
Dobbeltklikk navnet i Spørringer-ruten til venstre, og gi deretter den nye tomme spørringen nytt navn til
HelloWorld.Velg den nye spørringen, og velg deretter avansert redigering for hjem>.
Erstatt malens startkode med følgende kode:
let
HelloWorld = () => ("Hello World")
in
HelloWorldVelg Ferdig.
Du endret spørringen
HelloWorldtil en egendefinert funksjon. Legg merke til funksjonsikonet
til venstre for det.Hvis du vil aktivere funksjonen, merker du den og velger deretter Aktivere i forhåndsvisning av data.
Resultatene av funksjonen vises i forhåndsvisning av data og legges til i spørringsruten som en spørring med standardnavnet Aktivert funksjon. Du vil kanskje endre navnet til noe mer meningsfylt, for eksempel
HelloWorldResult.Velg denne spørringen, og velg deretter Hjem>Lukk & Last inn for å se resultatene i et regneark.
Resultater
Opprette og aktivere en egendefinert funksjon som har en parameter med avansert redigering
Følgende eksempel viser hvordan du sender en parameter til en egendefinert funksjon for å konvertere et desimaltall til et heksadesimalt tall.
Opprette en tom spørring:
Excel Velg data>Hent data>fra andre kilder>Tom spørring.
Power Query Høyreklikk på et tomt sted i Spørringer-ruten til venstre, og velg deretter Ny spørring>Andre kilder>Tom spørring.
I Spørringer-ruten til venstre kan du endre navnet på den nye tomme spørringen til
MyHex.Velg den nye spørringen, og velg deretter avansert redigering for hjem>.
Erstatt malens startkode med følgende kode:
let
MyHex = (parameter1) => Number.ToText(parameter1,"X")
in
MyHexVelg Ferdig.
Du endret spørringen
MyHextil en egendefinert funksjon. Legg merke til funksjonsikonet
til venstre for det.Velg funksjonen for å aktivere den. Skriv inn et tall i parameter1-boksen i forhåndsvisning av data, og velg Aktiver.
Resultatene av funksjonen vises i forhåndsvisning av data. Power Query legger til resultatene i Spørringer-ruten som en spørring med standardnavnet Aktivert funksjon. Du vil kanskje endre navnet til noe mer meningsfylt, for eksempel
MyHexResult.Velg denne spørringen, og velg deretter Hjem>Lukk & Last inn for å se resultatene i et regneark.
Resultater
Legge til en kolonne ved å aktivere en egendefinert funksjon
Hvis du oppretter en funksjon med minst én parameter, kan du aktivere den som en egendefinert funksjon for å opprette en ny kolonne og en ny verdi for hver rad i en tabell.
Hvis du vil åpne en spørring, finner du en som tidligere ble lastet inn fra Power Query-redigering, velger en celle i dataene og velger deretter Spørringsredigering>. Hvis du vil ha mer informasjon, kan du se Opprette, redigere og laste inn en spørring i Excel (Power Query).
Obs!
I dette eksemplet trenger spørringen minst én kolonne med datatypen Heltall .
Opprett den
MyHexegendefinerte funksjonen som forklart i delen Opprett og aktiver en egendefinert funksjon som har en parameter med avansert redigering.Velg Legg til kolonne>Aktivere egendefinert funksjon i spørringen. Dialogboksen Aktiver egendefinert funksjon vises.
Skriv inn det nye kolonnenavnet, for eksempel
HexConverti boksen Nytt kolonnenavn .Velg navnet på en forhåndsdefinert egendefinert funksjon fra rullegardinlisten for funksjonsspørring. I dette eksemplet velger du
MyHex.Fordi den egendefinerte funksjonen refererer til en parameter, vises nå parameteren.
Velg en kolonne med datatypen Heltall som en parameter for funksjonen.
Velg OK.
Resultat
Det opprettes en ny kolonne som viser den heksadesimale verdien til heltall-kolonnen du skrev inn som en parameter.
Se også
Hjelp for Microsoft Power Query for Excel
Opprette en parameterspørring (Power Query)
Behandle spørringer (Power Query)