Sådan bruger du en itererende funktion i LuckyTemplates

Denne tutorial vil lære dig om forskelligeog hvordan du effektivt bruger dem i dine beregninger.

Jeg diskuterer ofte, hvordan beregnede kolonner ikke er påkrævet, når jeg laver nogle beregninger. Dette er på grund af iteratorer.

Iteratorer eller itererende funktioner kan hjælpe dig med at lave en beregning uden fysisk at sætte resultaterne i tabellen.

Denne teknik kan hjælpe dig med at spare på den nødvendige hukommelse til at indlæse din. I de næste afsnit vil jeg vise dig, hvordan du optimerer dine beregninger ved hjælp af iteratorer.

Indholdsfortegnelse

Beregning af det samlede salg ved hjælp af en iteratorfunktion

For at komme i gang skal du oprette et nyt mål for samlede omkostninger . Sørg for at vælge den målegruppe, hvor du vil have dette nye mål til at lande.

Tryk på Shift og Enter for at flytte en linje ned, før du sætter den første iterationsfunktion, som er .

I formellinjen i LuckyTemplates kan du allerede se præcis, hvad du skal sætte efter funktionen som foreslået af IntelliSense. For SUMX skal du tilføje en tabel efter den.

SUMX - formlen vil køre logikken ved hver enkelt række i den givne tabel. Dette er grunden til, at iteratorer er forbundet med rækkekontekst . Inden for målingen kan iteratorer omdanne formlen til en rækkekontekst.

Du skal referere til salgstabellen efter SUMX - funktionen. For at beregne de samlede omkostninger skal du gange ordremængden med den samlede enhedspris .

Vi behøver slet ikke at referere til den nye kolonne, der blev oprettet. De samlede omkostninger er et mål, og jeg kan bringe det ind i min tabel for at evaluere vores samlede omkostninger.

Træk nu målingen ind i tabellen for at se resultaterne. Sørg for, at du har valgt en indledende kontekst fra byfilteret .

Vi kan ændre den indledende kontekst for vores beregning ved at klikke på de forskellige regioner, som vi ønsker at se på.

De samlede omkostninger fungerer på en lignende måde i forhold til den oprindelige kontekst. Den indledende kontekst bliver anvendt på salgstabellen, men inden for hvert af disse individuelle resultater beregner vi ordremængden ganget med den samlede enhedspris.

Bag kulisserne i vores datamodel har vi slået vores filter til, og vi har kontekst, der kommer ind fra vores Regions-tabel og en anden kontekst, der kommer ind fra vores Datetabel. Disse flyder ned til vores salgstabel, som er filtreret af iterationsfunktionen SUMX.

Da SUMX- funktionen evaluerer hver enkelt række i salgstabellen virtuelt , er der ikke behov for en fysisk kolonne for resultaterne.

Efter den indledende kontekst får SUMX produktet af ordremængde og samlede enhedsomkostninger for hver enkelt række. Til sidst evaluerer den alle de beregnede resultater fra alle rækkerne.

Hvis du bemærkede, blev den oprindelige Omkostningskolonne oprettet gennem en beregnet kolonne. Som jeg har sagt, er det unødvendigt, da iteratorer allerede kan udføre sit arbejde. Du kan slette den, fordi den kan optage unødvendig hukommelse i din model.

Itererende formler kører evalueringer på hver enkelt række, mens aggregerende formler ikke gør det.

Dette er et simpelt eksempel, men du kan være mere avanceret her og skrive IF-sætninger og SWITCH-sætninger. Du behøver heller ikke oprette en fysisk tabel; du kan bruge en virtuel i stedet.

Mange af disse oplysninger er dækket i dybden i, men dette er blot for at vise dig begyndelsen af ​​iterationsfunktioner, og hvordan du begynder at bruge dem, når det er passende.

Hvis du føler behov for at oprette en beregnet kolonne inde i din faktatabel, kan jeg næsten garantere, at en itererende funktion vil gøre arbejdet for dig.

Brug af andre DAX Iterator-funktioner

Nu vil jeg vise dig endnu et eksempel på, hvordan iteratorer kan gøre underværker på din beregning. Lad os denne gang regne ud de gennemsnitlige omkostninger.

Du skal blot kopiere formlen for samlede omkostninger og indsætte den i et nyt mål. Du skal bare ændre navnet til Gennemsnitlige omkostninger og derefter brugei stedet for SUMX .

Den nye formel kører en lignende logik, fordi den evaluerer hver enkelt række i salgstabellen . Derudover skal du stadig have produktet af ordremængde og samlede enhedsomkostninger . Den eneste forskel her er i stedet for sum, formlen beregner gennemsnittet.

Hvis du nu bringer gennemsnitsomkostninger- målet til tabellen, kan du se, hvordan det er sammenlignet med mål for samlede omkostninger .

Det er utroligt, hvordan du kan køre en lignende logik blot ved at ændre iterationsfunktionen.

Yderligere dataoptimeringsteknikker 

For at optimere din tabel kan du slette overflødige oplysninger som kolonnen Samlet omsætning .

Da du nemt kan opnå de gennemsnitlige omkostninger, behøver du ikke længere kolonnen Samlet omsætning i din tabel. Så længe du har kolonnerne Enhedspris og Samlet enhedspris , er alt i orden.

Nu kan du i stedet oprette et nyt mål for Total Sales (Iteration) ved at bruge SUMX- funktionen. Du skal blot henvise til salgstabellen og derefter få produktet af ordremængde og enhedspris .

Derefter kan du sammenligne resultaterne i kolonnerne Samlet salg og Samlet salg (gentagelse) . De har begge de samme resultater, ikke?

Med hensyn til ydeevne er der ikke meget forskel på at bruge beregnede kolonner og iteratorer. Men når det kommer til datamodellen, kan en iterator-funktion slippe af med en hel kolonne og spare dig for hundredvis af rækker af data.

Derudover kan du slette overflødige kolonner, fordi iteratorer kan beregne de nødvendige resultater virtuelt. Denne praksis vil gøre dit bord meget tyndere og din model meget hurtigere. Sørg for at anvende denne optimeringsteknik i dine egne beregninger.

Konklusion

For at opsummere, evaluerer en itererende funktion hver enkelt række, mens aggregatorer ikke gør det.

Bogstavet X i slutningen af ​​funktionen gør det lettere at identificere iteratorer. Eksempler inkluderer SUMX , AVERAGEX ,,funktioner og mere.

Brug af iterationsfunktioner vil ikke skabe yderligere fysiske tabeller . Dette kan hjælpe dig med at spare hukommelse i LuckyTemplates.

Eksemplerne for SUMX og AVERAGEX , som jeg har dækket, er simple scenarier. Senere vil vi gå ind på mere avancerede ved at tilføje IF-sætninger og SWITCH-sætninger .

Alt det bedste!




*****







Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.

Datamodellering i LuckyTemplates ved hjælp af understøttende tabeller

Datamodellering i LuckyTemplates ved hjælp af understøttende tabeller

Lær nogle fantastiske analytiske teknikker, som vi kan gøre til datamodellering i LuckyTemplates ved hjælp af DAX-understøttende tabeller.

Avanceret DAX til LuckyTemplates: Implementering af rangeringslogik på tværs af unikke indsigter

Avanceret DAX til LuckyTemplates: Implementering af rangeringslogik på tværs af unikke indsigter

Her dykker vi ned i LuckyTemplates Advanced DAX og implementerer rangeringslogik for at få en meget unik indsigt. Jeg viser også måleforgrening i dette eksempel.

LuckyTemplates What-If-parameterfunktion

LuckyTemplates What-If-parameterfunktion

Denne blog introducerer den nye funktion i LuckyTemplates, What-If-analyseparameteren. Du vil se, hvordan det gør alt hurtigt og nemt til din scenarieanalyse.

Brug LuckyTemplates Mål forgrening for at kontrollere, om dine avancer udvides, efterhånden som omsætningen vokser

Brug LuckyTemplates Mål forgrening for at kontrollere, om dine avancer udvides, efterhånden som omsætningen vokser

Lær, hvordan du afgør, om din omsætningsvækst er god ved at kontrollere, om dine avancer er udvidet ved hjælp af LuckyTemplates, der måler forgrening.

LuckyTemplates-parametre via forespørgselseditor

LuckyTemplates-parametre via forespørgselseditor

Lær og forstå, hvordan du kan oprette og bruge LuckyTemplates Parameters, som er en kraftfuld funktion i Query Editor.

Rundt søjlediagram – en visualisering til dit dashboard

Rundt søjlediagram – en visualisering til dit dashboard

Denne vejledning vil diskutere om oprettelse af et rundt søjlediagram ved hjælp af Charticulator. Du lærer, hvordan du designer dem til din LuckyTemplates-rapport.

PowerApps funktioner og formler | En introduktion

PowerApps funktioner og formler | En introduktion

Lær, hvordan du bruger PowerApps-funktioner og -formler til at forbedre funktionaliteten og ændre adfærd i vores Power Apps-lærredsapp.

Pipe In R: Tilslutningsfunktioner med Dplyr

Pipe In R: Tilslutningsfunktioner med Dplyr

I denne øvelse lærer du, hvordan du kæder funktioner sammen ved hjælp af dplyr-røroperatoren i programmeringssproget R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX fra LuckyTemplates giver dig mulighed for at returnere rangeringen af ​​et specifikt tal i hver tabelrække, der udgør en del af en liste over tal.