Wat is zelf in Python: voorbeelden uit de echte wereld
Wat is zelf in Python: voorbeelden uit de echte wereld
In deze blogpost gaan we dieper in op een aangepaste functie voor het opschonen van tekst die ik heb gemaakt voor onze doorlopende serie op LuckyTemplates TV genaamd . Je kunt de volledige video van deze tutorial onderaan deze blog bekijken.
Voor week #2 hebben we wat rommelige gegevens die opgeschoond moeten worden. Ons doel hier is om alle tekstwaarden in beide kolommen op te schonen.
Voor deze taak heb ik een schone tekstfunctie gemaakt.
Maar laten we eerst even kijken naar de M-code.
Deze functie neemt één parameter genaamd myText. De waarde moet van het type tekst zijn en de functie moet een tekstwaarde retourneren, omdat niet alle onderstaande variabelen een tekstwaarde zullen retourneren.
Het declareren van het retourtype resulteert in een fout. Om te voorkomen dat die fout zich voordoet, kan ik daar nu commentaar op geven.
Als we willen zien wat de eerste variabele oplevert, hoeven we er alleen maar naar te verwijzen met de naam, na de in-clausule. Dus ik ga de variabele ToRemove kopiëren, op de onderste regel plakken en op OK drukken.
Om het resultaat van die functie te zien, moeten we deze aanroepen. Laten we dus een aangepaste kolom aan deze query toevoegen.
Roep dan onze functie aan, selecteer deze samengevoegde kolom en druk op OK.
Inhoudsopgave
De lijsten maken op basis van een lege query
We zien nu dat de stap ToRemove een lijst maakt. In feite is het een combinatie van twee lijsten.
De eerste lijst heeft de aanhalingstekens gemaakt en de tweede lijst is een reeks tekens die ik wilde verwijderen.
Hoe heb ik deze lijst gemaakt?
Nou, ik gebruikte een functie genaamd Txt.ToList.
U krijgt toegang tot de interne functiedocumentatie door een lege query te maken, de functienaam zonder haakjes in te voeren en vervolgens op Enter te drukken.
We zien dat Text.ToList een lijst met tekenwaarden retourneert uit een gegeven tekstwaarde.
Laten we wat teksten plakken en deze functie aanroepen.
Er wordt een nieuwe zoekopdracht gemaakt en u kunt zien dat deze lijst alle letters bevat die we hier in de tekst zien.
Weet je nog dat ik een extra lijst heb toegevoegd, toch? Ik combineerde twee lijsten en ik gebruikte de ampersand om dat te doen.
Laten we dat nu opnieuw maken. Ik gebruikte de ampersand en de lijstinitialisatie en voerde vervolgens die aanhalingstekens in.
We zien nu dat de quotes aan deze lijst zijn toegevoegd, maar waarom heb ik een lijst gemaakt?
Welnu, in de volgende stap van mijn functie voor het opschonen van tekst heb ik een M-functie gebruikt met de naam Tekst. Verwijderen.
En je ziet dat je een tekst kunt invoeren en vervolgens een lijst met tekens die je uit die string wilt verwijderen.
Laten we teruggaan naar onze functie voor het opschonen van tekst.
Naar. Remove heeft deze twee lijsten gemaakt en ze vervolgens samengevoegd tot één lijst.
En laten we dan de variabele CleanText plakken. De 'in'-component roept de M-functie Text.Remove aan en geeft de myText-variabele door, en roept vervolgens de To.Remove-lijst aan. Laten we eens kijken wat dit doet.
Laten we teruggaan naar onze vraag. Dit retourneert niet langer een lijst, maar retourneert enkele tekstwaarden.
Trimmen in Power Query
De volgende stap is trimmen . Zoals je kunt zien op de afbeelding hierboven, hebben we wat extra spaties en een komma aan het eind waar we vanaf willen. Hiervoor kunnen we de trimfuncties gebruiken. Laten we teruggaan naar de query om de M-code te onderzoeken.
In de M-code heb ik 2 trimfuncties genest. De eerste tekenreeksfunctie verwijdert de extra spaties aan het begin en einde van onze CleanText-variabele.
Voor de resterende teksten die we hebben, verwijderen we ook de spaties uit de resultaattekenreeks.
We gaan ook de afsluitende komma verwijderen.
Laten we het resultaat zien. Ik ga de naam van de variabele kopiëren, plakken na de 'in'-clausule en op Gereed klikken. Wanneer we onze zoekopdracht vernieuwen, kunt u zien dat de extra spaties zijn verdwenen en de komma is verwijderd.
In de laatste stappen van mijn query heb ik zojuist enkele tekstwaarden vervangen.
In het laatste geval heb ik dat onderstrepingsteken vervangen door een spatie. Laten we dat kopiëren en plakken na de 'in'-clausule. Ik heb ook het retourtype weer ingeschakeld.
Laten we teruggaan naar onze vraag en de resultaten bekijken - tot nu toe, zo goed!
Nu willen we geen nieuwe kolommen maken om onze functie aan te roepen, toch? Wat we kunnen doen, is in plaats daarvan onze kolom 1 in onze samenvoegkolom transformeren.
Ik ga deze aangepaste kolomstap verwijderen.
Vervolgens ga ik de gebruikersinterface gebruiken om het grootste deel van de code voor ons te maken. Selecteer op het tabblad Transformeren beide kolommen, ga naar Opmaak en selecteer een functie.
Het maakt echt niet uit welke functie is geselecteerd, omdat dit de M-code is die wordt gegenereerd door de gebruikersinterface. We kunnen die tekst nu vervangen. Lagere functie...
… met onze schone tekstfunctie. Hopelijk begrijp je waarom ik vooraan fx moest toevoegen. Er is geen 'in functie' die daarmee begint.
Als we op OK drukken, kun je zien dat onze teksten zijn opgeschoond. Dit is geweldig.
Conclusie
Waarom moesten we alle moeite doen om een opschoonfunctie op maat te maken? Welnu, als het waarschijnlijk is dat u deze stap moet herhalen of soortgelijke logica in de toekomst moet gebruiken, kunt u deze functiequery opslaan.
Op deze manier versnelt het de vraagontwikkeling in een later stadium. Een andere goede reden is dat het ook leuk is om te doen.
Ik hoop dat je deze tutorial leuk vond. Als dat zo is, vergeet dan niet om je te abonneren op het LuckyTemplates-kanaal .
Melissa
Wat is zelf in Python: voorbeelden uit de echte wereld
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.
In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.
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.
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.
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.
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.
Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.
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