Pipe In R: Koblingsfunksjoner med Dplyr
I denne opplæringen lærer du hvordan du kobler funksjoner sammen ved å bruke dplyr-røroperatøren i programmeringsspråket R.
Det er fortsatt mye forvirring om forskjellen mellomvsi LuckyTemplates. Dette er nøkkelkunnskap som brukerne må mestre fordi begge funksjonene kan brukes på tvers av ulike scenarier, men det er tilfeller der den ene er mer effektiv enn den andre. Du kan se hele videoen av denne opplæringen nederst på denne bloggen.
Jeg skal fokusere på ett eksempel her som vil vise forskjellen mellom de to. Men før jeg hopper inn i det eksemplet, er det viktig å forstå forskjellen mellom en aggregerende funksjon og en itererende funksjon.
Innholdsfortegnelse
Aggregatorer vs iteratorer
Når det gjelder DAX, er det to typer beregningsmotorer – aggregatorene og iteratorene.
Aggregerende funksjoner inkluderer SUM ,,,og. Iteratorer, på den annen side, er funksjoner som har en X på slutten, som SUMX .
Itererende funksjoner går gjennom hver enkelt rad i en tabell for å legge til logikk til hver av disse radene.
Aggregerende funksjoner ser på hele kolonnen som er igjen etter at konteksten er plassert i en formel. Derfra gjøres en enkelt aggregering for hele kolonnen på én gang.
SUM Som Aggregator
Hvordan brukes SUM som en aggregator?
I dette eksemplet skal jeg beregne den totale inntekten i eksempeldataene som er gitt.
Konteksten er alltid viktig her. I dette tilfellet er hver spesifikk dato konteksten for hvert spesifikt resultat.
Hvis jeg graver dypere inn i denne tabellen, vil den vise at det er en direkte relasjon som flyter fra datoen som går inn i salgstabellen .
Så hvis jeg ser på dataene som fungerer under denne modellen, er dette hvordan alt passer sammen.
Så forholdet er knyttet til ordredato-kolonnen her. Når spesifikke datoer fra denne kolonnen er filtrert, vises de tilsvarende resultatene under inntektskolonnen.
Derfra ville SUM bare gjøre en stor beregning av de filtrerte resultatene.
SUMX som en iterator
Nå skal jeg bruke SUMX på de samme eksempeldataene slik at du kan se forskjellen. Jeg kan faktisk beregne den inntekten uten å berøre kolonnen Inntekter.
Når den brukes, vil den alltid be om et bord. Merk at enten en fysisk tabell eller en virtuell tabell kan brukes her.
For å komme opp med inntektene, skal jeg velge Salgstabellen. Deretter plasserer jeg et uttrykk, som kan være et mål eller en spesifikk kolonne fra den tabellen, i denne formelen, slik at den kan begynne å kjøre logikk på hver rad. Uttrykket, som forklart her, returnerer summen av et uttrykk evaluert for hver rad i tabellen.
Siden eksempeldataene inkluderer bestillingsmengden, kommer jeg til å bruke det her for å få totalen. Jeg kommer også til å bruke Enhetsprisen.
Når jeg drar den formelen inn i rapporten, er resultatene nøyaktig de samme.
Selvfølgelig viser de begge de samme resultatene fordi de begge henter data fra de samme to kolonnene – bestillingsmengden og enhetsprisen.
Hvorfor bruke SUMX hvis det gir samme resultat som SUM uansett?
Med SUMX brukes logikken ikke bare på en hel kolonne, men på hver enkelt rad i den kolonnen. Faktisk kunne jeg slette inntektskolonnen og fortsatt kunne hente spesifikke resultater.
Så forestill deg at logikken brukes på hver rad. Den multipliserer bestillingsmengden og enhetsprisen for den første raden og lagrer det deretter i minnet. Den gjør det samme med den andre raden og alle de andre radene etter det, og lagrer hvert enkelt resultat.
Dette betyr at det som brukes til å beregne SUMX på slutten, ikke er de fysiske dataene på bordet, men resultatene som er lagret i minnet .
Konklusjon
Forhåpentligvis var jeg i stand til å forklare hovedforskjellen mellom SUM vs SUMX i LuckyTemplates, spesielt for de som fortsatt får taket på hva LuckyTemplates virkelig kan gjøre.
Tommelfingerregelen er at hvis det er et enkelt, greit scenario som kan løses med en aggregeringsfunksjon, bruk SUM. Men hvis mer avansert logikk er nødvendig, bruk SUMX.
SUMX vil også være nyttig i tilfeller der du har tusenvis til millioner av rader. Så lenge tabellene og kolonnene det refereres til i målene dine er der, vil bruk av iterasjonsfunksjoner gjøre prosessen mer effektiv.
Beste ønsker,
I denne opplæringen lærer du hvordan du kobler funksjoner sammen ved å bruke dplyr-røroperatøren i programmeringsspråket R.
RANKX fra LuckyTemplates lar deg returnere rangeringen til et spesifikt tall i hver tabellrad som utgjør en del av en liste med tall.
Lær hvordan du demonterer en PBIX-fil for å trekke ut LuckyTemplates-temaer og bilder fra bakgrunnen og bruke den til å lage rapporten din!
Excel Formulas Cheat Sheet: Mellomveiledning
LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det
Lær hvordan du installerer programmeringsspråket Python i LuckyTemplates og hvordan du bruker verktøyene til å skrive koder og vise visuelle elementer.
Lær hvordan du beregner dynamiske fortjenestemarginer ved siden av LuckyTemplates og hvordan du kan få mer innsikt ved å grave dypere inn i resultatene.
Lær hvordan du sorterer feltene fra kolonner med utvidet datotabell på riktig måte. Dette er en god strategi å gjøre for vanskelige felt.
I denne artikkelen går jeg gjennom hvordan du kan finne de beste produktene dine per region ved å bruke DAX-beregninger i LuckyTemplates, inkludert TOPN- og CALCUATE-funksjonene.
Lær hvordan du bruker en søppeldimensjon for flagg med lav kardinalitet som du ønsker å inkludere i datamodellen din på en effektiv måte.