LuckyTemplates dela kolumn efter avgränsare i DAX

I dagens blogg kommer du att lära dig hur du använder LuckyTemplates för att dela kolumner efter avgränsare med hjälp av DAX. Detta är något du förmodligen skulle veta hur du enkelt gör med Power Query, och det är i allmänhet det bästa sättet att göra det. 

Men på grund av problemets dynamiska natur och de specifika övervägandena inom datamodellen, finns det situationer där användning av DAX ger en bättre lösning. Du kan se hela videon av denna handledning längst ner på den här bloggen.

Innehållsförteckning

Provproblem

Detta är exempelproblemet i LuckyTemplates.

LuckyTemplates dela kolumn efter avgränsare i DAX

Du har en lista på cirka 600 filmtitlar och du vill identifiera de vanligaste orden bland dem. För att göra det använder du parameterreglaget som visas nedan för att beräkna orden från varje titel.

LuckyTemplates dela kolumn efter avgränsare i DAX

I skjutreglaget kan du ställa in hur många toppord du vill returnera. För den här handledningen, säg att du ställer in den på fem ord.

Ditt nästa mål är att returnera varje titel som har minst ett av de fem orden du valt. Att göra det kan låta enkelt, men det är lite knepigare än det verkar. Så här är stegen för att uppnå dessa mål.

Steg för hur man delar upp kolumner med avgränsare

Det här avsnittet kommer att lära dig hur du löser det givna problemet genom att dela upp kolumner i DAX. Det första steget är att öppna filmdata genom att klicka på den andra ikonen på vänster sida och sedan på Film i fältrutan. 

LuckyTemplates dela kolumn efter avgränsare i DAX

I listan över filmer som kommer att dyka upp måste du tänka på sätt att dela upp titlarna i enskilda ord.

En möjlig lösning är att använda två som visas nedan. Tabell 1 är en tabell med en kolumn över de N översta orden som definieras av skjutreglaget. Den andra tabellen är en virtuell kolumn med orden i varje filmtitel. 

LuckyTemplates dela kolumn efter avgränsare i DAX

Sedan, med hjälp av de två virtuella tabellerna, kan du använda funktionen för att bestämma vilka ord som är gemensamma mellan dem. Gör sedan på den virtuella tabellen för att veta om det numret är större än eller lika med ett. 

Om svaret är ja, så finns åtminstone ett av målorden i filmtiteln. Och det är de titlarna vi vill behålla i slutresultatet. 

Hitta användbara LuckyTemplates Split Column Tools i SQLBI DAX Guide

För att fundera på hur du kan implementera det kan du hänvisa till SQLBI DAX-guiden genom att gå till den dåvarande DAX-guiden

LuckyTemplates dela kolumn efter avgränsare i DAX

På den här sidan kan du söka efter funktioner genom att klicka på Grupper.

LuckyTemplates dela kolumn efter avgränsare i DAX

Under Funktioner kan du börja med Text för att se om det finns några textfunktioner som liknar dela kolumner med avgränsare. Det skulle göra det ganska enkelt, men tyvärr finns det inget som motsvarar det i DAX.

LuckyTemplates dela kolumn efter avgränsare i DAX

Istället, vad du kommer att använda är de som gör samma sak som delas av avgränsaren.

LuckyTemplates dela kolumn efter avgränsare i DAX

Förälder-barn-hierarkifunktioner

Förälder-barn-hierarkifunktionerna eller PATH-funktionerna används vanligtvis för hierarkiska situationer. Låt oss säga att du behöver en HR-analys där du har VD för ett företag, chefer på direktörsnivå, chefer på filialnivå, och så vidare.

PATH-funktioner kan uttrycka denna hierarki på ett speciellt sätt och gå fram och tillbaka genom den. Detta är den traditionella användningen av föräldra-barn-hierarkifunktionerna, men du kommer att lära dig att den också har några mycket användbara egenskaper för textmanipulation och DAX.

Att använda det är mycket svårare än LuckyTemplates, men vi hoppas kunna göra processen enklare genom att ge dig en steg-för-steg-lösning. Det är en användbar teknik att lära sig, och den utsätter dig för en familj av DAX-funktioner som är otroligt kraftfulla.

LuckyTemplates dela kolumn i DAX

Funktionerna föräldra-barn-hierarki innefattar ett antal steg, men de är värda att ta en titt på eftersom dessa fem funktioner är riktigt kraftfulla och flexibla. 

För att börja, gå tillbaka till tabellen och klicka på Film i fältrutan. 

LuckyTemplates dela kolumn efter avgränsare i DAX

Skapa en filmbana med kommandot som visas nedan.

LuckyTemplates dela kolumn efter avgränsare i DAX

Vad det här kommandot gör är att ersätta varje mellanslag med ett vertikalt strecktecken. 

LuckyTemplates dela kolumn efter avgränsare i DAX

Detta är på samma sätt som sökvägar måste formateras i LuckyTemplates, så vanligtvis görs detta i Power Query. Men du gjorde det på detta sätt för att se kommandona, som skiljer sig från M-kommandona i Power Query. 

Funktionen skapar den vägstruktur som du behöver, medan kommandot tar bort alla ledande eller efterföljande utrymmen som kan påverka våra resultat. 

Din andra beräknade kolumn är sökvägens längd. Det är ett direkt kommando i funktionen som du tillämpar på filmbanan. Det kommer att berätta hur många objekt som finns på den vägen, så i det här fallet är det antalet ord i titeln. 

LuckyTemplates dela kolumn efter avgränsare i DAX

Samma kommando kan användas för att bestämma till exempel antalet personer i rapporteringskedjan. Men det här fallet är bara en enkel ordräkning. 

LuckyTemplates dela kolumn efter avgränsare i DAX

Nästa sak att göra är att gå till Max Path Index i fältet. Skapa sedan en beräknad tabell som går igenom hela filmtabellen, tar bort filtren och beräknar den maximala sökvägslängden för att veta den längsta titeln i databasen.

Med hjälp av funktionen kan du generera en serie index med en till max väg som räknas med ettor. 

LuckyTemplates dela kolumn efter avgränsare i DAX

Så här ska ditt bord se ut. Du kommer att se på en minut varför detta är värdefullt.

LuckyTemplates dela kolumn efter avgränsare i DAX

För nu, gå tillbaka till LuckyTemplates och klicka på Top Words in Film Path i fältrutan. 

LuckyTemplates dela kolumn efter avgränsare i DAX

Vi kommer att fokusera på denna virtuella tabell vars allmänna lösning var Venn-diagrammet som visades tidigare. 

LuckyTemplates dela kolumn efter avgränsare i DAX

Låt oss bryta ner det för att bättre förstå. På raderna nedan använde vi den virtuella tabellen för de N översta orden, som beräknat nedan. 

LuckyTemplates dela kolumn efter avgränsare i DAX

Därefter beräknas den delade kolumnen med avgränsare på raderna nedan. 

LuckyTemplates dela kolumn efter avgränsare i DAX

Därefter tillämpade vi skärningspunkten mellan dessa två kolumner. Om den skärningen är större än noll, ger vi den en etta eller noll. Till slut gav vi tillbaka resultatet.

LuckyTemplates dela kolumn efter avgränsare i DAX

När du arbetar med komplexa virtuella tabeller är det enklaste sättet att gå in i , där du kan materialisera dessa virtuella tabeller i en DAX-fråga. För det måste du fokusera på linjerna som markeras nedan. 

LuckyTemplates dela kolumn efter avgränsare i DAX

Så kopiera den här koden och låt den sitta i vårt urklipp för nästa steg. 

Bearbeta LuckyTemplates dela kolumner med hjälp av tabellredigeraren 3

I Externa verktyg klickar du på Tabellredigerare 3 . Du kan också använda DAX Studio för detta, men Tabular Editor rekommenderas på grund av dess extra felsökningsfunktioner och andra trevliga funktioner. För DAX-frågor kommer DAX Studio också att fungera bra och det är helt gratis. 

Tillbaka i tabellredigeraren, skapa en ny DAX-fråga genom att klicka på pappersikonen i menyfliksområdet. Skriv EVALUATE på rad 1, klistra in den kopierade koden och tryck sedan på F5.

LuckyTemplates dela kolumn efter avgränsare i DAX

Du får en tabell med Filmvägen och Maxvägen för de två första kolumnerna. För den tredje kolumnen kommer du att använda kommandot och filmbanan för att bestämma vad det första ordet är för varje steg i sökvägsindexet, från ett till nio. 

LuckyTemplates dela kolumn efter avgränsare i DAX

Denna kod returnerar det första ordet som presenteras i den tredje kolumnen. 

LuckyTemplates dela kolumn efter avgränsare i DAX

Försök att titta på en viss film genom att klicka på filterikonen i kolumnrubriken Filmer[Filmsökväg] . Ta till exempel en som är lite längre, säg Captain America: The Winter Soldier. 

LuckyTemplates dela kolumn efter avgränsare i DAX

I den nedre delen av fönstret kan du se att EVALUATE returnerade 1000 rader

LuckyTemplates dela kolumn efter avgränsare i DAX

Hämta alla rader och gå sedan tillbaka och filtrera Movies[Film Path] för Captain America igen.

LuckyTemplates dela kolumn efter avgränsare i DAX

Sök efter Captain America: The Winter Soldier. Markera lämplig ruta och klicka på Stäng.

LuckyTemplates dela kolumn efter avgränsare i DAX

Vad det exakt gör för varje titel är att gå igenom och tillämpa ett till nio index, som visas i den andra kolumnen, och sedan tillämpa det på kommandot.

Du kan se att det första föremålet är Kapten , det andra föremålet är Amerika , det tredje är The , det fjärde är Winter , och det sista föremålet är Soldier . När du kommer från sex till nio är det bara tomt eftersom det har gått förbi antalet ord i just den titeln. 

LuckyTemplates dela kolumn efter avgränsare i DAX

Det du har skapat är en kolumn delad med avgränsare, vilket är exakt samma som uppdelningen med avgränsare i Power Query. 

I LuckyTemplates kan du se att kommandot som körs genom korsningen och IF-satsen. Så om du går tillbaka till din datamängd och öppnar filterrutan kan du se att det översta ordet i filmen är filtrerat så att det är lika med ett. 

LuckyTemplates dela kolumn efter avgränsare i DAX

Detta säger i princip att allt i den högra tabellen (Film) som har ett ord som finns i mållistan i den vänstra tabellen kommer att listas i de övre raderna. Å andra sidan kommer de som är noll att placeras ner.

LuckyTemplates dela kolumn efter avgränsare i DAX




Slutsats

I den här bloggen lärde du dig hur du delar upp kolumner med avgränsare i DAX. Du kommer att tycka att det här verktyget är väldigt användbart när din situation är mycket dynamisk eller din datamodell inte stöder att göra det i Power Query.

Dessutom är exempelproblemet du arbetade med en bra illustration av PATH-kommandonas ovanliga kraft och hur du kan använda dem för att lösa problem på icke-traditionella sätt.


Upptäck unika insikter med LuckyTemplates TOPN-funktion

Upptäck unika insikter med LuckyTemplates TOPN-funktion

Den här bloggen innehåller LuckyTemplates TOPN DAX-funktion, som gör att du kan få unika insikter från dina data, vilket hjälper dig att fatta bättre marknadsföringsbeslut.

Datamodellering i LuckyTemplates med hjälp av stödtabeller

Datamodellering i LuckyTemplates med hjälp av stödtabeller

Lär dig några fantastiska analytiska tekniker som vi kan göra för datamodellering i LuckyTemplates med hjälp av DAX-stödtabeller.

Avancerad DAX för LuckyTemplates: Implementering av rankningslogik över unika insikter

Avancerad DAX för LuckyTemplates: Implementering av rankningslogik över unika insikter

Här dyker vi in ​​i LuckyTemplates Advanced DAX och implementerar rankningslogik för att få en mycket unik insikt. Jag visar också upp måttförgrening i det här exemplet.

LuckyTemplates What-If-parameterfunktion

LuckyTemplates What-If-parameterfunktion

Den här bloggen introducerar den nya funktionen i LuckyTemplates, analysparametern What-If. Du kommer att se hur det gör allt snabbt och enkelt för din scenarioanalys.

Använd LuckyTemplates Mät förgreningar för att kontrollera om dina marginaler ökar när intäkterna växer

Använd LuckyTemplates Mät förgreningar för att kontrollera om dina marginaler ökar när intäkterna växer

Lär dig hur du avgör om din intäktstillväxt är bra genom att kontrollera om dina marginaler ökade med hjälp av LuckyTemplates mäter förgrening.

LuckyTemplates parametrar via frågeredigerare

LuckyTemplates parametrar via frågeredigerare

Lär dig och förstå hur du kan skapa och använda LuckyTemplates-parametrar som är en kraftfull funktion i frågeredigeraren.

Runda stapeldiagram – En visualisering för din instrumentpanel

Runda stapeldiagram – En visualisering för din instrumentpanel

Denna handledning kommer att diskutera hur man skapar ett runt stapeldiagram med Charticulator. Du kommer att lära dig hur du designar dem för din LuckyTemplates-rapport.

PowerApps funktioner och formler | En introduktion

PowerApps funktioner och formler | En introduktion

Lär dig hur du använder PowerApps funktioner och formler för att förbättra funktionaliteten och ändra ett beteende i vår Power Apps canvas-app.

Pipe In R: Anslutningsfunktioner med Dplyr

Pipe In R: Anslutningsfunktioner med Dplyr

I den här handledningen kommer du att lära dig hur du kopplar ihop funktioner med hjälp av dplyr-röroperatorn i programmeringsspråket R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX från LuckyTemplates låter dig returnera rankningen av ett specifikt nummer i varje tabellrad som utgör en del av en lista med nummer.