Wat is zelf in Python: voorbeelden uit de echte wereld
Wat is zelf in Python: voorbeelden uit de echte wereld
In de tutorial van vandaag laat ik zien hoe je pad- en tekstfuncties in LuckyTemplates kunt gebruiken om bepaalde woorden uit een bepaalde tekenreeks te extraheren. Je kunt de volledige video van deze tutorial onderaan deze blog bekijken.
In dit voorbeeld hebben we twee rijen datasets en we willen tekstfuncties gebruiken om de voornaam te extraheren, namelijk Antriksh en Brian, daarna de middelste naam en dan de definitieve naam.
Dus laten we beginnen. Ik zal je laten zien hoe je dat doet door gebruik te maken van beide verschillende sets functies die beschikbaar zijn in DAX. Ik ga de activiteit uitvoeren in de DAX Studio zodat je bij elke stap kunt zien wat de code die ik aan het schrijven ben daadwerkelijk gaat teruggeven.
Inhoudsopgave
DAX-codes met behulp van tekstfuncties in LuckyTemplates
In DAX Studio schrijven we onze code. Het eerste dat we moeten doen, is het trefwoord DEFINE schrijven en vervolgens COLUMN . Ik maak een virtuele kolom die alleen bestaat voor de duur van deze sessie die ik in DAX Studio heb geopend. Elke kolom die ik hier maak, zou niet blijven bestaan in de dataset die we in LuckyTemplates hebben.
Vervolgens geef ik de tabelnaam op waarin die kolom wordt gemaakt. De naam van de kolom zou First Name zijn .
Om de voornaam uit de dataset te halen die we al hebben gezien, moet ik de positie van de eerste spatie vinden. Zodra ik die positie heb, zal ik het eerste teken extraheren. Ik zal het woord extraheren dat begint vanaf positie één tot de positie van die eerste spatie.
Om dat te doen, ga ik een variabele maken ( FirstSpace ), en dat zou in feite een zoekactie zijn. Dus ik schrijf Names , dan Data , wat de oorspronkelijke kolom in mijn database is. Ik kan dan de FirstSpace- variabele RETURN zodat we kunnen zien wat het gaat retourneren.
Om het resultaat te kunnen visualiseren, moeten we schrijven EVALUATE , waarmee de DAX-code wordt geactiveerd en de tabelnaam wordt opgegeven die we in het model hebben.
Als ik op f5 druk, kun je zien dat we bij elke naam een bepaald nummer zoeken. Er staat negen op de eerste rij en zes op de tweede.
In de eerste rij bevat de naam Antriksh slechts acht tekens en retourneert het een-op-veel omdat het de positie van de spatie telt. Om acht te krijgen, kan ik min één schrijven. Om het eerste woord te retourneren, gebruik ik de functie LINKS en schrijf ik de tekenreeks waaruit ik de voornaam wil extraheren, en dat is Names Data . En dan wil ik het aantal tekens opgeven dat ik wil extraheren. Ik schrijf FirstSpace en sluit dit dan.
Als ik op f5 klik, kun je zien dat ik de voornaam uit die string heb gehaald. Zo kunt u de LINKER-tekstfunctie gebruiken om de voornaam te extraheren.
Laten we nu het middelste trefwoord of de middelste naam uit uw eigen tekenreeks halen. Merk op dat er meerdere manieren zijn om een middelste zoekwoord te extraheren, maar ik ga de meest eenvoudige gebruiken die heel gemakkelijk te begrijpen is.
Ik zal nog een kolom maken, Namen [middelste naam] . Vervolgens ga ik een variabele maken die de string bevat die momenteel wordt herhaald door de DAX-code. Dus dat zou de volledige reeks bevatten. De FullName zou dus gelijk zijn aan Names [Data] .
En dan moet ik in een variabele de naam opslaan die ik al heb geëxtraheerd in de eerder berekende kolom. Om dat te doen, schrijf ik VAR FirstName en gebruik ik de kolom Names[FirstName] .
Vervolgens maak ik een andere variabele, die de naam NewText krijgt . Ik zal gewoon de voornaam uit de FullName-variabele verwijderen, zodat de resulterende variabele of de resulterende kolom alleen DAX Sharma en R Julius zou bevatten.
Nog een ding waar we voor moeten zorgen, is die voorloopspatie vóór DAX en R. Om die te verwijderen, voeg ik TRIM toe aan de code. TRIM verwijdert eventuele extra spaties in uw tekstreeksen.
Het volgende dat u moet doen, is de positie bepalen van de spatie die bestaat na de DAX en het R-sleutelwoord. En daarvoor kan ik een variabele schrijven, StartPos (startpositie), en dat is in feite een zoektocht naar de lege ruimte in de NewText-variabele. Dan moet ik er één aftrekken, zodat er slechts drie worden geretourneerd, en één in het geval van R en niet twee.
De laatste variabele die ik moet maken is RESULT , waarin ik alleen de waarde DAX en R ga extraheren met de functie LINKS . Nu hebben we de sleutelwoorden DAX en R opgehaald die we uit de oorspronkelijke tekenreeks wilden halen.
Vervolgens gaan we de achternaam uit de originele string halen. Om dat te doen, maak ik een andere kolom, Names[Achternaam] . Vervolgens maak ik eerst een variabele ( FullName ) waarin die originele string wordt opgeslagen.
De volgende variabele die ik ga maken, is ReplaceSpaceWithTilde , die elke spatie in de originele tekenreeks zal vervangen door een specifiek teken waarvan ik denk dat het niet in de originele tekenreeks voorkomt. Ik zal dat karakter later gebruiken om de positie van de laatste spatie te identificeren. Daarmee kun je zien dat alle spatie is vervangen door het tilde-teken ( ? ).
Vervolgens ga ik een andere variabele maken ( RemoveSpace ), die de spatie zal verwijderen die ik in de originele string heb. Ik wil de ruimte vinden en deze vervolgens vervangen door niets. De volgende variabele, PosLastTilde (positie laatste tilde) zal in principe de lengte van RemoveSpace aftrekken van de lengte van de ReplaceSpaceWithTilde variabele. Dat geeft ons 2.
En nu zal ik meer codes schrijven om dat te vervangen door het tilde-teken.
Nu hoef ik alleen dat te gebruiken om het woord Sharma te extraheren. Ik maak een variabele, Result , en ik ga de MID- functie gebruiken.
Padfuncties gebruiken om DAX-codes in te korten
Laten we nu verder gaan en kijken hoe we de padfuncties kunnen gebruiken om de hoeveelheid code die we hebben geschreven met tekstfuncties in LuckyTemplates te verkorten. Het zal je verbazen dat hoewel padfuncties niet actief zijn ontworpen voor dit soort bewerkingen, je door deze functies te gebruiken, al deze codes kunt converteren.
Dus ik ga een nieuwe sessie van DAX Studio maken door op Controleren te drukken en verbinding te maken met het LuckyTemplates-bestand. Ik specificeer de DEFINE en het kolomsleutelwoord, en vervolgens het pad in de tabelnaam en de naam van de virtuele kolom, die alleen voor deze sessie blijven bestaan.
Vervolgens gebruik ik de SUBSTITUTE- functie en moet ik het pad in de oorspronkelijke kolom in het eerste argument invoeren en vervolgens de spatie vervangen door de pipe-operator. Padfuncties gebruiken de pipe-operator om het kind uit de bovenliggende-kindhiërarchie te extraheren.
Laten we vervolgens het resultaat van deze kolom retourneren door EVALUATE en de Namen en de naam van de tabel te gebruiken. Ik druk op f5 en je zult zien dat we een string of een andere kolom hebben ontvangen, die elk teken bevat dat we al in de originele string hebben, afgebakend door de pipe-operator ( | ) .
De path-functie gaat die pipe-operator gebruiken om het eerste middelste en het laatste teken te extraheren. Dus ik zal een andere kolom maken die afhankelijk is van het resultaat van de tweede kolom. Ik kan kolomnamen specificeren [Voornaam] , en ik ga de functie PATHITEM gebruiken .
Het enige dat ik in het eerste argument hoef te doen, is de kolom specificeren die we al in de vorige kolom hebben berekend. In het tweede argument moet ik een trefwoord of het teken opgeven dat ik wil extraheren. Vervolgens geef ik het nummer op, 1. Voor de kolom, Tweede naam , geef ik het nummer op, 2 en 3 voor Achternaam .
Wat is DAX Studio in LuckyTemplates Desktop
DAX Formulas Clean Up Tool: enkele updates voor logische
opmaak van DAX-code in LuckyTemplates
Conclusie
Ik heb je laten zien hoe je tekstfuncties in LuckyTemplates binnen DAX-codes kunt gebruiken om bepaalde woorden uit een bepaalde tekenreeks te extraheren. Ik heb ook gedemonstreerd hoe je padfuncties kunt gebruiken om die codes in te korten. U kunt nu dus zien hoe gemakkelijk het is om woorden uit een tekenreeks te extraheren met behulp van de padfuncties. Terwijl we met tekstfuncties veel codes moesten schrijven.
In het geval dat er meerdere woorden in een bepaalde string staan, kunt u een andere padfunctie gebruiken. In plaats van handmatig te berekenen hoeveel scheidingstekens er zijn, en vervolgens het aantal scheidingstekens in de functie PATHITEM op te geven, kunt u de functie PATHITEMEVERSE gebruiken.
Als u vragen heeft over deze zelfstudie, kunt u deze stellen in het opmerkingengedeelte hieronder. Bekijk de onderstaande links en bekijk ook de volledige video voor meer informatie over dit onderwerp.
Al het beste!
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