Hur man använder en itererande funktion i LuckyTemplates

Denna handledning kommer att lära dig om olikaoch hur du effektivt använder dem i dina beräkningar.

Jag diskuterar ofta hur beräknade kolumner inte krävs när man gör vissa beräkningar. Detta beror på iteratorer.

Iteratorer eller itererande funktioner kan hjälpa dig att göra en beräkning utan att fysiskt lägga in resultaten i tabellen.

Denna teknik kan hjälpa dig att spara på det minne som behövs för att ladda din. I nästa avsnitt kommer jag att visa dig hur du optimerar dina beräkningar med iteratorer.

Innehållsförteckning

Beräkna total försäljning med hjälp av en iteratorfunktion

För att komma igång skapar du ett nytt mått för totala kostnader . Se till att välja den måttgrupp där du vill att detta nya mått ska landa.

Tryck på Shift och Enter för att flytta ner en rad innan du sätter in den första itereringsfunktionen, som är .

I formelfältet i LuckyTemplates kan du redan se exakt vad du behöver lägga efter funktionen som föreslagits av IntelliSense. För SUMX måste du lägga till en tabell efter den.

SUMX - formeln kommer att köra logiken på varje enskild rad i den givna tabellen. Det är därför iteratorer associeras med radkontext . Inom måttet kan iteratorer förvandla formeln till en radkontext.

Du måste referera till försäljningstabellen efter SUMX - funktionen. För att beräkna de totala kostnaderna måste du multiplicera orderkvantitet med total enhetskostnad .

Vi behöver inte referera till den nya kolumnen som skapades alls. De totala kostnaderna är ett mått och jag kan ta med det i min tabell för att utvärdera våra totala kostnader.

Dra nu måttet inuti tabellen för att se resultaten. Se till att du valde ett initialt sammanhang från filtret Stad .

Vi kan ändra det ursprungliga sammanhanget för vår beräkning genom att klicka på de olika regionerna som vi vill titta på.

De totala kostnaderna fungerar på liknande sätt när det gäller det initiala sammanhanget. Det initiala sammanhanget tillämpas på försäljningstabellen, men inom vart och ett av dessa individuella resultat beräknar vi orderkvantiteten multiplicerat med den totala enhetskostnaden.

Bakom kulisserna i vår datamodell har vi aktiverat vårt filter och vi har kontext som kommer in från vår regionstabell och en annan kontext som kommer in från vår datumtabell. Dessa flyter ner till vår försäljningstabell, som filtreras av itereringsfunktionen SUMX.

Eftersom SUMX- funktionen utvärderar varje enskild rad i försäljningstabellen virtuellt , finns det inget behov av en fysisk kolumn för resultaten.

Efter det initiala sammanhanget får SUMX produkten av orderkvantitet och total enhetskostnad för varje enskild rad. Slutligen utvärderar den alla beräknade resultat från alla rader.

Om du märkte skapades den ursprungliga kolumnen Kostnader genom en beräknad kolumn. Som jag har sagt, det är onödigt eftersom iteratorer redan kan göra sitt arbete. Du kan ta bort den eftersom den kan ta upp onödigt minne i din modell.

Itererande formler kör utvärderingar på varje enskild rad, medan aggregerande formler inte gör det.

Detta är ett enkelt exempel, men du kan vara mer avancerad här och skriva IF-satser och SWITCH-satser. Dessutom behöver du inte skapa en fysisk tabell; du kan använda en virtuell istället.

Mycket av denna information behandlas på djupet i, men detta är bara för att visa dig början av itereringsfunktioner och hur du börjar använda dem när det är lämpligt.

Om du känner att du behöver skapa en beräknad kolumn i din faktatabell kan jag nästan garantera att en itererande funktion kommer att göra jobbet åt dig.

Använda andra DAX Iterator-funktioner

Nu ska jag visa dig ett annat exempel på hur iteratorer kan göra underverk i din beräkning. Den här gången ska vi räkna ut den genomsnittliga kostnaden.

Kopiera bara formeln för totala kostnader och klistra in den i ett nytt mått. Du behöver bara ändra namnet till Genomsnittliga kostnader och sedan användaistället för SUMX .

Den nya formeln kör en liknande logik eftersom den utvärderar varje enskild rad i tabellen Försäljning . Dessutom behöver du fortfarande få produkten av orderkvantitet och total enhetskostnad . Den enda skillnaden här är istället för summan, formeln beräknar medelvärdet.

Om du nu tar med måttet Genomsnittliga kostnader till tabellen kan du se hur det står sig jämfört med måttet Totala kostnader .

Det är otroligt hur du kan köra en liknande logik bara genom att ändra itereringsfunktionen.

Ytterligare dataoptimeringstekniker 

För att optimera din tabell kan du ta bort överflödig information som kolumnen Totala intäkter .

Eftersom du enkelt kan uppnå de genomsnittliga kostnaderna behöver du inte kolumnen Totala intäkter i tabellen längre. Så länge du har kolumnerna Enhetspris och Total enhetskostnad är allt bra.

Nu kan du istället skapa ett nytt mått för Total Sales (Iteration) genom att använda SUMX -funktionen. Du behöver bara referera till försäljningstabellen och sedan få produkten av orderkvantitet och enhetspris .

Därefter kan du jämföra resultaten i kolumnerna Total försäljning och Total försäljning (Iteration) . De har båda samma resultat, eller hur?

När det gäller prestanda är det inte så stor skillnad mellan att använda beräknade kolumner och iteratorer. Men när det kommer till datamodellen kan en iteratorfunktion bli av med en hel kolumn och spara hundratals rader med data.

Dessutom kan du ta bort redundanta kolumner eftersom iteratorer kan beräkna de nödvändiga resultaten virtuellt. Denna praxis kommer att göra ditt bord mycket tunnare och din modell mycket snabbare. Se till att du tillämpar denna optimeringsteknik i dina egna beräkningar.

Slutsats

Sammanfattningsvis utvärderar en itererande funktion varje enskild rad medan aggregatorer inte gör det.

Bokstaven X i slutet av funktionen gör det lättare att identifiera iteratorer. Exempel inkluderar SUMX , AVERAGEX ,,funktioner och mer.

Att använda itereringsfunktioner kommer inte att skapa ytterligare fysiska tabeller . Detta kan hjälpa dig att spara minne i LuckyTemplates.

Exemplen för SUMX och AVERAGEX som jag har täckt är enkla scenarier. Senare kommer vi att gå in på mer avancerade genom att lägga till IF-satser och SWITCH-satser .

Med vänliga hälsningar!




*****







Skapa en datumtabell i LuckyTemplates

Skapa en datumtabell i LuckyTemplates

Ta reda på varför det är viktigt att ha en dedikerad datumtabell i LuckyTemplates och lär dig det snabbaste och mest effektiva sättet att göra det.

LuckyTemplates mobilrapporteringstips och tekniker

LuckyTemplates mobilrapporteringstips och tekniker

Denna korta handledning belyser LuckyTemplates mobilrapporteringsfunktion. Jag ska visa dig hur du kan utveckla rapporter effektivt för mobila enheter.

Professional Service Analytics-rapporter i LuckyTemplates

Professional Service Analytics-rapporter i LuckyTemplates

I denna LuckyTemplates Showcase går vi igenom rapporter som visar professionell serviceanalys från ett företag som har flera kontrakt och kundengagemang.

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Gå igenom de viktigaste uppdateringarna för Power Apps och Power Automate och deras fördelar och konsekvenser för Microsoft Power Platform.

Vanliga SQL-funktioner: En översikt

Vanliga SQL-funktioner: En översikt

Upptäck några vanliga SQL-funktioner som vi kan använda som sträng, datum och några avancerade funktioner för att bearbeta eller manipulera data.

LuckyTemplates Skapa mall: Guide och tips

LuckyTemplates Skapa mall: Guide och tips

I den här handledningen kommer du att lära dig hur du skapar din perfekta LuckyTemplates-mall som är konfigurerad efter dina behov och preferenser.

Fältparametrar och små multiplar i LuckyTemplates

Fältparametrar och små multiplar i LuckyTemplates

I den här bloggen kommer vi att visa hur man lager fältparametrar med små multiplar för att skapa otroligt användbara insikter och bilder.

LuckyTemplates Rank och anpassad gruppering

LuckyTemplates Rank och anpassad gruppering

I den här bloggen kommer du att lära dig hur du använder LuckyTemplates ranknings- och anpassade grupperingsfunktioner för att segmentera en exempeldata och rangordna den enligt kriterier.

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

I den här handledningen kommer jag att täcka en specifik teknik kring hur man visar Kumulativ total endast upp till ett specifikt datum i dina bilder i LuckyTemplates.

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Lär dig hur du skapar och anpassar punktdiagram i LuckyTemplates, som huvudsakligen används för att mäta prestanda mot mål eller tidigare år.