Wat is zelf in Python: voorbeelden uit de echte wereld
Wat is zelf in Python: voorbeelden uit de echte wereld
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.
De onderstaande DAX-code wordt als voorbeeld gebruikt:
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.
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.
In het Physical Query Plan ziet u de drie gegevenscaches met de uitgevoerde bewerkingen voor elk jaar in de tabel Verkoop.
DAX-prestaties vergelijken
Laten we, om de vergelijking op te bouwen, een meting voor Totale verkoop maken met behulp van de originele verkooptabel.
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.
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.
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.
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.
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
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.
In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.
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.
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.
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.
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.
Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.
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