UNION DAX-functie versus Power Query

UNION DAX-functie versus Power Query

In deze zelfstudie leert u een DAX-optimalisatietechniek met behulp van de UNION-functie. In deze zelfstudie worden de prestaties van de UNION-functie vergeleken met Power Query en andere technieken voor het combineren van tabellen.

De functie combineert twee tabellen tot één tabel door hun rijen te combineren en eventuele dubbele rijen te verwijderen.

Het voorbeeld in deze zelfstudie is een tabel Verkoop die is opgesplitst in drie tabellen voor elk jaar (2007, 2008, 2009).

Inhoudsopgave

De UNION-functie in DAX

Open DAX Studio en start het Server Timings and Query Plan.

UNION DAX-functie versus Power Query

De onderstaande DAX-code wordt als voorbeeld gebruikt:

UNION DAX-functie versus Power Query

Nadat u de code hebt uitgevoerd, gaat u naar het tabblad Server Timings . U kunt zien dat de uitvoering van de code in totaal 5,4 seconden duurt. Het grootste deel van de uitvoeringstijd werd doorgebracht in de Storage Engine . Elk van deze drie query's bevat dezelfde bewerking, maar de jaren zijn verschillend.

UNION DAX-functie versus Power Query

Nadat deze drie query's zijn geretourneerd door de Storage Engine, voert de Formula Engine een UNION uit, die te zien is in het Logical Query Plan. Het queryplan voert ook een uit om de totale verkoop te berekenen.

UNION DAX-functie versus Power Query

In het Physical Query Plan ziet u de drie gegevenscaches met de uitgevoerde bewerkingen voor elk jaar in de tabel Verkoop.

UNION DAX-functie versus Power Query

DAX-prestaties vergelijken

Laten we, om de vergelijking op te bouwen, een meting voor Totale verkoop maken met behulp van de originele verkooptabel.

UNION DAX-functie versus Power Query

Als u deze code uitvoert en naar het tabblad Server Timings gaat , kunt u zien dat dit aanzienlijk efficiënter is dan de UNION-functie.

De UNION-functie verbruikt 97,9 kilobytes, terwijl de nieuwe meting slechts 1 KB verbruikt.

UNION DAX-functie versus Power Query

Wanneer u UNION gebruikt, retourneert de DAX Engine een enorme hoeveelheid gegevenscache terug naar de Formula Engine. Dit zet veel druk op het RAM-geheugen.

Dus als je te maken hebt met een datamodel dat meer dan een miljoen rijen bevat, is het niet aan te raden om de UNION-functie te gebruiken

UNION DAX Functie Alternatieven

In plaats van UNION te gebruiken, kunt u voor dit voorbeeld drie SUMX-functies gebruiken. Dat wil zeggen, één SUMX-functie voor elk jaar.

UNION DAX-functie versus Power Query

Wanneer u deze code uitvoert en naar het tabblad Server Timings gaat, kunt u zien dat de uitvoeringstijd aanzienlijk lager is. Het ging van 5.400 ms naar 33 ms terwijl er nog steeds drie verschillende queries werden uitgevoerd.

UNION DAX-functie versus Power Query

Een andere manier is om de gegevensmodeltabel toe te voegen in Power Query of in de gegevensbron zelf.

Maar de beste optie is om een ​​berekende tabel te maken die de vereniging van die drie tabellen uitvoert. Maar deze optie heeft zijn voor- en nadelen.

Door een berekende tabel te gebruiken, kunt u de totale verwerkingstijd besparen in tegenstelling tot het uitvoeren van een append in Power Query. Hierdoor zal de databasegrootte in VertiPaq echter toenemen.

Wanneer u een berekende tabel gebruikt, maakt u een nieuwe tabel die de drie tabellen combineert. Maar deze drie gesplitste tabellen blijven in de database staan.

UNION DAX-functie versus Power Query

In dit voorbeeld verbruiken de drie tabellen in totaal 25 MB. Als u een berekende tabel maakt, verbruikt deze nog eens 25 MB aan RAM.

Voor gevoelige gevallen als deze moet u een weloverwogen beslissing nemen over wat u het beste kunt doen.

Conclusie

De UNION-functie in DAX combineert twee tabellen tot één, waardoor het eenvoudiger wordt om gegevens te analyseren. Het werkt door twee tabellen als invoer te nemen en een nieuwe tabel te retourneren die alle rijen van beide invoertabellen bevat. Deze functie heeft echter zijn eigen beperkingen.

De UNION-functie kan langzamer zijn dan andere methodes om gegevens te combineren, vooral als de invoertabellen groot zijn. Het kan ook meer opslagruimte in beslag nemen dan andere alternatieven.

Wanneer een situatie vereist dat tabellen worden gecombineerd, is het belangrijk om eerst de voor- en nadelen af ​​te wegen voordat u besluit de UNION-functie te gebruiken. Uw alternatieven zijn de SUMX-functie, een gegevensmodeltabel of een berekende tabel.

Al het beste,


Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Een RDS-bestand opslaan en laden in R

Een RDS-bestand opslaan en laden in R

Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.

First N Business Days Revisited – Een DAX-coderingstaaloplossing

First N Business Days Revisited – Een DAX-coderingstaaloplossing

In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.

Inleiding tot het filteren van context in LuckyTemplates

Inleiding tot het filteren van context in LuckyTemplates

In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.

Zakelijke rapportage met behulp van LuckyTemplates

Zakelijke rapportage met behulp van LuckyTemplates

Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten