Slik bruker du en itererende funksjon i LuckyTemplates

Denne opplæringen vil lære deg om forskjelligeog hvordan du bruker dem effektivt i beregningene dine.

Jeg diskuterer ofte hvordan kalkulerte kolonner ikke kreves når jeg gjør noen beregninger. Dette er på grunn av iteratorer.

Iteratorer eller iterasjonsfunksjoner kan hjelpe deg med å gjøre en beregning uten å fysisk legge resultatene i tabellen.

Denne teknikken kan hjelpe deg med å spare på minnet som trengs for å laste inn. I de neste avsnittene skal jeg vise deg hvordan du kan optimalisere beregningene dine ved å bruke iteratorer.

Innholdsfortegnelse

Beregne totalt salg ved hjelp av en iterator-funksjon

For å komme i gang, opprett et nytt mål for totale kostnader . Sørg for å velge tiltaksgruppen der du vil at dette nye tiltaket skal lande.

Trykk Shift og Enter for å flytte nedover en linje før du setter inn den første iterasjonsfunksjonen, som er .

I formellinjen til LuckyTemplates kan du allerede se nøyaktig hva du trenger å sette etter funksjonen som foreslått av IntelliSense. For SUMX må du legge til en tabell etter den.

SUMX - formelen vil kjøre logikken på hver enkelt rad i den gitte tabellen. Dette er grunnen til at iteratorer er assosiert med radkontekst . Innenfor tiltaket kan iteratorer gjøre formelen om til en radkontekst.

Du må referere til salgstabellen etter SUMX -funksjonen. For å beregne de totale kostnadene, må du multiplisere ordremengde med total enhetskostnad .

Vi trenger ikke referere til den nye kolonnen som ble opprettet i det hele tatt. De totale kostnadene er et mål, og jeg kan ta det inn i tabellen min for å evaluere de totale kostnadene våre.

Dra nå målet inne i tabellen for å se resultatene. Pass på at du har valgt en innledende kontekst fra byfilteret .

Vi kan endre den innledende konteksten for beregningen vår ved å klikke på de forskjellige regionene vi ønsker å se på.

Totalkostnadene fungerer på en lignende måte når det gjelder den opprinnelige konteksten. Den første konteksten blir brukt på salgstabellen, men innenfor hvert av disse individuelle resultatene beregner vi bestillingsmengden multiplisert med den totale enhetskostnaden.

Bak kulissene i datamodellen vår har vi slått på filteret vårt, og vi har kontekst som kommer inn fra regionstabellen vår og en annen kontekst kommer inn fra datotabellen. Disse flyter ned til salgstabellen vår, som er filtrert av iterasjonsfunksjonen SUMX.

Siden SUMX- funksjonen evaluerer hver enkelt rad i salgstabellen virtuelt , er det ikke behov for en fysisk kolonne for resultatene.

Etter den innledende konteksten får SUMX produktet av ordremengde og total enhetskostnad for hver enkelt rad. Til slutt evaluerer den alle de beregnede resultatene fra alle radene.

Hvis du la merke til, ble den opprinnelige kostnadskolonnen opprettet gjennom en beregnet kolonne. Som jeg har sagt, er det unødvendig siden iteratorer allerede kan gjøre jobben sin. Du kan slette den fordi den kan ta opp unødvendig minne i modellen din.

Itererende formler kjører evalueringer på hver enkelt rad, mens aggregerende formler ikke gjør det.

Dette er et enkelt eksempel, men du kan være mer avansert her og skrive IF-setninger og SWITCH-setninger. Du trenger heller ikke lage et fysisk bord; du kan bruke en virtuell i stedet.

Mye av denne informasjonen er dekket i dybden i, men dette er bare for å vise deg begynnelsen av iterasjonsfunksjoner og hvordan du begynner å bruke dem når det passer.

Hvis du føler behov for å lage en beregnet kolonne inne i faktatabellen din, kan jeg nesten garantere at en itererende funksjon vil gjøre jobben for deg.

Bruke andre DAX Iterator-funksjoner

Nå skal jeg vise deg et annet eksempel på hvordan iteratorer kan gjøre underverker på beregningen din. Denne gangen, la oss regne ut gjennomsnittskostnaden.

Bare kopier totalkostnadsformelen og lim den inn i et nytt mål. Du må bare endre navnet til Gjennomsnittlige kostnader og deretter brukei stedet for SUMX .

Den nye formelen kjører en lignende logikk fordi den evaluerer hver enkelt rad i salgstabellen . I tillegg må du fortsatt få produktet av bestillingsmengde og total enhetskostnad . Den eneste forskjellen her er i stedet for sum, formelen beregner gjennomsnittet.

Nå, hvis du tar med gjennomsnittlige kostnader- målet til tabellen, kan du se hvordan det er sammenlignet med Totale kostnader- målet.

Det er utrolig hvordan du kan kjøre en lignende logikk bare ved å endre iterasjonsfunksjonen.

Ytterligere dataoptimaliseringsteknikker 

For å optimalisere tabellen, kan du slette overflødig informasjon, for eksempel kolonnen Totale inntekter .

Siden du lett kan oppnå gjennomsnittskostnadene, trenger du ikke kolonnen Totale inntekter i tabellen lenger. Så lenge du har kolonnene Enhetspris og Total enhetskostnad , er alt i orden.

Nå kan du opprette et nytt mål i stedet for Totalt salg (Iterasjon) ved å bruke SUMX- funksjonen. Du trenger bare å referere til salgstabellen og deretter få produktet av bestillingsmengde og enhetspris .

Etter det kan du sammenligne resultatene i kolonnene Totalt salg og Totalt salg (Iterasjon) . De har begge samme resultater, ikke sant?

Når det gjelder ytelse, er det ikke mye forskjell mellom å bruke beregnede kolonner og iteratorer. Men når det kommer til datamodellen, kan en iterator-funksjon bli kvitt en hel kolonne og spare deg for hundrevis av rader med data.

I tillegg kan du slette overflødige kolonner fordi iteratorer kan beregne de nødvendige resultatene virtuelt. Denne praksisen vil gjøre bordet ditt mye tynnere og modellen din mye raskere. Pass på at du bruker denne optimaliseringsteknikken i dine egne beregninger.

Konklusjon

For å oppsummere, en itererende funksjon evaluerer hver enkelt rad mens aggregatorer ikke gjør det.

Bokstaven X på slutten av funksjonen gjør det lettere å identifisere iteratorer. Eksempler inkluderer SUMX , AVERAGEX ,,funksjoner og mer.

Bruk av iterasjonsfunksjoner vil ikke opprette flere fysiske tabeller . Dette kan hjelpe deg med å spare minne i LuckyTemplates.

Eksemplene for SUMX og AVERAGEX som jeg har dekket er enkle scenarier. Senere vil vi gå inn på mer avanserte ved å legge til IF-setninger og SWITCH-setninger .

Beste ønsker!




*****






Leave a Comment

DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler

DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler

Lær å bruke DAX Studio EVALUATE nøkkelordet med grunnleggende eksempler og få en bedre forståelse av hvordan dette kan hjelpe deg med databehandling.

Opprette en datotabell i LuckyTemplates

Opprette en datotabell i LuckyTemplates

Finn ut hvorfor det er viktig å ha en dedikert datotabell i LuckyTemplates, og lær den raskeste og mest effektive måten å gjøre det på.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte opplæringen fremhever LuckyTemplates mobilrapporteringsfunksjon. Jeg skal vise deg hvordan du kan utvikle rapporter effektivt for mobil.

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

I denne LuckyTemplates-utstillingen vil vi gå gjennom rapporter som viser profesjonell tjenesteanalyse fra et firma som har flere kontrakter og kundeengasjementer.

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Gå gjennom de viktigste oppdateringene for Power Apps og Power Automate og deres fordeler og implikasjoner for Microsoft Power Platform.

Vanlige SQL-funksjoner: en oversikt

Vanlige SQL-funksjoner: en oversikt

Oppdag noen vanlige SQL-funksjoner som vi kan bruke som streng, dato og noen avanserte funksjoner for å behandle eller manipulere data.

LuckyTemplates Template Creation: Guide og tips

LuckyTemplates Template Creation: Guide og tips

I denne opplæringen lærer du hvordan du lager din perfekte LuckyTemplates-mal som er konfigurert til dine behov og preferanser.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne bloggen vil vi demonstrere hvordan du legger feltparametere sammen med små multipler for å skape utrolig nyttig innsikt og grafikk.

LuckyTemplates-rangering og tilpasset gruppering

LuckyTemplates-rangering og tilpasset gruppering

I denne bloggen vil du lære hvordan du bruker LuckyTemplates rangering og tilpassede grupperingsfunksjoner for å segmentere et eksempeldata og rangere det i henhold til kriterier.

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

I denne opplæringen skal jeg dekke en spesifikk teknikk rundt hvordan du viser kumulativ total kun opp til en bestemt dato i grafikken i LuckyTemplates.