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 på nytt mange ganger eller bruker samme sett med transformasjoner på en annen spørring eller verdi, bør du vurdere å opprette en egendefinert funksjon og deretter aktivere funksjonen der og når du trenger den. Det finnes flere måter å opprette en egendefinert funksjon på:
-
Bruk Avansert redigering til å legge til din egen la-setning og starte fra grunnen av.
-
Bruk kommandoen Invoke Custom Function.
-
Det finnes flere måter å opprette funksjoner som ikke er omtalt i dette hjelpeemnet, inkludert kommandoene Opprett funksjon og Legg til som en spørring. Hvis du vil ha en detaljert diskusjon, kan du se Forstå Power Query M-funksjoner (docs.com)og Bruke egendefinerte funksjoner (docs.com).
Følgende er et enkelt eksempel på en egendefinert funksjon som følger en langvarig programmeringstradisjon.
-
Slik oppretter du 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 på 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 Hjem-> Avansert redigering.
-
Erstatt startkoden for malen med følgende kode:
let HelloWorld = () => ("Hello World") in HelloWorld
-
Velg Ferdig.
-
Du har endret spørringen HelloWorld til en egendefinert funksjon. Legg merke til funksjonsikonet til venstre for det.
-
Hvis du vil aktivere funksjonen, merker du den og velger deretter Start i Forhåndsvisning av data.
-
Resultatene av funksjonen vises i Forhåndsvisning av data og legges til i Spørringer-ruten som en spørring med standardnavnet, Invoked Function. Du vil kanskje gi den et mer meningsfullt navn, for eksempel «HelloWorldResult».
-
Velg denne spørringen, og velg deretter Hjem-> Lukk & Last inn for å se resultatene i et regneark.
Resultater
Følgende eksempel viser hvordan du sender en parameter til en egendefinert funksjon for å konvertere et desimaltall til heksadesimaltall.
-
Slik oppretter du 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. -
Endre navn på den nye tomme spørringen til «MyHex» i Spørringer-ruten til venstre.
-
Velg den nye spørringen, og velg deretter Hjem-> Avansert redigering.
-
Erstatt startkoden for malen med følgende kode:
let MyHex = (parameter1) => Number.ToText(parameter1,"X") in MyHex
-
Velg Ferdig.
-
Du har endret spørringen MyHex til en egendefinert funksjon. Legg merke til funksjonsikonet til venstre for det.
-
Hvis du vil aktivere funksjonen, merker du den og skriver inn et tall i parameter1-boksen i Forhåndsvisning av data, og velger Invoke.
-
Resultatene av funksjonen vises i Forhåndsvisning av data og legges til i Spørringer-ruten som en spørring med standardnavnet, Invoked Function. Du vil kanskje gi den et mer meningsfullt navn, for eksempel «MyHexResult».
-
Velg denne spørringen, og velg deretter Hjem-> Lukk & Last inn for å se resultatene i et regneark.
Resultater
Hvis du har opprettet 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 tidligere lastet inn fra Redigeringsprogram for Power Query, merker en celle i dataene og velger deretter Spørring> Rediger. 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 av datatypen Heltall.
-
Opprett den egendefinerte«MyHex»-funksjonen som forklart i delen Opprette og aktivere en egendefinert funksjon som har en parameter med Avansert redigering .
-
Velg Legg til kolonne i spørringen > Aktivere egendefinert funksjon. Dialogboksen Aktivere egendefinert funksjon vises.
-
Skriv inn det nye kolonnenavnet, for eksempel HexConvert, i Boksen Nytt kolonnenavn.
-
Velg navnet på en forhåndsdefinert egendefinert funksjon fra rullegardinlisten Funksjonsspørring. I dette eksemplet velger du MyHex.
-
Fordi den egendefinerte funksjonen refererer til en parameter, vises parameteren nå.
-
Velg en kolonne av datatypen Heltall som en parameter for funksjonen.
-
Velg OK.
Resultat
Det opprettes en ny kolonne som viser den heksadesimale verdien av hele tallkolonnen du skrev inn som en parameter.
Se også
Hjelp for Power Query for Excel
Opprette Power Query-formler i Excel