Hur man maximerar användningen av INTERSECT-funktionen – Advanced DAX

INTERSECT -funktionen i LuckyTemplates är en avancerad tabellfunktion och du måste förstå den bättre så att du kan maximera användningen av denna avancerade DAX. Du kan se hela videon av denna handledning längst ner på den här bloggen.

Men för att förstå hur det fungerar måste du bli mycket bättre på att förstå virtuella tabeller. Virtuella tabeller är ett nyckelbegrepp när man använder DAX-mått inom LuckyTemplates.

Vad INTERSECT-funktionen specifikt gör är att den låter dig – inom ett mått – jämföra en virtuell tabell med en annan. Du kommer då äntligen att kunna returnera en tabell med resultat som visas i båda versionerna av dessa två virtuella tabeller.

När du förstår hur du kan använda den här funktionen kommer du snart att se att det finns en fantastisk förmåga när det gäller att köra mycket avancerad logik med lätthet.

Innehållsförteckning

Visa upp en unik insikt med hjälp av INTERSECT-funktionen

I exemplet som jag går igenom kommer jag att visa upp en riktigt unik insikt som du kan upptäcka med hjälp avfungera. Denna speciella insikt kan återanvändas på många olika sätt . Detta är mest användbart när du arbetar med kunddata och ditt mål är att förstå dina kunder bättre.

Det bästa sättet att lära sig denna funktion är genom en praktisk scen. Så jag kommer att arbeta igenom ett scenario och räkna ut detta baserat på våra kunder för den aktuella månaden. Dessa kunder bör också ha en köphistorik för de senaste två månaderna. Och vi ska ta reda på vilka av våra nuvarande kunder som hade tidigare ordertransaktioner för två månader sedan.

Ta en titt på denna LuckyTemplates-rapport som jag har skapat för att demonstrera funktionen. Först har jag satt upp några filter på vänster sida där vi kan välja vilken månad som helst.

Hur man maximerar användningen av INTERSECT-funktionen – Advanced DAX

Sedan har jag kolumnerna för alla kunder. Kolumnerna Total försäljning och Sales LM visar kunderna som har köpt historik för den aktuella månaden såväl som för den senaste månaden. Formeln för total försäljning är mycket enkel. Det är bara summan av all försäljning från en viss kund.

Hur man maximerar användningen av INTERSECT-funktionen – Advanced DAX

Sales LM- formeln är en enkel totalförsäljningsformel som förgrenar sig till en tidsintelligensberäkning med DATEADD för att hoppa tillbaka till föregående månad.

Hur man maximerar användningen av INTERSECT-funktionen – Advanced DAX

Hur man maximerar användningen av INTERSECT-funktionen – Advanced DAX

Det är viktigt att förstå formelns initiala sammanhang eftersom vi möjliggör en beräkning av förra månaden med de nämnda formlerna. Därför måste vi få det ursprungliga sammanhanget rätt så att vi kan tillämpa DAX-formlerna.

Hur räknar vi dynamiskt fram kunderna som köpt två månader i rad? Det är vad du kan se i kolumnen Kunder 2M på rad .

Nu vill jag också veta den totala försäljningen från dessa kunder så jag har lagt till kolumnen Försäljning från kunder 2M i en rad .

Hur man maximerar användningen av INTERSECT-funktionen – Advanced DAX

Identifiera återkommande kunder med INTERSECT -funktionen

Låt oss ta en titt på hur användbart INTERSECT är när det gäller att ta reda på återkommande kunder. Här är formeln för kunder 2 miljoner i rad .

Hur man maximerar användningen av INTERSECT-funktionen – Advanced DAX

I den här formeln placerade jag två virtuella tabeller, som är utvariabler ( VAR ) inuti INTERSECT- funktionen. I grund och botten utvärderar den listan över objekt eller rader som finns i den första tabellen, men inte i den andra.

Hur man maximerar användningen av INTERSECT-funktionen – Advanced DAX

Den initiala tabellen här är CustomerTM som står för de kunder som har köpt den här månaden. Sedan fortsätter formeln för att kontrollera om dessa kunder också är listade i CustomerLM- tabellen.

Om en kund finns i båda de virtuella tabellerna kommer de att behållas. Således tillåter denna formel oss att hamna hos alla kunder som köpte den här månaden och månaden innan.

Därefter använde jagfunktion för att räkna de återstående kunderna.

Hur man maximerar användningen av INTERSECT-funktionen – Advanced DAX

Låt oss nu prata om att skapa virtuella tabeller för de kunder som har köpt två månader i rad.

Hur man maximerar användningen av INTERSECT-funktionen – Advanced DAX

Om du har märkt det lägger jag in dem i funktionen ( variabler). Jag rekommenderar starkt dessa funktioner eftersom de är ett fantastiskt komplement till att skriva mer komplexa formler. 

I denna speciella uppsättning för VAR CustomerTM skapar jag en virtuell tabell med kund-ID:n. Sedan, för VAR CustomerLM , skapar jag ett virtuellt bord igen för våra kunder förra månaden. Men den här gången har jag lagt tillfunktion, så att den kan hoppa tillbaka till föregående månads kunduppsättning istället för det aktuella sammanhanget.

Här är det som är intressant med den här beräkningen som vi har nu.

Hur man maximerar användningen av INTERSECT-funktionen – Advanced DAX

Formeln kontrollerar bara varje enskild rad av kunderna eftersom kunderna är filtrerade. Om det inte finns någon försäljning för föregående månad för en specifik rad (kund), finns det inget att utvärdera. Således är kolumnen Kunder 2M i rad tom. Men om en kund har ett tidigare rekord, räknas det som 1 .

Om vi ​​till exempel tittar på data för Adam Thompson, returnerar den 1 under kolumnen Kunder 2M i rad . Det betyder att den här kunden har ett rekord för både förra månaden och två månader innan dess.

Återanvändning av formeln för ett annat sammanhang

Du kanske inte inser vikten av att använda INTERSECT direkt, men det finns en riktigt bra anledning till varför du behöver använda den här formeln. Det beror främst på att du kan återanvända den här beräkningen i en mängd olika sammanhang. Ta en titt på det här exemplet nedan.

Hur man maximerar användningen av INTERSECT-funktionen – Advanced DAX

För att komma med exempeldata ovan använde jag bara samma formel. Men den här gången börjar jag i ett annat initialt sammanhang. Istället för att utvärdera en enda rad, utvärderar den många sammanhang som State Code. Och sedan skapas en lista över kunder som köpte i juni 2016 såväl som i maj 2016. Sedan jämför jag den med de kunder som köpte en gång i ett visst tillstånd under innevarande månad.

Du kan se i kolumnen Kunder 2M i rad det exakta antalet kunder som matchar det kriteriet.

Under den tabellen finns en annan visualisering som visar samma data för kunder 2M i rad efter delstatskod .

Du kan faktiskt ändra kontexten i din modell igen beroende på dina krav. Om ditt filter fungerar korrekt kan du använda den här formeln igen för att lägga till andra situationer.

Det är därför jag sa att INTERSECT är väldigt kraftfullt. Istället för att bara skriva IF -satser kan du använda dessa INTERSECT- funktioner till din formel.

Beräkna den totala försäljningen från återkommande kunder

Dessutom arbetar vi på det totala antalet försäljningar från våra återkommande kunder .

Resultaten i kolumnen Försäljning från kunder 2M i rad är summan av kundens köp för innevarande månad och föregående månad. Observera att vi endast kan få detta resultat om kunden har köpt två månader i rad. 

Detta är formeln för återkommande kunders totala försäljning.

Hur man maximerar användningen av INTERSECT-funktionen – Advanced DAX

Du kan se här att mönstret är nästan exakt detsamma. Den enda skillnaden här är att jag istället för COUNTROWS använde funktionen CALCULATE för att ändra beräkningens sammanhang. 

Detta beror på att det vi behöver här är den totala mängden försäljning från kunderna. Men som du kan se använder jag fortfarande INTERSECT- funktionen. Det är till stor hjälp när det kommer till Pareto-analys. Men du kan också använda den här funktionen på ett antal olika sätt.

Inkorporerar INTERSECT för kunder senaste tre månaderna

Du kan fortfarande ta saker längre än tidigare. Du kan faktiskt beräkna kunderna som köpt tre månader i rad med hjälp av formeln nedan.

Hur man maximerar användningen av INTERSECT-funktionen – Advanced DAX

Allt jag har lagt till är en annan beräkning som hoppar tillbaka två månader, istället för en.

Hur man maximerar användningen av INTERSECT-funktionen – Advanced DAX

Efter det har jag lagt till en INTERSECT- funktion i en annan INTERSECT- funktion. Så det kommer inte bara att utvärdera kunderna för den aktuella månaden och dess köphistorik förra månaden. Det kommer också att kontrollera om den specifika kunden också har köpt för 2 månader sedan.

För att lägga till denna data i din tabell, dra helt enkelt Kunder 3M i rad -formeln till tabellen.

Hur man maximerar användningen av INTERSECT-funktionen – Advanced DAX

Du ser längst ner att det är totalt 45 kunder som har köpt tre månader i rad. Detta är en ganska intensiv insikt som är mycket användbar.




Slutsats

Som nämnts tidigare är INTERSECT en tabellfunktion och den kan användas på många olika sätt.

Fokus med denna handledning är att du ska se hur du kan använda den i en åtgärd och på olika sätt inom en åtgärd. Det är så jag tror att detta kan användas på ett mycket effektivt sätt för att köra en exceptionellt övertygande analys.

Lycka till med att dyka in i denna avancerade LuckyTemplates-handledning.


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.