Funktionsfråga och operatörer i frågeredigeraren

Denna handledning kommer att diskutera funktionen Funktionsfråga i . Du kommer att lära dig hur du använder och maximerar funktionsfrågor för att få de resultat och data du önskar. Du kommer också att förstå hur de arbetar med att generera specifika resultat.

Innehållsförteckning

Skapa en funktionsfråga

Power Query tillåter användare att definiera anpassade funktioner som mappar en uppsättning argument till ett enda värde. För att demonstrera, högerklicka på utrymmet i frågefönstret. Klicka sedan på Ny fråga och välj Tom fråga.

Funktionsfråga och operatörer i frågeredigeraren

Öppna sedan fönstret Advanced Editor och ta bort allt innehåll. Om du vill konstruera en anpassad funktion måste du börja med en uppsättning parenteser. Definiera sedan en kommaseparerad lista med parametrar inom dessa parenteser. Därefter matar du in gå-till-tecknet , vilket är kombinationen av tecknet lika och större än, följt av funktionskroppen.

I det här exemplet är parametrarna a och b , och funktionskroppen är a + b . Namnge frågan Add2Values ​​.

Funktionsfråga och operatörer i frågeredigeraren

Så här ser funktionsfrågan ut.

Funktionsfråga och operatörer i frågeredigeraren

Bredvid frågenamnet i frågefönstret kan du se fx- ikonen som indikerar att det är en funktionsfråga.

Funktionsfråga och operatörer i frågeredigeraren

För att anropa funktionen anger du ett värde för varje parameter och trycker på Anropa .

Funktionsfråga och operatörer i frågeredigeraren

Om du trycker på Invoke skapas en ny fråga som heter Anropad funktion , som innehåller resultatet av de inställda parametrarna. I formelfältet ser du också att den refererar till funktionsfrågan med namn och tilldelar parametrarnas värden.

Funktionsfråga och operatörer i frågeredigeraren

För att lägga till värden från olika kolumner kan du också använda samma funktionsfråga. Skapa en ny fråga och öppnafönster. Ange sedan följande kod för att skapa en liten tabell.

Funktionsfråga och operatörer i frågeredigeraren

Funktionsfråga och operatörer i frågeredigeraren

Anropar en anpassad funktionsfråga

För att anropa en anpassad funktion på varje rad i tabellen kan du gå till fliken Lägg till kolumn och välja Anropa anpassad funktion .

Funktionsfråga och operatörer i frågeredigeraren

Ett annat sätt är att klicka på minibordsikonen i det övre vänstra hörnet av förhandsvisningen och välja Anropa anpassad funktion.

Funktionsfråga och operatörer i frågeredigeraren

Om du klickar på Anropa anpassad funktion kommer en dialogruta att visas. Mata in AddValues ​​som kolumnnamn och välj Add2Values ​​som funktionsfråga. Ställ sedan in värdena för varje parameter.

I det här exemplet finns värdena i kolumn 1 och 2.

Funktionsfråga och operatörer i frågeredigeraren

Du kan se att en ny kolumn har lagts till i tabellen. Värdena i kolumnen är summan av radvärdena i kolumn 1 och 2.

Funktionsfråga och operatörer i frågeredigeraren

Ta bort ett argument

Om du tar bort ett av argumenten i formeln kommer värdena i den nya kolumnen att ge ett Error . I det här exemplet tas kolumn2 bort från formeln.

Funktionsfråga och operatörer i frågeredigeraren

Om du klickar på utrymmet bredvid värdet Error, kommer du att se felmeddelandet under förhandsgranskningsfönstret.

Funktionsfråga och operatörer i frågeredigeraren

Den anpassade funktionen har en nödvändig uppsättning parametrar som gör att vi kan skapa valfria funktionsparametrar.

För nästa steg, gå tillbaka till Add2Values- funktionsfrågan och öppna fönstret Advanced Editor. Lägg sedan till nyckelordet valfritt inom parentesen och klicka på Klar.

Funktionsfråga och operatörer i frågeredigeraren

Om du går tillbaka till SumExample ser du att Error-värdena i den sista kolumnen blir nollvärden. Om du använder operatorn på värden som innehåller en null returneras alltid en noll.

Funktionsfråga och operatörer i frågeredigeraren

En annan sak att vara medveten om är att Function Query accepterar argument av alla slag. Detta kan potentiellt orsaka problem eftersom du kan skicka ett textvärde och skapa ett annat fel. Tilläggsoperatorn kan inte tillämpas på operander av den datatypen.

I fönstret Advanced Editor kan du skriva funktioner genom att lägga till nyckelordet som . Förutom att skriva parametrarna kan du även tilldela en returtyp till funktionen efter parenteserna.

Funktionsfråga och operatörer i frågeredigeraren

Lägga till ett argument

Om du lägger till för många argument får du också felvärden. Om du anger kolumn 2 och 3 i formelfältet kommer den sista kolumnen att visa felvärden.

Funktionsfråga och operatörer i frågeredigeraren

Återigen, om du klickar på utrymmet bredvid felvärdet, kommer du att se felmeddelandet under förhandsgranskningsfönstret.

Funktionsfråga och operatörer i frågeredigeraren

Det finns en som hjälper till att hantera en situation som denna. Skapa först en ny tom fråga och skriv in funktionen Function.From i formelfältet. Du kommer då att se dokumentation av funktionen.

Funktionsfråga och operatörer i frågeredigeraren

För att demonstrera, duplicera Add2Values -funktionsfrågan och öppna fönstret Advanced Editor. Mata sedan in Function.From i början av syntaxen.

För det första argumentet, inmatningsfunktion som funktionstyp. För det andra argumentet, mata in List.Sum för att summera värdena och returnera en lista. När du är klar klickar du på Okej och byter namn på frågan till AddValues ​​.

Funktionsfråga och operatörer i frågeredigeraren

Gå sedan tillbaka till SumExample Table Query och ändra funktionsfrågan till AddValues ​​. Du kommer att se att kolumnen AddValues ​​nu har summan av varje radvärden i kolumnen.

Funktionsfråga och operatörer i frågeredigeraren

Även om två parametrar bara deklarerades i funktionstypen, kan du anropa funktionen med så många argument du vill. Detta beror på att alla argument slås samman till en enda lista innan den skickas till funktionen.

Hur du namnger dina parametrar spelar ingen roll.

Om du skriver en anpassad funktion i Function.From och du behöver referera till ett objekt, måste du använda positionsindexoperatorn för att komma åt objektet i listan.

Förstå unära funktioner

Unära funktioner är funktioner som du ser hela tiden. Många av standardbiblioteksfunktionerna tar funktioner som argument och dessa parameterfunktioner är ofta unära. Det betyder att funktionen bara tar ett enda argument.

Som ett exempel kan du lägga till en filterexempelfråga genom att skapa en ny tom fråga. Öppna sedan fönstret Advanced Editor och mata in följande syntax.

Funktionsfråga och operatörer i frågeredigeraren

När du är klar ser du en tabell med kolumner Kund-ID och Namn i förhandsgranskningsfönstret. Namnge frågan FilterExample .

Funktionsfråga och operatörer i frågeredigeraren

Att skriva koder i en funktionsfråga

Istället för att använda användargränssnittet för att generera koden kan du bara skriva koden själv. Om du vill välja rader där kund-ID är större än 2, klicka på fx bredvid formelfältet för att manuellt ange ett steg. Power Query returnerar automatiskt variabelnamnet för det sista steget i rutan Tillämpade steg.

Mata sedan in funktionen Table.SelectRows och dess argument i formelfältet. Det första och andra argumentet måste vara en tabell respektive ett villkor som funktion. I det här exemplet är det första argumentet ChType och det andra argumentet är en anpassad funktion som tar fram kund-ID som är större än 2.

Funktionsfråga och operatörer i frågeredigeraren

Ett annat sätt är att använda nyckelordet varje , vilket är en förkortning för en unär funktion. Den tar en enda namnlös variabel som argument och representeras av understrecket ( _ ). För att demonstrera, öppna fönstret Advanced Editor och ändra den anpassade funktionen.

Funktionsfråga och operatörer i frågeredigeraren

När du trycker på Klar kan du se att det genererar samma resultat.

Funktionsfråga och operatörer i frågeredigeraren

För att förbättra läsbarheten för formeln kan du utelämna understrecket när du kommer åt fält eller kolumner.

Funktionsfråga och operatörer i frågeredigeraren

Om du går tillbaka till Advanced Editor-fönstret och tar bort understrecket i den anpassade funktionen, kommer det fortfarande att returnera samma resultat.

Funktionsfråga och operatörer i frågeredigeraren

Alla uttryck är lika med varandra. Men ur läsbarhet och skrivsynpunkt är den sista versionen definitivt lättare att förstå. När du skapar detta steg genom användargränssnittet använder M -motorn förkortningen.



Slutsats

En funktionsfråga använder och maximerar funktioner för att erhålla data. De hjälper till att ta fram eller samla in specifik information från en tabell eller källa för att ge resultat. Du kan använda dessa funktioner för att effektivt skapa och förbättra dina färdigheter i datautveckling.

Melissa


Upptäck unika insikter med LuckyTemplates TOPN-funktion

Upptäck unika insikter med LuckyTemplates TOPN-funktion

Den här bloggen innehåller LuckyTemplates TOPN DAX-funktion, som gör att du kan få unika insikter från dina data, vilket hjälper dig att fatta bättre marknadsföringsbeslut.

Datamodellering i LuckyTemplates med hjälp av stödtabeller

Datamodellering i LuckyTemplates med hjälp av stödtabeller

Lär dig några fantastiska analytiska tekniker som vi kan göra för datamodellering i LuckyTemplates med hjälp av DAX-stödtabeller.

Avancerad DAX för LuckyTemplates: Implementering av rankningslogik över unika insikter

Avancerad DAX för LuckyTemplates: Implementering av rankningslogik över unika insikter

Här dyker vi in ​​i LuckyTemplates Advanced DAX och implementerar rankningslogik för att få en mycket unik insikt. Jag visar också upp måttförgrening i det här exemplet.

LuckyTemplates What-If-parameterfunktion

LuckyTemplates What-If-parameterfunktion

Den här bloggen introducerar den nya funktionen i LuckyTemplates, analysparametern What-If. Du kommer att se hur det gör allt snabbt och enkelt för din scenarioanalys.

Använd LuckyTemplates Mät förgreningar för att kontrollera om dina marginaler ökar när intäkterna växer

Använd LuckyTemplates Mät förgreningar för att kontrollera om dina marginaler ökar när intäkterna växer

Lär dig hur du avgör om din intäktstillväxt är bra genom att kontrollera om dina marginaler ökade med hjälp av LuckyTemplates mäter förgrening.

LuckyTemplates parametrar via frågeredigerare

LuckyTemplates parametrar via frågeredigerare

Lär dig och förstå hur du kan skapa och använda LuckyTemplates-parametrar som är en kraftfull funktion i frågeredigeraren.

Runda stapeldiagram – En visualisering för din instrumentpanel

Runda stapeldiagram – En visualisering för din instrumentpanel

Denna handledning kommer att diskutera hur man skapar ett runt stapeldiagram med Charticulator. Du kommer att lära dig hur du designar dem för din LuckyTemplates-rapport.

PowerApps funktioner och formler | En introduktion

PowerApps funktioner och formler | En introduktion

Lär dig hur du använder PowerApps funktioner och formler för att förbättra funktionaliteten och ändra ett beteende i vår Power Apps canvas-app.

Pipe In R: Anslutningsfunktioner med Dplyr

Pipe In R: Anslutningsfunktioner med Dplyr

I den här handledningen kommer du att lära dig hur du kopplar ihop funktioner med hjälp av dplyr-röroperatorn i programmeringsspråket R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX från LuckyTemplates låter dig returnera rankningen av ett specifikt nummer i varje tabellrad som utgör en del av en lista med nummer.