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.
I denne opplæringen lærer du å bruke UNION-funksjonen. Denne opplæringen vil sammenligne ytelsen til UNION-funksjonen med og andre teknikker for å kombinere tabeller.
Defunksjonen kombinerer to tabeller til en enkelt tabell ved å kombinere radene deres og fjerne eventuelle dupliserte rader.
Eksemplet i denne opplæringen er en salgstabell som er delt inn i tre tabeller for hvert år (2007, 2008, 2009).
Innholdsfortegnelse
UNION-funksjonen i DAX
Åpne og start Server Timings and Query Plan.
DAX-koden nedenfor brukes som eksempel:
Etter at du har kjørt koden, gå til fanen Server Timings . Du kan se at koden tar totalt 5,4 sekunder å kjøre. Mesteparten av henrettelsestiden ble brukt i . Hver av disse tre spørringene inneholder den samme operasjonen, men årene er forskjellige.
Etter at disse tre spørringene er returnert av Storage Engine, utfører den en UNION, som kan sees i den logiske spørreplanen. Spørreplanen utfører også en beregning for totalt salg.
I den fysiske spørreplanen kan du se de tre databuffrene som inneholder operasjonene som er utført for hvert år, i salgstabellen.
Sammenligning av DAX-ytelse
For å bygge sammenligningen, la oss lage et mål for totalt salg ved å bruke den opprinnelige salgstabellen.
Hvis du kjører denne koden og går til fanen Server Timings , kan du se at denne er betydelig mer effektiv enn UNION-funksjonen.
UNION-funksjonen bruker 97,9 kilobyte, mens det nye målet bare bruker 1KB.
Når du bruker UNION, returnerer DAX Engine en enorm mengde databuffer tilbake til Formula Engine. Dette legger mye press på RAM-en.
Så hvis du har å gjøre med en datamodell som inneholder mer enn en million rader, anbefales det ikke å bruke UNION-funksjonen
UNION DAX funksjonsalternativer
I stedet for å bruke UNION, kan du bruke tre SUMX- funksjoner for dette eksemplet. Det vil si én SUMX-funksjon for hvert år.
Når du kjører denne koden og går til fanen Server Timings, kan du se at utførelsestiden er betydelig lavere. Den gikk fra 5400 ms til 33 ms mens den fortsatt utførte tre forskjellige spørringer.
En annen måte er å legge til datamodelltabellen i Power Query eller i selve datakilden.
Men det beste alternativet er å lage en som vil utføre foreningen av disse tre tabellene. Men dette alternativet har sine fordeler og ulemper.
Ved å bruke en beregnet tabell kan du spare den totale behandlingstiden i motsetning til å utføre en vedlegg i Power Query. Dette vil imidlertid føre til at databasestørrelsen i VertiPaq øker.
Når du bruker en beregnet tabell, oppretter du en ny tabell som kombinerer de tre tabellene. Men disse tre delte tabellene vil fortsette å forbli i databasen.
I dette eksemplet bruker de tre tabellene totalt 25 MB. Hvis du lager en beregnet tabell, vil den forbruke ytterligere 25 MB i RAM-en din.
For sensitive saker som disse, må du ta en utdannet beslutning om hva som vil være den beste handlingen å ta.
Konklusjon
UNION-funksjonen i DAX kombinerer to tabeller til én, noe som gjør det enklere å analysere data. Det fungerer ved å ta to tabeller som input og returnere en ny tabell som inneholder alle radene fra begge input-tabellene. Denne funksjonen har imidlertid sine egne begrensninger.
UNION-funksjonen kan være tregere enn andre metoder for å kombinere data, spesielt hvis inndatatabellene er store. Det kan også forbruke mer plass i oppbevaringen i motsetning til andre alternativer.
Når en situasjon krever at tabeller kombineres, er det viktig å først veie fordeler og ulemper før du bestemmer deg for å bruke UNION-funksjonen. Alternativene dine inkluderer SUMX-funksjonen, en datamodelltabell eller en beregnet tabell.
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.