Wat is zelf in Python: voorbeelden uit de echte wereld
Wat is zelf in Python: voorbeelden uit de echte wereld
In de blog van vandaag leert u hoe u LuckyTemplates kunt gebruiken om kolommen te splitsen met scheidingstekens met behulp van DAX. Dit is iets waarvan u waarschijnlijk weet hoe u het gemakkelijk kunt doen met Power Query, en dat is over het algemeen de beste manier om het te doen.
Maar vanwege de dynamische aard van het probleem en de specifieke overwegingen binnen het datamodel zijn er situaties waarin het gebruik van DAX een betere oplossing biedt. Je kunt de volledige video van deze tutorial onderaan deze blog bekijken.
Inhoudsopgave
Voorbeeld probleem
Dit is het voorbeeldprobleem in LuckyTemplates.
U hebt een lijst met ongeveer 600 filmtitels en u wilt de meest voorkomende woorden identificeren. Om dat te doen, gebruikt u de onderstaande parameterschuifregelaar om de woorden van elke titel te berekenen.
In de schuifregelaar kunt u instellen hoeveel topwoorden u wilt retourneren. Stel dat u voor deze zelfstudie vijf woorden hebt ingesteld.
Je volgende doel is om elke titel terug te geven die ten minste één van de vijf woorden bevat die je hebt geselecteerd. Dit klinkt misschien eenvoudig, maar dat is een beetje lastiger dan het lijkt. Dus hier zijn de stappen om deze doelen te bereiken.
Stappen voor het splitsen van kolommen met scheidingstekens
In dit gedeelte leert u hoe u het gegeven probleem kunt oplossen door kolommen in DAX te splitsen. De eerste stap is om de filmgegevens te openen door op het tweede pictogram aan de linkerkant te klikken en vervolgens op Film in het veldenvenster.
In de lijst met films die zal verschijnen, moet je manieren bedenken om de titels op te splitsen in afzonderlijke woorden.
Een mogelijke oplossing is om twee virtuele tabellen te gebruiken , zoals hieronder weergegeven. Tabel 1 is een tabel met één kolom van de bovenste N woorden gedefinieerd door de schuifregelaar. De tweede tabel is een virtuele kolom met de woorden in elke filmtitel.
Vervolgens kunt u met behulp van de twee virtuele tabellen de functie gebruiken om te bepalen welke woorden er gemeenschappelijk zijn. Voer vervolgens uit op die virtuele tafel om te weten of dat getal groter is dan of gelijk is aan één.
Als het antwoord ja is, dan staat tenminste één van de doelwoorden in de filmtitel. En dat zijn de titels die we in het eindresultaat willen behouden.
Nuttige LuckyTemplates-tools voor gesplitste kolommen vinden in de SQLBI DAX-handleiding
Om na te denken over hoe u dat kunt implementeren, kunt u de SQLBI DAX-handleiding raadplegen door naar Externe hulpmiddelen te gaan en vervolgens DAX-handleiding .
Op deze pagina kunt u functies zoeken op type door op Groepen te klikken.
Onder Functies kunt u beginnen met Tekst om te zien of er tekstfuncties zijn die vergelijkbaar zijn met het splitsen van kolommen door scheidingstekens. Dat zou het heel gemakkelijk maken, maar helaas is er niets dat daarmee overeenkomt in DAX.
Wat u in plaats daarvan gaat gebruiken, zijn de die hetzelfde doen als splitsen door het scheidingsteken.
Ouder-kind hiërarchiefuncties
De bovenliggende-kindhiërarchiefuncties of de PATH-functies worden meestal gebruikt voor hiërarchische situaties. Stel dat u een HR-analyse nodig heeft waarbij u de CEO van een bedrijf, de managers op directeursniveau, de managers op het niveau van de filiaalchefs, enzovoort, hebt.
PATH-functies kunnen deze hiërarchie op een bepaalde manier uitdrukken en er heen en weer doorheen lopen. Dit is het traditionele gebruik van de bovenliggende-onderliggende hiërarchiefuncties, maar u zult leren dat het ook een aantal zeer nuttige eigenschappen heeft voor tekstmanipulatie en DAX.
Het gebruik ervan is een stuk lastiger dan LuckyTemplates, maar we hopen het proces gemakkelijker te maken door u een stapsgewijze oplossing te bieden. Het is een handige techniek om te leren, en het stelt je bloot aan een familie van DAX-functies die ongelooflijk krachtig zijn.
LuckyTemplates gesplitste kolom in DAX
De functies van de bovenliggende-kindhiërarchie omvatten een aantal stappen, maar ze zijn de moeite waard om te bekijken, omdat deze vijf functies echt krachtig en flexibel zijn.
te beginnen terug naar de tabel en klik op Filmpad in het veldenvenster.
Maak een filmpad met het commando zoals hieronder weergegeven.
Wat deze opdracht doet, is elke spatie vervangen door een verticaal streepje.
Dit is dezelfde manier waarop paden moeten worden opgemaakt in LuckyTemplates, dus meestal wordt dit gedaan in Power Query. opdrachten te zien , die verschillen van de M-opdrachten in Power Query.
De functie creëert de padstructuur die u nodig hebt, terwijl de opdracht alle voorloop- of volgspaties verwijdert die onze resultaten kunnen beïnvloeden.
Uw tweede berekende kolom is de padlengte. Het is een regelrechte opdracht in de functie die u toepast op het filmpad. Het zal je vertellen hoeveel items er op dat pad staan, dus in dit geval is het het aantal woorden in de titel.
Hetzelfde commando kan worden gebruikt om bijvoorbeeld het aantal mensen in de meldketen te bepalen. Maar deze zaak is slechts een simpele woordentelling.
Het volgende dat u moet doen, is naar de Max Path Index in het deelvenster Velden gaan. Maak vervolgens een berekende tabel die de hele filmtabel doorloopt, de filters verwijdert en de maximale padlengte berekent om de langste titel in de database te kennen.
Met behulp van de functie kunt u een reeks indexen genereren met één tot het maximale aantal paden.
Zo zou je tafel eruit moeten zien. U zult zo zien waarom dit waardevol is.
Ga voor nu terug naar LuckyTemplates en klik op Topwoorden in filmpad in het veldenvenster.
We zullen ons concentreren op deze virtuele tafel waarvan de algemene oplossing het eerder getoonde Venn-diagram was.
Laten we het opsplitsen om het beter te begrijpen. In de onderstaande regels hebben we de virtuele tabel gebruikt voor de top N woorden, zoals hieronder berekend.
Vervolgens wordt de gesplitste kolom door scheidingsteken berekend in de onderstaande regels.
Vervolgens hebben we de kruising van die twee kolommen toegepast. Als dat snijpunt groter is dan nul, geven we het een één of anders nul. Uiteindelijk hebben we het resultaat geretourneerd.
Wanneer u met complexe virtuele tabellen werkt, is de eenvoudigste manier om naar de Tabular Editor te gaan , waar u deze virtuele tabellen kunt materialiseren in een DAX-query. Daarvoor moet u zich concentreren op de hieronder gemarkeerde lijnen.
Dus kopieer deze code en laat hem op ons klembord staan voor de volgende stappen.
Gesplitste LuckyTemplates-kolommen verwerken met behulp van de tabellarische editor 3
Klik in de Externe hulpmiddelen op Tabellarische editor 3 . U kunt hiervoor ook DAX Studio gebruiken, maar Tabular Editor wordt aanbevolen vanwege de extra debug-functies en andere leuke mogelijkheden. Voor DAX-vragen werkt DAX Studio ook goed en het is helemaal gratis.
Terug in de Tabular Editor maakt u een nieuwe DAX-query door op het papierpictogram in het lint te klikken. Typ EVALUATE in regel 1, plak de gekopieerde code en druk op F5.
U krijgt een tabel met het filmpad en het maximale pad voor de eerste twee kolommen. Voor de derde kolom gebruikt u de opdracht en het filmpad om te bepalen wat het eerste woord is voor elke verhoging van de padindex, van één tot negen.
Deze code retourneert het eerste woord dat in de derde kolom wordt gepresenteerd.
Probeer een bepaalde film te bekijken door op het pictogram Filter in de kolomtitel Films[Filmpad] te klikken. Neem er bijvoorbeeld een die iets langer is, bijvoorbeeld Captain America: The Winter Soldier.
In het onderste deel van het venster kunt u zien dat EVALUATE 1000 rijen heeft geretourneerd .
Krijg alle rijen en ga dan terug en filter Films [Filmpad] opnieuw voor Captain America.
Zoek naar Captain America: The Winter Soldier. Vink het juiste vakje aan en klik op Sluiten.
Wat het precies doet voor elke titel, is de één tot en met negen indexen doorlopen en toepassen, zoals te zien is in de tweede kolom, en dat vervolgens toepassen op het commando.
Je kunt zien dat het eerste item Captain is , het tweede item America , het derde The , het vierde Winter en het laatste Soldier . Als je van zes naar negen gaat, is het gewoon leeg omdat het het aantal woorden in die specifieke titel heeft overschreden.
Wat u hebt gemaakt, is een kolom Gesplitst op scheidingsteken, die precies hetzelfde is als de kolom Gesplitst op scheidingsteken in Power Query.
In LuckyTemplates zie je dat de opdracht die door de intersectie en de IF-instructie loopt. Dus als u teruggaat naar uw dataset en het deelvenster Filters opent, kunt u zien dat het bovenste woord in film is gefilterd zodat het gelijk is aan één.
Dit betekent in feite dat alles in de rechtertabel (Film) met een woord dat in de doellijst in de linkertabel staat, in de bovenste rijen wordt weergegeven. Aan de andere kant, degenen die nul zijn, worden naar beneden geplaatst.
Power Automate splitsfunctie en arrays
LuckyTemplates-kolomsplitsing Power Query-zelfstudie: Excel-cellen met meerdere regels splitsen in LuckyTemplates
Een gescheiden lijst maken in Power Query – Zelfstudie Query-editor
Conclusie
In deze blog heb je geleerd hoe je kolommen kunt splitsen met scheidingstekens in DAX. U zult merken dat deze tool erg handig is wanneer uw situatie erg dynamisch is of uw datamodel het niet ondersteunt om dit in Power Query te doen.
Bovendien is het voorbeeldprobleem waaraan je hebt gewerkt een goede illustratie van de ongebruikelijke kracht van de PATH-opdrachten en hoe je die kunt gebruiken om problemen op niet-traditionele manieren op te lossen.
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