Aangepaste LuckyTemplates-queryfuncties

Aangepaste LuckyTemplates-queryfuncties

Voor de zelfstudie van vandaag gaan we een aangepaste LuckyTemplates-queryfunctie bouwen die een algemeen moeilijk te hanteren formaat van gestapelde gegevens zal behandelen. Deze techniek is gemakkelijk herbruikbaar op meerdere rapporten en meerdere tabellen. Je kunt de volledige video van deze tutorial onderaan deze blog bekijken.

Dit is een voortzetting van de zelfstudie die ik onlangs heb gedaan, waar we een algemeen moeilijk te hanteren formaat van gestapelde gegevens behandelden en Modulo, Pivot en enkele opschoningsfuncties met Power Query gebruikten om die gegevens om te zetten in een georganiseerd en functioneel formaat.

Aangepaste LuckyTemplates-queryfuncties

Het is zeer waarschijnlijk dat u dit proces moet herhalen. Als dit type indeling het resultaat is van kopiëren en plakken, zal het waarschijnlijk opnieuw gebeuren. Dus in dit geval wilt u waarschijnlijk een aangepaste functie bouwen die herbruikbaar is in meerdere rapporten en meerdere tabellen, ongeacht hoe ze worden genoemd en wat er nog meer in die tabellen staat.

Inhoudsopgave

Hoe u aangepaste LuckyTemplates-queryfuncties kunt maken en debuggen

Laten we hierover in Power Query duiken. Als we naar onze gegevenstabel gaan, in de geavanceerde editor, hebben we de M-code voor hoe we uiteindelijk van die stapelgegevens naar het gewenste formaat gingen.

Aangepaste LuckyTemplates-queryfuncties

Als we dit willen hergebruiken, klikken we gewoon met de rechtermuisknop op Data en zeggen, Create Function .

Aangepaste LuckyTemplates-queryfuncties

Het zegt dat het niet naar een parameter zal verwijzen, maar het is prima om een ​​functie zonder parameters te maken. We gaan antwoorden, Ja, omdat we de parameters gaan toevoegen terwijl we bezig zijn in de Geavanceerde Editor. We noemen deze functie Unstack – 3 Elements , alleen omdat we de drie rijen in het onbewerkte formaat hebben. Als we een indeling met twee rijen hadden, zouden we waarschijnlijk een aparte indeling maken met twee of vier elementen.

Aangepaste LuckyTemplates-queryfuncties

Dus nu hebben we deze Invoke, we hebben geen parameters, en laten we naar de geavanceerde editor gaan en aan deze gaan werken.

Aangepaste LuckyTemplates-queryfuncties

Ten eerste hebben we deze Bron niet nodig. We gaan de functieparameters gebruiken om onze bron te definiëren.

Aangepaste LuckyTemplates-queryfuncties

We willen de parameter definiëren die binnenkomt. We doen dat met een open haakje en vervolgens een parameternaam. Laten we dit Stack noemen , wat die ene kolom met gegevens wordt die de ongeformatteerde stapelgegevens zijn die binnenkwamen uit het plakken van de e-mailadressen.

We willen dat dit als een lijst binnenkomt en we willen dat dit resulteert in een tabel, want als we het van die ene kolom naar meerdere kolommen ongedaan maken, gaat het van een lijst naar een tabel. En nu moeten we die inkomende lijst converteren naar een tabel, zodat we onze index kunnen toevoegen, onze Modulo unpivot kunnen starten en alle dingen kunnen doen die nodig zijn om het opnieuw te formatteren.

Aangepaste LuckyTemplates-queryfuncties

We noemen het ConvertStack , en dat gaat een functie gebruiken met de naam Table.FromList . Zoals veel van de M-functies doet het precies wat het zegt. Er is gewoon een lijst voor nodig. In dit geval wordt de lijst onze stapellijst. En dan moeten we de bron hier vervangen door onze ConvertStack. Het ziet er goed uit! We hebben geen syntaxisfouten, dus laten we op Gereed klikken.

Nu geeft het ons wat we wilden, namelijk de mogelijkheid om een ​​kolom te kiezen.

Aangepaste LuckyTemplates-queryfuncties

Vervolgens gaan we TestData kiezen, wat de verkeerd opgemaakte gegevens zijn. We kiezen de kolom Waarde en klikken vervolgens op OK. Daarna klikken we op Invoke.

Aangepaste LuckyTemplates-queryfuncties

We krijgen echter deze fout. Het is echt moeilijk om vast te stellen wat deze fout is. Een van de problemen met aangepaste functies is dat ze de toegepaste stappen niet uitsplitsen, maar slechts één stap voor de volledige aangepaste functie. Maar er is een manier om dat te omzeilen in de foutopsporing die ik je zal laten zien. Het zal het een stuk makkelijker maken om erachter te komen wat hier aan de hand is.

Aangepaste LuckyTemplates-queryfuncties

In plaats van dit voorlopig als een functie uit te voeren, gaan we het als een query uitvoeren. We gaan die Stack-oproep handmatig starten. We moeten definiëren wat Stack is, omdat we het niet tekenen door het te kiezen in de Invoke. We hebben dus Stack gelijk aan TestData en de Value-kolom van TestData.

Aangepaste LuckyTemplates-queryfuncties

Wat het doet, is dat het het nu opsplitst in de Toegepaste Stappen. Dit helpt ons erachter te komen waarom dit niet werkt. Merk een interessant ding op wanneer we Stack binnenhalen. Aanvankelijk haalt het TestData [Waarde] binnen, maar wanneer we het naar een tabel converteren, is in plaats van Waarde de kolomkop, de kolomkop nu Kolom1.

Aangepaste LuckyTemplates-queryfuncties

Onthoud het foutbericht, het was dat het de kolom Waarde niet kon vinden. De reden dat de kolom Waarde niet kon worden gevonden, is dat de functie Table.FromList die hernoemt naar Kolom1.

Als we de Toegepaste Stappen doorlopen, kunt u zien dat het in de Toegevoegde Aangepaste stap is waar we de fout krijgen. Dit is waar de waarde van het record niet is gevonden.

Aangepaste LuckyTemplates-queryfuncties

En dus, als we naar de geavanceerde editor gaan, vinden we dat aangepaste veld, en we kunnen zien dat het in de tekst staat. Verwijder waar we die ongewenste tekens verwijderen die we niet nodig hadden, maar het verwijst nog steeds naar het veld Waarde. We zullen dat veranderen in Kolom1. Evenzo verwijst het in het veld Verwijderde kolommen naar Waarde, dus we zullen dat ook veranderen in Kolom1.

Aangepaste LuckyTemplates-queryfuncties

En als we dan aan het einde van de Applied Steps komen, levert dat het perfecte eindresultaat op.

Aangepaste LuckyTemplates-queryfuncties

Nu we weten dat dit goed werkt, hebben we nog één ding te doen. Onthoud dat we de aangepaste functie in een query hebben omgezet om het te debuggen. En dus moeten we die vraag nu nemen en er weer een functie van maken.

Aangepaste LuckyTemplates-queryfuncties


Een aangepaste tekstopschoonfunctie maken in Power Query
M Code in Power Query Aangepaste kolommen | LuckyTemplates-
functiequery en operatoren in de Query-editor

Conclusie

In deze zelfstudie hebben we deze aangepaste functie gebouwd, debuggen, getest en het werkt geweldig. En dus kunnen we nu, elke keer dat we een stapel met drie elementen hebben, gewoon die tabel selecteren, die kolom in de tabel kiezen en die aangepaste functie uitvoeren. Breng vervolgens de Modulo aan, de unpivot en ruim op.

Dit zou je een aantal leuke tools moeten geven voor het maken van aangepaste functies. Onthoud ook die truc over debuggen door het terug te zetten in een query van een functie en het vervolgens terug te schakelen na het debuggen. Het is een echt waardevolle tool die het veel gemakkelijker maakt om aangepaste functies te debuggen.

Al het beste!


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