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!




*****






Leave a Comment

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.

Oprettelse af en datotabel i LuckyTemplates

Oprettelse af en datotabel i LuckyTemplates

Find ud af, hvorfor det er vigtigt at have en dedikeret datotabel i LuckyTemplates, og lær den hurtigste og mest effektive måde at gøre det på.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte vejledning fremhæver LuckyTemplates mobilrapporteringsfunktion. Jeg vil vise dig, hvordan du kan udvikle rapporter effektivt til mobilenheder.

Professionelle serviceanalyserapporter i LuckyTemplates

Professionelle serviceanalyserapporter i LuckyTemplates

I denne LuckyTemplates Showcase gennemgår vi rapporter, der viser professionel serviceanalyse fra et firma, der har flere kontrakter og kundeengagementer.

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Gå gennem de vigtigste opdateringer til Power Apps og Power Automate og deres fordele og implikationer for Microsoft Power Platform.

Almindelige SQL-funktioner: En oversigt

Almindelige SQL-funktioner: En oversigt

Opdag nogle almindelige SQL-funktioner, som vi kan bruge, såsom streng, dato og nogle avancerede funktioner til at behandle eller manipulere data.

LuckyTemplates skabelonoprettelse: Guide og tips

LuckyTemplates skabelonoprettelse: Guide og tips

I denne tutorial lærer du, hvordan du opretter din perfekte LuckyTemplates-skabelon, der er konfigureret til dine behov og præferencer.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne blog vil vi demonstrere, hvordan man lagdelte feltparametre med små multipler for at skabe utrolig nyttig indsigt og visuals.

LuckyTemplates-rangering og brugerdefineret gruppering

LuckyTemplates-rangering og brugerdefineret gruppering

I denne blog vil du lære, hvordan du bruger LuckyTemplates rangerings- og brugerdefinerede grupperingsfunktioner til at segmentere et eksempeldata og rangordne det efter kriterier.

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

I denne tutorial vil jeg dække en specifik teknik omkring, hvordan du kun viser Kumulativ Total op til en bestemt dato i dine visuals i LuckyTemplates.