En brugerdefineret funktion anvender M-formelsproget, tager et sæt inputværdier og returnerer derefter en enkelt outputværdi. Hvis du har logik, som du vil genbruge mange gange, eller du vil anvende det samme sæt transformationer til en anden forespørgsel eller værdi, kan du overveje at oprette en brugerdefineret funktion og derefter aktivering af funktionen, hvor og når du har brug for den. Der er flere måder at oprette en brugerdefineret funktion på:
-
Brug Avanceret editor til at tilføje din egen "let"-sætning og starte fra bunden.
-
Brug kommandoen Invoke Custom Function.
-
Der er flere måder at oprette funktioner, der ikke er nævnt i dette emne i Hjælp, herunder kommandoerne Opret funktion og Tilføj som forespørgsel. Du kan finde en dybdegående diskussion under Forstå Power-forespørgsel M-funktioner (docs.com)og Brug af brugerdefinerede funktioner (docs.com).
Følgende er et enkelt eksempel på en brugerdefineret funktion, der følger en længere tidsbaseret programmeringsfunktion.
-
Sådan opretter du en tom forespørgsel:
Excel vælge data> Hente data > Fra andre kilder > tom forespørgsel. Power-forespørgsel Højreklik på et tomt sted i ruden Forespørgsler til venstre, og vælg derefter Ny forespørgsel > Andre kilder >Tom forespørgsel. -
I ruden Forespørgsler til venstre skal du dobbeltklikke på navnet og derefter omdøbe den nye tomme forespørgsel til "HelloWorld".
-
Vælg den nye forespørgsel, og vælg derefter Hjem> Avanceret editor.
-
Erstat skabelonens startkode med følgende kode:
let HelloWorld = () => ("Hello World") in HelloWorld
-
Vælg Udført.
-
Du har ændret forespørgslen "HelloWorld" til en brugerdefineret funktion. Bemærk, at funktionsikonet til venstre for det.
-
Hvis du vil aktivere funktionen, skal du markere den og derefter vælge Invoke i Data Preview.
-
Resultaterne af funktionen vises i Datavisning og føjes til ruden Forespørgsler som en forespørgsel med standardnavnet, Invoked Function. Det kan være en god ide at omdøbe det til noget mere sigende, f.eks. "HelloWorldResult".
-
Markér denne forespørgsel, og vælg derefter Hjem > Luk & indlæs for at se resultaterne i et regneark.
Resultater
I følgende eksempel vises det, hvordan du passerer en parameter til en brugerdefineret funktion for at konvertere et decimaltal til et hexadecimaltal.
-
Sådan opretter du en tom forespørgsel:
Excel vælge data> Hente data > Fra andre kilder > tom forespørgsel. Power-forespørgsel Højreklik på et tomt sted i ruden Forespørgsler til venstre, og vælg derefter Ny forespørgsel > Andre kilder >Tom forespørgsel. -
Omdøb den nye tomme forespørgsel til "MyHex" i ruden Forespørgsler til venstre.
-
Vælg den nye forespørgsel, og vælg derefter Hjem> Avanceret editor.
-
Erstat skabelonens startkode med følgende kode:
let MyHex = (parameter1) => Number.ToText(parameter1,"X") in MyHex
-
Vælg Udført.
-
Du har ændret forespørgslen "MyHex" til en brugerdefineret funktion. Bemærk, at funktionsikonet til venstre for det.
-
Hvis du vil aktivere funktionen, skal du markere den og derefter angive et tal i feltet parameter1 i Datavisning og vælge Invoke.
-
Resultaterne af funktionen vises i Datavisning og føjes til ruden Forespørgsler som en forespørgsel med standardnavnet, Ivoked Function. Det kan være en god ide at omdøbe det til et mere sigende navn, f.eks. "MyHexResult".
-
Markér denne forespørgsel, og vælg derefter Hjem > Luk & indlæs for at se resultaterne i et regneark.
Resultater
Hvis du har oprettet en funktion med mindst ét parameter, kan du fremkalde den som en brugerdefineret funktion for at oprette en ny kolonne og en ny værdi for hver række i en tabel.
-
Hvis du vil åbne en forespørgsel, skal du finde en, der tidligere er indlæst fra Power-forespørgselseditoren, markere en celle i dataene og derefter vælge Forespørgsel > Rediger. Få mere at vide under Opret, rediger og indlæs en forespørgsel i Excel (Power-forespørgsel). Bemærk! I dette eksempel skal forespørgslen have mindst én kolonne af datatypen Helt tal.
-
Opret den brugerdefinerede funktion "MyHex" som beskrevet i afsnittet Opret og fremkalde en brugerdefineret funktion, der har en parameter med Avanceret editor.
-
I forespørgslen skal du vælge Tilføj kolonne >Brugerdefineret funktion. Dialogboksen Invoke Custom Function vises.
-
Angiv det nye kolonnenavn, f.eks. "HexConvert", i feltet Nyt kolonnenavn.
-
Vælg navnet på en foruddefineret brugerdefineret funktion fra rullelisten Funktionsforespørgsel. I dette eksempel skal du vælge "MyHex".
-
Da den brugerdefinerede funktion refererer til en parameter, vises parameteren nu.
-
Vælg en kolonne med datatypen Helt tal som en parameter for funktionen.
-
Vælg OK.
Resultat
Der oprettes en ny kolonne, der viser den hexadecimale værdi for kolonnen Helt tal, du har angivet som parameter.
Se også
Hjælp til Power-forespørgsel Excel forespørgsel
Opret formler i Power-forespørgsel i Excel
Oprette en parameterforespørgsel