UNION DAX Funktion kontra Power Query

I den här handledningen lär du dig att använda UNION-funktionen. Denna handledning kommer att jämföra prestandan för UNION-funktionen med och andra tekniker för att kombinera tabeller.

Defunktion kombinerar två tabeller till en enda tabell genom att kombinera deras rader och ta bort eventuella dubbletter.

Exemplet i denna handledning är en försäljningstabell som har delats upp i tre tabeller för varje år (2007, 2008, 2009).

Innehållsförteckning

UNION-funktionen i DAX

Öppna och starta Server Timings and Query Plan.

UNION DAX Funktion kontra Power Query

DAX-koden nedan används som exempel:

UNION DAX Funktion kontra Power Query

När du har kört koden, gå till fliken Server Timings . Du kan se att koden tar totalt 5,4 sekunder att exekvera. Det mesta av avrättningstiden spenderades i . Var och en av dessa tre frågor innehåller samma operation, men åren är olika.

UNION DAX Funktion kontra Power Query

Efter att dessa tre frågor har returnerats av Storage Engine, utför den en UNION, som kan ses i den logiska frågeplanen. Frågeplanen utför också en beräkning av total försäljning.

UNION DAX Funktion kontra Power Query

I den fysiska frågeplanen kan du se de tre datacacharna som innehåller de operationer som utförs för varje år i tabellen Försäljning.

UNION DAX Funktion kontra Power Query

Jämför DAX-prestanda

För att bygga jämförelsen, låt oss skapa ett mått för total försäljning med den ursprungliga försäljningstabellen.

UNION DAX Funktion kontra Power Query

Om du kör den här koden och går till fliken Server Timings kan du se att detta är betydligt effektivare än UNION-funktionen.

UNION-funktionen förbrukar 97,9 kilobyte medan det nya måttet bara förbrukar 1KB.

UNION DAX Funktion kontra Power Query

När du använder UNION returnerar DAX Engine en enorm mängd datacache tillbaka till Formula Engine. Detta sätter stor press på RAM-minnet.

Så om du har att göra med en datamodell som innehåller mer än en miljon rader, rekommenderas det inte att använda UNION-funktionen

UNION DAX funktionsalternativ

Istället för att använda UNION kan du använda tre SUMX- funktioner för detta exempel. Det vill säga en SUMX-funktion för varje år.

UNION DAX Funktion kontra Power Query

När du kör den här koden och går till fliken Server Timings kan du se att exekveringstiden är betydligt lägre. Det gick från 5 400 ms till 33 ms medan det fortfarande kördes tre olika frågor.

UNION DAX Funktion kontra Power Query

Ett annat sätt är att lägga till tabellen Data Model i Power Query eller i själva datakällan.

Men det bästa alternativet är att skapa en som kommer att utföra föreningen av dessa tre tabeller. Men det här alternativet har sina för- och nackdelar.

Genom att använda en beräknad tabell kan du spara den totala bearbetningstiden i motsats till att utföra ett tillägg i Power Query. Detta kommer dock att göra att databasstorleken i VertiPaq ökar.

När du använder en beräknad tabell skapar du en ny tabell som kombinerar de tre tabellerna. Men dessa tre delade tabellerna kommer att fortsätta att finnas kvar i databasen.

UNION DAX Funktion kontra Power Query

I det här exemplet förbrukar de tre tabellerna totalt 25 MB. Om du skapar en beräknad tabell kommer den att förbruka ytterligare 25 MB i ditt RAM-minne.

För känsliga fall som dessa måste du fatta ett välgrundat beslut om vad som skulle vara det bästa sättet att vidta.

Slutsats

UNION-funktionen i DAX kombinerar två tabeller till en, vilket gör det lättare att analysera data. Det fungerar genom att ta två tabeller som indata och returnera en ny tabell som innehåller alla rader från båda inmatningstabellerna. Denna funktion har dock sina egna begränsningar.

UNION-funktionen kan vara långsammare än andra metoder för att kombinera data, särskilt om inmatningstabellerna är stora. Det kan också förbruka mer utrymme i förvaringen till skillnad från andra alternativ.

Närhelst en situation kräver att tabeller kombineras, är det viktigt att först väga för- och nackdelar innan du bestämmer dig för att använda UNION-funktionen. Dina alternativ inkluderar SUMX-funktionen, en datamodelltabell eller en beräknad tabell.

Med vänliga hälsningar,


Skapa en datumtabell i LuckyTemplates

Skapa en datumtabell i LuckyTemplates

Ta reda på varför det är viktigt att ha en dedikerad datumtabell i LuckyTemplates och lär dig det snabbaste och mest effektiva sättet att göra det.

LuckyTemplates mobilrapporteringstips och tekniker

LuckyTemplates mobilrapporteringstips och tekniker

Denna korta handledning belyser LuckyTemplates mobilrapporteringsfunktion. Jag ska visa dig hur du kan utveckla rapporter effektivt för mobila enheter.

Professional Service Analytics-rapporter i LuckyTemplates

Professional Service Analytics-rapporter i LuckyTemplates

I denna LuckyTemplates Showcase går vi igenom rapporter som visar professionell serviceanalys från ett företag som har flera kontrakt och kundengagemang.

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Gå igenom de viktigaste uppdateringarna för Power Apps och Power Automate och deras fördelar och konsekvenser för Microsoft Power Platform.

Vanliga SQL-funktioner: En översikt

Vanliga SQL-funktioner: En översikt

Upptäck några vanliga SQL-funktioner som vi kan använda som sträng, datum och några avancerade funktioner för att bearbeta eller manipulera data.

LuckyTemplates Skapa mall: Guide och tips

LuckyTemplates Skapa mall: Guide och tips

I den här handledningen kommer du att lära dig hur du skapar din perfekta LuckyTemplates-mall som är konfigurerad efter dina behov och preferenser.

Fältparametrar och små multiplar i LuckyTemplates

Fältparametrar och små multiplar i LuckyTemplates

I den här bloggen kommer vi att visa hur man lager fältparametrar med små multiplar för att skapa otroligt användbara insikter och bilder.

LuckyTemplates Rank och anpassad gruppering

LuckyTemplates Rank och anpassad gruppering

I den här bloggen kommer du att lära dig hur du använder LuckyTemplates ranknings- och anpassade grupperingsfunktioner för att segmentera en exempeldata och rangordna den enligt kriterier.

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

I den här handledningen kommer jag att täcka en specifik teknik kring hur man visar Kumulativ total endast upp till ett specifikt datum i dina bilder i LuckyTemplates.

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Lär dig hur du skapar och anpassar punktdiagram i LuckyTemplates, som huvudsakligen används för att mäta prestanda mot mål eller tidigare år.