Kumulativa summor i LuckyTemplates utan några datum – Advanced DAX

Här kommer jag att visa dig hur du beräknar kumulativa summor eller löpande summor utan datum eller indexkolumner. Du kan se hela videon av denna handledning längst ner på den här bloggen.

Någon frågade faktiskt om detta på LuckyTemplates-forumet. Medlemmen som lade upp det stötte på en ganska komplex algoritm som körde över viss information som krävdes. Det fanns ett kumulativt eller löpande totalkrav men det fanns inget datum för det och det sågs bara som en slumptalsgenerator. Men vi var tvungna att generera en kumulativ summa från det första resultatet, andra resultatet, tredje resultatet och så vidare och så vidare. Det är anledningen till att jag lekte med några idéer för att försöka hitta en lösning. 

Det är inte lätt och kan bli lite komplicerat när du väl går in i formeln, men lösningen är dynamisk och det är fantastiskt att det ens är möjligt. Det är något du kan replikera i olika miljöer där du behöver kumulativa summor, eller något av samma karaktär.

Här är exemplet som vi ska arbeta med idag.

Kumulativa summor i LuckyTemplates utan några datum – Advanced DAX

I det här fallet har vi Total Försäljning där siffrorna har sorterats från högsta till lägsta. Vi går efter en ackumulerad totalsumma, så vi vill se totalsumman om rank ett läggs till rankning två, sedan lägga till rankning tre till det, och så vidare när du går ner i tabellen.

Observera att du i vissa fall kan välja vilken visualisering som helst som fungerar för dig. Du kan till exempel använda ett vattenfallsdiagram för att uppnå de resultat du vill ha.

I vårt specifika exempel fungerar den här typen av visualisering inte riktigt.

Låt oss nu gå till stegen för hur man får den kumulativa summan trots frånvaron av datum och indexkolumner.

Innehållsförteckning

Skapa ett index

Jag tror inte att det är möjligt att skapa en kumulativ summa från slumpmässiga värden. Så det du behöver göra först är att skapa ett index. För detta kommer jag att användaeftersom detta gör att vi enkelt kan skapa dynamiska indexkolumner.

Kumulativa summor i LuckyTemplates utan några datum – Advanced DAX

Så jag kommer att kalla detta Ranking Index. Låt oss gå med 1 till 200, med en ökning på 1. Det finns ingen anledning att lägga till skivare på sidan.

Detta steg tar med det indexet till vår modell. Det kommer inte att gå ihop via ett förhållande eller något liknande. Det är bara till för att stödja oss med några av de beräkningar som vi kommer att göra senare.

Skapa ett bord

Nu ska jag dra in det här i en tabell så att vi kan se siffrorna från ett och framåt.

Kumulativa summor i LuckyTemplates utan några datum – Advanced DAX

Vi vill faktiskt skapa ett resultat här som visar värdena men som faktiskt inte är en kolumn. Så vi kommer att returnera ett värde inom ett mått. Vi kommer att göra det genom att skapa ett annat mått och kalla det Product By Ranking.

Kumulativa summor i LuckyTemplates utan några datum – Advanced DAX

Det är här formeln blir lite mer komplex, men fortfarande mycket genomförbar.

Så vi använder funktionen CALCULATE och returnerar sedan med ett textvärde. Då åker vi med, Produktnamn och använd sedan mer än ett värde. Därefter ska jag använda funktionen VÄRDEN och FILTRERA efter produktnamn.

Det vi försöker gå efter här är Ranking Index Value. Så jag ska göra en RANKX på alla produkter och sedan gå med Total Sales i fallande ordning (eftersom det var så den initiala tabellen filtrerades).

Eftersom jag faktiskt har skapat ett mått, genereras Ranking Index Value automatiskt från What-If-parametrarna. 

Låt oss ta upp det här i tabellen. Du kommer att se att vi faktiskt returnerar dessa resultat för varje enskild rankning nu. Så vi har både Ranking Index, och nu, Product By Ranking.

Replikera data

Nu när vi har en tabell som visar oss vilka produkter vi har och hur de är rankade, vill vi ta reda på vad den totala försäljningen skulle vara för varje enskild produkt. För att göra det måste vi replikera den totala försäljningen från den gamla tabellen till den nya tabellen.

Den här gången kommer vi dock inte att kunna använda det automatiska filtret från vår datamodell. Vi kommer att filtrera efter ett faktiskt resultat i en åtgärd.

För att göra det måste vi skapa ett nytt mått som vi kallar Produktförsäljning. Så vi ska beräkna den totala försäljningen, sedan ska vi skapa ett annat sammanhang med nya filter. Det betyder att vår formel visar att vi filtrerar värdena efter produktnamn. Sedan fortsätter vi och skapar ett filter för bara ett specifikt produktnamn via denna produkt efter rangordning som vi just skapat.

Nu, med det här filtret, om vi tittar på produkt sextiotre, så kommer vi att se försäljningen för produkt sextiotre. Med andra ord, vi har replikerat uppgifterna samtidigt som vi överväger specifika åtgärder i det här avsnittet.

Skapa en kumulativ summa s

Den här gången ska vi skapa kumulativa summor baserat på detta rankningsindex. Detta kommer verkligen att visa dig hur mycket du kan använda de olika funktionerna och funktionerna i LuckyTemplates.

Så vi kommer att skapa ett nytt mått och kalla det Kumulativ produktförsäljning. Se bara till att du använder rätt variabler här. För det här exemplet kommer jag bara att använda en bara för att hålla det enkelt. Jag kallar det Index Rank och refererar till Ranking Index Value för det.

Kumulativa summor i LuckyTemplates utan några datum – Advanced DAX

Om du tittar på formeln nedan ser du att den är ganska komplicerad. Jag användefunktion, gjorde ett filter och använde sedan SUMMARIZE-funktionen på produkterna. 

Detta kommer att skapa denna dynamiska tabell som gör att vi faktiskt kan se bakåt när vi går igenom raderna 1, 2, 3, 4, 5 och så vidare. Så om vi till exempel vill ha rankningsresultatet under rang 5. Det ser vi i tabellen med summan.

Du kommer också att se att det vi gör här i den här tabellen är att vi visar försäljningen för varje enskild kund. Jag vill också referera till försäljningsrankningen för den kunden, så jag måste faktiskt lägga in en annan RANKX, sedan gå till Alla produkter, sedan till Total försäljning och sedan Beskrivning.

Det sista vi behöver göra här är att filtrera just den här tabellen baserat på om försäljningsrankningen är mindre än eller lika med indexrankningen. När vi väl tar med detta i vår tabell kommer du att se att detta faktiskt nu skapar de kumulativa summorna för oss.




Slutsats

Vi har gått igenom några viktiga lärdomar idag och det är verkligen fantastiskt hur vi kunde skapa alla dessa nya åtgärder. 

I grund och botten kunde vi återskapa den ursprungliga tabellen virtuellt, så att vi kunde filtrera den beroende på vilken data vi behöver. Så låt oss säga att du behöver försäljningsrankningen. Du ser det under indexrankingen här.

En annan sak vi gjorde här är att vi tillät den här tabellen att utvärdera varje enskild rad eller produkt. Det är precis därför det här filtret fungerar. Så vi kan bara titta på raderna 1 till 5 och få försäljningen bara för den specifika tabellen. Och sedan kan vi utöka det till att säga 15 rader och sedan räknar vi upp försäljningen av alla dessa 15 rader. Vi gör det dynamiskt när vi flyttar ner på den här listan, och det är så vi kontinuerligt kan få en ackumulerad summa.

Observera att denna lösning även kan tillämpas inte bara på fall där det inte finns några datum eller index, utan på andra liknande situationer. Förhoppningsvis kan du hitta något unikt exempel där detta krävs och hitta ett sätt att använda det.

***** Lär du dig Lucky Templates? *****







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.