Functiequery en operatoren in de Query-editor

Functiequery en operatoren in de Query-editor

In deze zelfstudie wordt de functie Functiequery in de Query-editor besproken . U leert hoe u functiequery's gebruikt en maximaliseert om de gewenste resultaten en gegevens te krijgen. U zult ook begrijpen hoe ze samenwerken met operators om specifieke resultaten te genereren.

Inhoudsopgave

Een functiequery maken

Met Power Query kunnen gebruikers aangepaste functies definiëren die een reeks argumenten in één enkele waarde toewijzen. Om te demonstreren, klikt u met de rechtermuisknop op de ruimte in het queryvenster. Klik vervolgens op Nieuwe query en selecteer Lege query.

Functiequery en operatoren in de Query-editor

Open vervolgens het venster Geavanceerde editor en verwijder de volledige inhoud. Als u een aangepaste functie wilt construeren, moet u beginnen met een set haakjes. Definieer vervolgens een door komma's gescheiden lijst met parameters tussen die haakjes. Voer daarna het go-to-teken in , wat de combinatie is van het gelijk- en groter-dan-teken, gevolgd door de hoofdtekst van de functie.

In dit voorbeeld zijn de parameters a en b , en de functiebody is a + b . Noem de query Add2Values ​​.

Functiequery en operatoren in de Query-editor

Zo ziet de functiequery eruit.

Functiequery en operatoren in de Query-editor

Naast de querynaam in het queryvenster ziet u het fx- pictogram dat aangeeft dat het een functiequery is.

Functiequery en operatoren in de Query-editor

Om de functie aan te roepen, voert u een waarde in voor elke parameter en drukt u op Invoke .

Functiequery en operatoren in de Query-editor

Als u op Invoke drukt, wordt een nieuwe query gemaakt met de naam Invoked Function , die het resultaat van de ingestelde parameters bevat. In de formulebalk ziet u ook dat deze op naam verwijst naar de functiequery en de waarden van de parameters toewijst.

Functiequery en operatoren in de Query-editor

Om waarden uit verschillende kolommen toe te voegen, kunt u ook dezelfde functiequery gebruiken. Maak een nieuwe query en open het venster Geavanceerde editor . Voer vervolgens de volgende code in om een ​​kleine tabel te maken.

Functiequery en operatoren in de Query-editor

Functiequery en operatoren in de Query-editor

Een aangepaste functiequery aanroepen

Om een ​​aangepaste functie op elke rij van de tabel aan te roepen, gaat u naar het tabblad Kolom toevoegen en selecteert u Aangepaste functie aanroepen .

Functiequery en operatoren in de Query-editor

Een andere manier is om op het minitabelpictogram in de linkerbovenhoek van het voorbeeld te klikken en Aangepaste functie aan te roepen.

Functiequery en operatoren in de Query-editor

Als u op Aangepaste functie oproepen klikt, verschijnt er een dialoogvenster. Voer AddValues ​​in als kolomnaam en selecteer Add2Values ​​als functiequery. Stel vervolgens de waarden voor elke parameter in.

In dit voorbeeld staan ​​de waarden in kolom 1 en 2.

Functiequery en operatoren in de Query-editor

U kunt zien dat er een nieuwe kolom aan de tabel is toegevoegd. De waarden in de kolom zijn de som van de rijwaarden van kolom 1 en 2.

Functiequery en operatoren in de Query-editor

Een argument verwijderen

Als u een van de argumenten in de formule verwijdert, leveren de waarden in de nieuwe kolom een ​​Error op . In dit voorbeeld wordt Kolom2 verwijderd uit de formule.

Functiequery en operatoren in de Query-editor

Als u op de spatie naast de foutwaarde klikt, ziet u het foutbericht onder het voorbeeldvenster.

Functiequery en operatoren in de Query-editor

De aangepaste functie heeft een vereiste set parameters waarmee we optionele functieparameters kunnen maken.

Ga voor de volgende stap terug naar de Add2Values- functiequery en open het venster Geavanceerde editor. Voeg vervolgens het trefwoord optioneel tussen haakjes toe en klik op Gereed.

Functiequery en operatoren in de Query-editor

Als u teruggaat naar de SumExample Table Query , ziet u dat de Error-waarden in de laatste kolom null-waarden worden. Als u de operator toepast op waarden die een null bevatten, wordt altijd een null geretourneerd.

Functiequery en operatoren in de Query-editor

Een ander ding om op te letten is dat Function Query alle soorten argumenten accepteert. Dit kan mogelijk problemen veroorzaken omdat u een tekstwaarde kunt doorgeven en een andere fout kunt genereren. De opteloperator kan niet worden toegepast op operanden van dat gegevenstype.

In het venster Geavanceerde editor kunt u functies typen door het trefwoord toe te voegen als . Naast het typen van de parameters, kunt u ook een retourtype toewijzen aan de functie achter de haakjes.

Functiequery en operatoren in de Query-editor

Een argument toevoegen

Als u te veel argumenten toevoegt, krijgt u ook foutwaarden. Als u kolommen 2 en 3 invoert in de formulebalk, worden in de laatste kolom foutwaarden weergegeven.

Functiequery en operatoren in de Query-editor

Nogmaals, als u op de spatie naast de foutwaarde klikt, ziet u het foutbericht onder het voorbeeldvenster.

Functiequery en operatoren in de Query-editor

Er is een M-functie die helpt om met een dergelijke situatie om te gaan. Maak eerst een nieuwe lege query en voer de functie Function.From in de formulebalk in. U ziet dan documentatie van de functie.

Functiequery en operatoren in de Query-editor

Om dit te demonstreren, dupliceert u de Add2Values- functiequery en opent u het venster Geavanceerde editor. Voer vervolgens Function.From in aan het begin van de syntaxis.

Voer voor het eerste argument de functie in als het functietype. Voer voor het tweede argument List.Sum in om de waarden op te tellen en een lijst te retourneren. Als u klaar bent, klikt u op OK en hernoemt u de query naar AddValues ​​.

Functiequery en operatoren in de Query-editor

Ga vervolgens terug naar de SumExample Table Query en wijzig de Function Query in AddValues ​​. U zult zien dat de kolom AddValues ​​nu de som bevat van elke rijwaarden van de kolom.

Functiequery en operatoren in de Query-editor

Hoewel er slechts twee parameters zijn gedeclareerd in het functietype, kunt u de functie aanroepen met zoveel argumenten als u wilt. Dit komt omdat alle argumenten worden samengevoegd tot een enkele lijst voordat ze aan de functie worden doorgegeven.

Hoe u uw parameters noemt, maakt niet uit.

Als u een aangepaste functie binnen de Function.From schrijft en u moet naar een item verwijzen, moet u de positionele indexoperator gebruiken om toegang te krijgen tot het item in de lijst.

Unaire functies begrijpen

Unaire functies zijn functies die u de hele tijd ziet. Veel van de standaard bibliotheekfuncties nemen functies als argumenten en die parameterfuncties zijn vaak unair. Het betekent dat de functie slechts één enkel argument nodig heeft.

Voeg bijvoorbeeld een filtervoorbeeldquery toe door een nieuwe lege query te maken. Open vervolgens het venster Geavanceerde editor en voer de volgende syntaxis in.

Functiequery en operatoren in de Query-editor

Als u klaar bent, ziet u een tabel met de kolommen CustomerID en Name in het voorbeeldvenster. Noem de query FilterExample .

Functiequery en operatoren in de Query-editor

Codes schrijven in een functiequery

In plaats van de gebruikersinterface te gebruiken om de code te genereren, kunt u de code gewoon zelf schrijven. Als u rijen wilt selecteren waarvan de klant-ID groter is dan 2, klikt u op fx naast de formulebalk om handmatig een stap in te voeren. Power Query retourneert automatisch de variabelenaam van de laatste stap in het deelvenster Toegepaste stappen.

Voer vervolgens de functie Table.SelectRows en de bijbehorende argumenten in de formulebalk in. Het eerste en tweede argument moeten respectievelijk een tabel en een voorwaarde als functie zijn. In dit voorbeeld is het eerste argument het ChType en het tweede argument is een aangepaste functie die de klant-ID groter dan 2 naar voren brengt.

Functiequery en operatoren in de Query-editor

Een andere manier is om het sleutelwoord elk te gebruiken , wat een afkorting is voor een unaire functie. Het neemt een enkele naamloze variabele als argument en wordt weergegeven door het onderstrepingsteken ( _ ). Om dit te demonstreren, opent u het venster Geavanceerde editor en wijzigt u de aangepaste functie.

Functiequery en operatoren in de Query-editor

Zodra u op Gereed drukt, kunt u zien dat het dezelfde resultaten oplevert.

Functiequery en operatoren in de Query-editor

Om de leesbaarheid van de formule te verbeteren, kunt u het onderstrepingsteken weglaten bij toegang tot velden of kolommen.

Functiequery en operatoren in de Query-editor

Als u teruggaat naar het venster Geavanceerde editor en het onderstrepingsteken in de aangepaste functie verwijdert, krijgt u nog steeds dezelfde resultaten.

Functiequery en operatoren in de Query-editor

Alle uitdrukkingen zijn gelijk aan elkaar. Maar vanuit het oogpunt van leesbaarheid en schrijven is de laatste versie beslist gemakkelijker te begrijpen. Bij het maken van deze stap via de gebruikersinterface gebruikt de M- engine de verkorte notatie.


M-functie voor datumtabel - Een parameter toevoegen in de query-editor
Een aangepaste tekstopschoonfunctie maken in Power Query

Conclusie

Een functiequery gebruikt en maximaliseert functies om gegevens te verkrijgen. Ze helpen specifieke informatie uit een tabel of bron naar voren te halen of te verzamelen om resultaten te leveren. U kunt deze functies gebruiken om effectief een gegevensrapport te maken en uw vaardigheden op het gebied van gegevensontwikkeling te verbeteren.

Melissa


Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Een RDS-bestand opslaan en laden in R

Een RDS-bestand opslaan en laden in R

Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.

First N Business Days Revisited – Een DAX-coderingstaaloplossing

First N Business Days Revisited – Een DAX-coderingstaaloplossing

In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.

Inleiding tot het filteren van context in LuckyTemplates

Inleiding tot het filteren van context in LuckyTemplates

In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.

Zakelijke rapportage met behulp van LuckyTemplates

Zakelijke rapportage met behulp van LuckyTemplates

Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten