UNION DAX-funktion vs strømforespørgsel

I denne øvelse lærer du at bruge UNION-funktionen. Denne tutorial vil sammenligne ydelsen af ​​UNION-funktionen i forhold til og andre teknikker til at kombinere tabeller.

Detfunktion kombinerer to tabeller til en enkelt tabel ved at kombinere deres rækker og fjerne eventuelle duplikerede rækker.

Eksemplet i denne øvelse er en salgstabel, der er opdelt i tre tabeller for hvert år (2007, 2008, 2009).

Indholdsfortegnelse

UNION-funktionen i DAX

Åbn og start Server Timings og Query Plan.

UNION DAX-funktion vs strømforespørgsel

DAX-koden nedenfor bruges som eksempel:

UNION DAX-funktion vs strømforespørgsel

Når du har kørt koden, skal du gå til fanen Server Timings . Du kan se, at koden i alt tager 5,4 sekunder at udføre. Det meste af henrettelsestiden blev brugt i . Hver af disse tre forespørgsler indeholder den samme operation, men årene er forskellige.

UNION DAX-funktion vs strømforespørgsel

Efter at disse tre forespørgsler er returneret af Storage Engine, udfører den en UNION, som kan ses i den logiske forespørgselsplan. Forespørgselsplanen udfører også en beregning for det samlede salg.

UNION DAX-funktion vs strømforespørgsel

I den fysiske forespørgselsplan kan du se de tre datacaches, der indeholder de udførte operationer for hvert år i tabellen Salg.

UNION DAX-funktion vs strømforespørgsel

Sammenligning af DAX-ydelse

For at opbygge sammenligningen, lad os oprette et mål for det samlede salg ved hjælp af den originale salgstabel.

UNION DAX-funktion vs strømforespørgsel

Hvis du kører denne kode og går til fanen Server Timings , kan du se, at dette er væsentligt mere effektivt end UNION-funktionen.

UNION-funktionen bruger 97,9 kilobytes, mens den nye måling kun bruger 1KB.

UNION DAX-funktion vs strømforespørgsel

Når du bruger UNION, returnerer DAX Engine en enorm mængde datacache tilbage til Formula Engine. Dette lægger et stort pres på RAM'en.

Så hvis du har at gøre med en datamodel, der indeholder mere end en million rækker, anbefales det ikke at bruge UNION-funktionen

UNION DAX funktionsalternativer

I stedet for at bruge UNION kan du bruge tre SUMX- funktioner til dette eksempel. Det vil sige én SUMX-funktion for hvert år.

UNION DAX-funktion vs strømforespørgsel

Når du kører denne kode og går til fanen Server Timings, kan du se, at eksekveringstiden er væsentligt lavere. Den gik fra 5.400 ms til 33 ms, mens den stadig udførte tre forskellige forespørgsler.

UNION DAX-funktion vs strømforespørgsel

En anden måde er at tilføje datamodeltabellen i Power Query eller i selve datakilden.

Men den bedste mulighed er at oprette en, der vil udføre foreningen af ​​disse tre tabeller. Men denne mulighed har sine fordele og ulemper.

Ved at bruge en beregnet tabel kan du spare den samlede behandlingstid i modsætning til at udføre en tilføjelse i Power Query. Dette vil dog få databasestørrelsen i VertiPaq til at øges.

Når du bruger en beregnet tabel, opretter du en ny tabel, der kombinerer de tre tabeller. Men disse tre opdelte tabeller vil fortsat forblive i databasen.

UNION DAX-funktion vs strømforespørgsel

I dette eksempel bruger de tre tabeller i alt 25 MB. Hvis du opretter en beregnet tabel, vil den forbruge yderligere 25 MB i din RAM.

For følsomme sager som disse skal du træffe en kvalificeret beslutning om, hvad der ville være den bedste fremgangsmåde at tage.

Konklusion

UNION-funktionen i DAX kombinerer to tabeller til én, hvilket gør det nemmere at analysere data. Det fungerer ved at tage to tabeller som input og returnere en ny tabel, der indeholder alle rækkerne fra begge inputtabeller. Denne funktion har dog sine egne begrænsninger.

UNION-funktionen kan være langsommere end andre metoder til at kombinere data, især hvis inputtabellerne er store. Det kan også forbruge mere plads i opbevaringen i modsætning til andre alternativer.

Når en situation kræver, at tabeller skal kombineres, er det vigtigt først at afveje fordele og ulemper, før du beslutter dig for at bruge UNION-funktionen. Dine alternativer inkluderer SUMX-funktionen, en datamodeltabel eller en beregnet tabel.

Alt det bedste,


Pipe In R: Tilslutningsfunktioner med Dplyr

Pipe In R: Tilslutningsfunktioner med Dplyr

I denne øvelse lærer du, hvordan du kæder funktioner sammen ved hjælp af dplyr-røroperatoren i programmeringssproget R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX fra LuckyTemplates giver dig mulighed for at returnere rangeringen af ​​et specifikt tal i hver tabelrække, der udgør en del af en liste over tal.

Udpakning af LuckyTemplates-temaer og -billeder fra PBIX

Udpakning af LuckyTemplates-temaer og -billeder fra PBIX

Lær, hvordan du adskiller en PBIX-fil for at udtrække LuckyTemplates-temaer og -billeder fra baggrunden og bruge den til at oprette din rapport!

Excel Formler Snydeark: Mellemvejledning

Excel Formler Snydeark: Mellemvejledning

Excel Formler Snydeark: Mellemvejledning

LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det

LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det

LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det

Python i LuckyTemplates: Sådan installeres og konfigureres

Python i LuckyTemplates: Sådan installeres og konfigureres

Lær, hvordan du installerer programmeringssproget Python i LuckyTemplates, og hvordan du bruger dets værktøjer til at skrive koder og vise billeder.

Beregning af dynamiske fortjenestemargener – nem analyse af LuckyTemplates med DAX

Beregning af dynamiske fortjenestemargener – nem analyse af LuckyTemplates med DAX

Lær, hvordan du beregner dynamiske fortjenstmargener ved siden af ​​LuckyTemplates, og hvordan du kan få mere indsigt ved at grave dybere ned i resultaterne.

Sortering af datotabelkolonner i LuckyTemplates

Sortering af datotabelkolonner i LuckyTemplates

Lær, hvordan du sorterer felterne fra kolonner med udvidet datotabel korrekt. Dette er en god strategi at gøre for vanskelige felter.

Find dine topprodukter for hver region i LuckyTemplates ved hjælp af DAX

Find dine topprodukter for hver region i LuckyTemplates ved hjælp af DAX

I denne artikel gennemgår jeg, hvordan du kan finde dine topprodukter pr. region ved hjælp af DAX-beregninger i LuckyTemplates, herunder funktionerne TOPN og CALCUATE.

Junk Dimension: Hvad er det, og hvorfor det er alt andet end junk

Junk Dimension: Hvad er det, og hvorfor det er alt andet end junk

Lær, hvordan du bruger en uønsket dimension til flag med lav kardinalitet, som du ønsker at inkorporere i din datamodel på en effektiv måde.