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!




*****







PowerApps-søkefelt: Slik legger du til og tilpasser

PowerApps-søkefelt: Slik legger du til og tilpasser

Lær hvordan du oppretter et PowerApps-søkefelt fra bunnen av og tilpasser det til å matche det overordnede temaet for appen din.

SELECTEDVALUE DAX-eksempel- Valg av høsteskive

SELECTEDVALUE DAX-eksempel- Valg av høsteskive

Høst eller fang en verdi inne i et mål for å gjenbruke i et annet mål for dynamiske beregninger ved å bruke SELECTEDVALUE DAX i LuckyTemplates.

Versjonshistorikk i SharePoint-lister

Versjonshistorikk i SharePoint-lister

Oppdag hvordan versjonshistorikk i SharePoint kan hjelpe deg med å se utviklingen av bestemte data, og hvor mange endringer den har gjennomgått.

Hex-fargekodevelger for Lucky Templates-rapporter

Hex-fargekodevelger for Lucky Templates-rapporter

Her er et verktøy for å lage rapporter og grafikk, en sekskantkodevelger for farger som du kan bruke for enkelt å få fargene til LuckyTemplates-rapportene dine.

Dynamisk datoskjærer i Lucky-maler ved hjelp av en periodetabell

Dynamisk datoskjærer i Lucky-maler ved hjelp av en periodetabell

Du kan enkelt vise en datoperiode som en slicer i rapporten ved hjelp av en periodetabell. Bruk en M-kode for å lage den dynamiske datoskjæreren i LuckyTemplates.

Proporsjons- og frekvenstabeller i Excel

Proporsjons- og frekvenstabeller i Excel

Skulle dykke ned i frekvenstabeller i Excel samt proporsjonstabeller. Se nærmere på hva de er og når du skal bruke dem.

Slik installerer du DAX Studio & Tabular Editor i LuckyTemplates

Slik installerer du DAX Studio & Tabular Editor i LuckyTemplates

Lær hvordan du laster ned og installerer DAX Studio og Tabular Editor 3 og hvordan du konfigurerer dem for bruk i LuckyTemplates og i Excel.

LuckyTemplates Shape Map Visualization for romlig analyse

LuckyTemplates Shape Map Visualization for romlig analyse

Denne bloggen inneholder Shape Map-visualiseringen for romlig analyse i LuckyTemplates. Jeg viser deg hvordan du kan bruke denne visualiseringen effektivt med dens funksjoner og elementer.

LuckyTemplates finansiell rapportering: Allokering av resultater til maler på hver enkelt rad

LuckyTemplates finansiell rapportering: Allokering av resultater til maler på hver enkelt rad

I denne opplæringen viser jeg frem en unik idé rundt finansiell rapportering, som tildeler resultater for å forhåndsbestemme tabellmaler inne i LuckyTemplates.

DAX-mål i LuckyTemplates ved hjelp av måleforgrening

DAX-mål i LuckyTemplates ved hjelp av måleforgrening

Opprett DAX-mål i LuckyTemplates ved å bruke eksisterende mål eller formler. Dette er det jeg kaller tiltaket forgreningsteknikk.