UNION DAX-funksjon vs Power Query

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.

UNION DAX-funksjon vs Power Query

DAX-koden nedenfor brukes som eksempel:

UNION DAX-funksjon vs Power Query

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.

UNION DAX-funksjon vs Power Query

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.

UNION DAX-funksjon vs Power Query

I den fysiske spørreplanen kan du se de tre databuffrene som inneholder operasjonene som er utført for hvert år, i salgstabellen.

UNION DAX-funksjon vs Power Query

Sammenligning av DAX-ytelse

For å bygge sammenligningen, la oss lage et mål for totalt salg ved å bruke den opprinnelige salgstabellen.

UNION DAX-funksjon vs Power Query

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.

UNION DAX-funksjon vs Power Query

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.

UNION DAX-funksjon vs Power Query

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.

UNION DAX-funksjon vs Power Query

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.

UNION DAX-funksjon vs Power Query

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,


Pipe In R: Koblingsfunksjoner med Dplyr

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.

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

RANKX fra LuckyTemplates lar deg returnere rangeringen til et spesifikt tall i hver tabellrad som utgjør en del av en liste med tall.

Trekker ut LuckyTemplates-temaer og bilder fra PBIX

Trekker ut LuckyTemplates-temaer og bilder fra PBIX

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

Excel Formulas Cheat Sheet: Mellomveiledning

Excel Formulas Cheat Sheet: Mellomveiledning

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

Python i LuckyTemplates: Hvordan installere og sette opp

Python i LuckyTemplates: Hvordan installere og sette opp

Lær hvordan du installerer programmeringsspråket Python i LuckyTemplates og hvordan du bruker verktøyene til å skrive koder og vise visuelle elementer.

Beregning av dynamiske fortjenestemarginer – enkel analyse av LuckyTemplates med DAX

Beregning av dynamiske fortjenestemarginer – enkel analyse av LuckyTemplates med DAX

Lær hvordan du beregner dynamiske fortjenestemarginer ved siden av LuckyTemplates og hvordan du kan få mer innsikt ved å grave dypere inn i resultatene.

Sortering av datotabellkolonner i LuckyTemplates

Sortering av datotabellkolonner i LuckyTemplates

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.

Finn dine beste produkter for hver region i LuckyTemplates ved å bruke DAX

Finn dine beste produkter for hver region i LuckyTemplates ved å bruke DAX

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.

Søppeldimensjon: Hva er det og hvorfor det er alt annet enn søppel

Søppeldimensjon: Hva er det og hvorfor det er alt annet enn søppel

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.