Wat is zelf in Python: voorbeelden uit de echte wereld
Wat is zelf in Python: voorbeelden uit de echte wereld
Ik ga je laten zien hoe je records kunt extraheren uit samengevoegde, gescheiden gegevens binnen meerdere kolommen . Dit verandert uw gegevens in een indeling die geschikter is voor analyse.
Er zijn een aantal manieren om dit te doen. Maar voor deze tutorial ga ik me concentreren op een oplossing voorgesteld door Ankit, die deel uitmaakt van onze LuckyTemplates-community. Je kunt de volledige video van deze tutorial onderaan deze blog bekijken.
Inhoudsopgave
Text.Split gebruiken
Voor deze oplossing ga ik Power Query gebruiken om records uit gescheiden gegevens te extraheren.
Hieronder vindt u de tabel Opportunities binnen Power Query .
Zoals u kunt zien, zijn er meerdere waarden samengevoegd tot één record. In de 2e rij worden bijvoorbeeld 4 verschillende waarden weergegeven. Deze 4 waarden zijn samengevoegd onder de kolommen Concurrenten en Concurrentbedragen .
Het eerste wat ik ga doen is Text.Split gebruiken .
Text.Split retourneert een lijst na het splitsen van een tekstwaarde op basis van een specifiek scheidingsteken.
Om Text.Split te gaan gebruiken , ga ik het scheidingsteken kopiëren dat in deze tabel wordt gebruikt.
U zult merken dat zodra ik op dat item in de tabel klik, de recordwaarde onderaan verschijnt. Ik kopieer het scheidingsteken gewoon vanaf daar.
Zodra ik dat heb gedaan, ga ik een aangepaste kolom toevoegen.
Ik hoef de naam nog niet te veranderen. Ik hoef alleen maar een Text.Split te doen onder Aangepaste kolomformule .
Deze formule heeft een tekstwaarde nodig. Dus ik kies gewoon de kolom Concurrenten in het rechterdeelvenster en deze wordt automatisch aan de formule toegevoegd.
Ik heb ook een scheidingsteken nodig als tekst. Dus tussen een paar aanhalingstekens plak ik het scheidingsteken dat ik eerder heb gekopieerd. Vervolgens voeg ik het haakje sluiten toe.
Zodra ik op OK druk, krijg ik een lijstobject.
Kijkend naar de eerste lijst, tonen de kolommen Concurrenten en Bedrag slechts één item. Dus als ik op de lege ruimte naast het lijstobject onder de kolom Aangepast klik, wordt onderaan ook een enkele waarde weergegeven.
Voor het tweede record heb ik een lijst met vier waarden. Dit komt overeen met de 4 waarden die ook worden weergegeven in de kolom Concurrenten en de kolom Bedragen .
List.Zip gebruiken
Nu ik de lijst heb gesplitst, is de volgende stap het toevoegen van de corresponderende waarde uit de kolom Competitor Amounts. Ik ga naar de List.Zip om dat te doen.
Zie List.Zip als een echte ritssluiting. Er is een lijst met lijsten voor nodig en combineert de items.
Kijkend naar het onderstaande voorbeeld, denk maar aan de eerste lijst (1 en 2) als de groene track op de rits.
Denk dan aan 3 en 4 als de rode baan.
Wanneer List.Zip wordt toegepast, komen ze samen in het midden. Dus 1 van de 1e groep wordt gecombineerd met 3 van de 2e groep. Hetzelfde gebeurt voor 2 en 4. Dit is te zien op de uitvoer, waar twee nieuwe groepen zijn gevormd.
Het kan voorkomen dat de betrokken lijsten verschillende lengtes hebben . Dit betekent dat als de lijsten worden gecombineerd, de ontbrekende gegevens worden geretourneerd . Om ondanks het ontbreken van gegevens exacte paren te maken, wordt een null-waarde toegevoegd .
Terugkerend naar de Opportunities- tabel, ga ik nog een aangepaste kolom toevoegen.
Deze keer ga ik de kolom Competitor Amounts toevoegen aan de formule.
Ik ga ook List.Zip toevoegen .
Als u hieronder controleert, ziet u dat er geen fouten zijn gedetecteerd.
Maar als ik op OK klik en naar de nieuw gevormde kolom kijk, krijg ik nog steeds een foutmelding.
Ik ga op de witte ruimte naast de fout klikken om de details te zien. Het laat zien dat ik een foutmelding krijg omdat ik enkele argumenten rond de lijsten heb geretourneerd.
Als we naar de formule kijken, blijkt dat deze syntaxis waarin naar de kolom Concurrenten werd verwezen, een lijst opleverde.
Maar de syntaxis voor de kolommen Competitor Amounts retourneerde ook een lijst.
Herinnerend aan wat List.Zip doet, het neemt een enkele lijst met lijsten en combineert deze .
Aangezien er twee lijsten verschijnen, heb ik de lijstinitialisatie nodig om die lijsten bij elkaar te brengen . Daarom voeg ik deze accolades toe.
Zodra ik de afsluitende accolade aan het einde heb toegevoegd, hoef ik alleen maar op enter te drukken. Dat geeft me een lijstobject.
Als ik nu naar de zijkant van het eerste record klik, wordt er een enkel lijstobject weergegeven. Dit is correct, aangezien er onder Competitor Amounts echt één enkele waarde is.
Als ik hetzelfde doe met het tweede record, toont het een lijstobject met 4 lijsten. Dat komt ook overeen met het aantal waarden in de gescheiden gegevens onder Competitor Amounts.
Ik gebruik de zijwaartse pijlen rechts van de kop van de kolom Aangepast om de gegevens uit te breiden naar nieuwe rijen.
Let op het tweede record terwijl ik uitbreid naar nieuwe rijen.
U zult zien dat alle waarden uit dat record naar beneden worden uitgevouwen.
En als ik opzij in de witte ruimte klik, kan ik de inhoud van die geneste lijst zien. Omdat het 1e record slechts één waarde voor elke kolom heeft, laat ik dezelfde gegevens ook onderaan zien.
Maar als ik op het 2e record klik, zie je dat ik alleen de 1e van de 4 waarden in mijn gescheiden gegevens laat zien.
Op de derde plaat laat ik de combinatie van de tweede waarden zien.
Dus ik ga de zijwaartse pijlen weer gebruiken. Maar deze keer ga ik de waarden uit die lijst halen.
Ik ga het een aangepast scheidingsteken geven.
Ik gebruik de dubbele pijp als mijn scheidingsteken. Dit zou het onderscheid tussen de waarden in de gescheiden gegevens duidelijker moeten maken.
Zodra ik op OK druk, worden de waarden samengevoegd in de kolom Aangepast.
De gegevens opschonen
Ik heb de kolommen Concurrent en Competitor Amounts niet meer nodig, dus ik ga die kolommen verwijderen.
Wat betreft de aangepaste kolom, die ga ik splitsen.
Op het tabblad Transformeren selecteer ik Kolom splitsen. Ik ga het splitsen door het scheidingsteken.
In de etalage ga ik de dubbele pijp als basis geven.
Zodra ik op OK druk, worden de gegevens nu opgesplitst in afzonderlijke kolommen.
Ik hernoem deze nieuwe kolommen gewoon om het gemakkelijker te maken om erachter te komen waar de gegevens over gaan. Ik noem dit weer de Concurrent-kolom.
Dan noem ik de andere kolom de kolom Bedrag.
Uiteraard bevat de kolom Bedrag getallen. Maar als u naar het pictogram kijkt dat het gegevenstype vertegenwoordigt, laat dit zien dat ik tekst heb in plaats van cijfers. Dus ik zal beginnen met het repareren ervan.
Ik woon in Europa, dus gebruiken we een punt als scheidingsteken voor duizendtallen in plaats van een komma. Ik ga Waarden vervangen gebruiken om dat op te schonen.
In het venster hoef ik alleen maar een komma te plaatsen onder Waarde om te zoeken en een punt onder Vervangen door.
Zodra ik op OK druk, zullen alle komma's nu punten weergeven.
Het volgende dat ik ga doen is het dollarteken voor de waarden verwijderen. Nogmaals, ik zal het gereedschap Waarden vervangen gebruiken. Deze keer laat ik de ruimte voor Vervangen door leeg.
Zodra ik op OK druk, tonen de waarden alleen de cijfers zonder enige valuta.
Als ik naar beneden kijk in mijn kolom, wordt hier ook een vermelding weergegeven met een dubbel streepje. Aangezien dat een mogelijke fout zou kunnen opleveren, ga ik dat dubbele streepje verwijderen.
Ik zal het dubbele streepje vervangen door een spatie.
En zodra ik op OK druk, heb ik het juiste formaat voor alle vermeldingen onder de kolom Bedrag.
Ik kan nu op het pictogram voor het gegevenstype klikken en Geheel getal kiezen.
Datumnotaties wijzigen met de Power Query-editor
3 manieren om waarden te combineren met DAX Inside LuckyTemplates
Geavanceerde transformaties in LuckyTemplates
Conclusie
Zoals ik eerder al zei, kunt u op verschillende manieren waarden uit gescheiden gegevens extraheren. Maar voor mij is deze aanpak een van de gemakkelijkste en snelste manieren om het te doen.
Aangezien ik het idee voor deze oplossing kreeg van een van de leden van de gemeenschap, laat dit ook zien hoe belangrijk het is. Je kunt elk probleem echt vanuit veel verschillende perspectieven bekijken. Van daaruit kunt u gewoon een oplossing kiezen waarvan u denkt dat die het beste voor u werkt.
Al het beste,
Melissa
***** LuckyTemplates leren? *****
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