UNION DAX-Funktion vs. Power Query

UNION DAX-Funktion vs. Power Query

In diesem Tutorial lernen Sie eine DAX-Optimierungstechnik mithilfe der UNION-Funktion kennen. In diesem Tutorial wird die Leistung der UNION-Funktion mit Power Query und anderen Techniken zum Kombinieren von Tabellen verglichen.

Die Funktion kombiniert zwei Tabellen zu einer einzigen Tabelle, indem sie ihre Zeilen kombiniert und alle doppelten Zeilen entfernt.

Das Beispiel in diesem Tutorial ist eine Umsatztabelle, die für jedes Jahr (2007, 2008, 2009) in drei Tabellen aufgeteilt wurde.

Inhaltsverzeichnis

Die UNION-Funktion im DAX

Öffnen Sie DAX Studio und starten Sie den Server-Timings- und Abfrageplan.

UNION DAX-Funktion vs. Power Query

Als Beispiel dient der folgende DAX-Code:

UNION DAX-Funktion vs. Power Query

Nachdem Sie den Code ausgeführt haben, wechseln Sie zur Registerkarte „Server-Timings“ . Sie sehen, dass die Ausführung des Codes insgesamt 5,4 Sekunden dauert. Der Großteil der Ausführungszeit wurde in der Storage Engine verbracht . Jede dieser drei Abfragen enthält denselben Vorgang, die Jahreszahlen sind jedoch unterschiedlich.

UNION DAX-Funktion vs. Power Query

Nachdem diese drei Abfragen von der Speicher-Engine zurückgegeben wurden, führt die Formel-Engine eine UNION durch, die im logischen Abfrageplan zu sehen ist. Der Abfrageplan führt auch einen zur Berechnung des Gesamtumsatzes durch.

UNION DAX-Funktion vs. Power Query

Im physischen Abfrageplan können Sie die drei Datencaches sehen, die die für jedes Jahr durchgeführten Vorgänge in der Tabelle „Umsätze“ enthalten.

UNION DAX-Funktion vs. Power Query

Vergleich der DAX-Performance

Um den Vergleich zu erstellen, erstellen wir mithilfe der ursprünglichen Umsatztabelle eine Kennzahl für den Gesamtumsatz.

UNION DAX-Funktion vs. Power Query

Wenn Sie diesen Code ausführen und zur Registerkarte „Server-Timings“ wechseln , können Sie sehen, dass dies deutlich effizienter ist als die UNION-Funktion.

Die UNION-Funktion verbraucht 97,9 Kilobyte, während die neue Kennzahl nur 1 KB verbraucht.

UNION DAX-Funktion vs. Power Query

Wenn Sie UNION verwenden, gibt die DAX-Engine eine große Menge an Datencache an die Formel-Engine zurück. Dadurch wird der Arbeitsspeicher stark belastet.

Wenn Sie es also mit einem Datenmodell mit mehr als einer Million Zeilen zu tun haben, wird die Verwendung der UNION-Funktion nicht empfohlen

Alternativen zur UNION DAX-Funktion

Anstelle von UNION können Sie für dieses Beispiel drei SUMX-Funktionen verwenden. Das heißt, eine SUMX-Funktion für jedes Jahr.

UNION DAX-Funktion vs. Power Query

Wenn Sie diesen Code ausführen und zur Registerkarte „Server-Timings“ wechseln, können Sie feststellen, dass die Ausführungszeit deutlich kürzer ist. Die Zeitspanne stieg von 5.400 ms auf 33 ms, während weiterhin drei verschiedene Abfragen ausgeführt wurden.

UNION DAX-Funktion vs. Power Query

Eine andere Möglichkeit besteht darin, die Datenmodelltabelle in Power Query oder in der Datenquelle selbst anzuhängen.

Die beste Option besteht jedoch darin, eine berechnete Tabelle zu erstellen , die die Vereinigung dieser drei Tabellen durchführt. Aber diese Option hat ihre Vor- und Nachteile.

Durch die Verwendung einer berechneten Tabelle können Sie die Gesamtverarbeitungszeit im Vergleich zum Durchführen eines Anhängens in Power Query einsparen. Dies führt jedoch dazu, dass die Datenbankgröße in VertiPaq zunimmt.

Wenn Sie eine berechnete Tabelle verwenden, erstellen Sie eine neue Tabelle, die die drei Tabellen kombiniert. Diese drei geteilten Tabellen verbleiben jedoch weiterhin in der Datenbank.

UNION DAX-Funktion vs. Power Query

In diesem Beispiel belegen die drei Tabellen insgesamt 25 MB. Wenn Sie eine berechnete Tabelle erstellen, verbraucht diese weitere 25 MB in Ihrem RAM.

In sensiblen Fällen wie diesen müssen Sie eine fundierte Entscheidung darüber treffen, welche Vorgehensweise am besten ist.

Abschluss

Die UNION-Funktion in DAX kombiniert zwei Tabellen zu einer und erleichtert so die Analyse von Daten. Es funktioniert, indem es zwei Tabellen als Eingabe verwendet und eine neue Tabelle zurückgibt, die alle Zeilen aus beiden Eingabetabellen enthält. Diese Funktion hat jedoch ihre eigenen Einschränkungen.

Die UNION-Funktion kann langsamer sein als andere Methoden zum Kombinieren von Daten, insbesondere wenn die Eingabetabellen groß sind. Im Vergleich zu anderen Alternativen kann es auch mehr Platz im Speicher beanspruchen.

Wann immer eine Situation die Kombination von Tabellen erfordert, ist es wichtig, zunächst die Vor- und Nachteile abzuwägen, bevor man sich für die Verwendung der UNION-Funktion entscheidet. Zu Ihren Alternativen gehören die SUMX-Funktion, eine Datenmodelltabelle oder eine berechnete Tabelle.

Alles Gute,


So speichern und laden Sie eine RDS-Datei in R

So speichern und laden Sie eine RDS-Datei in R

Sie erfahren, wie Sie Objekte aus einer .rds-Datei in R speichern und laden. In diesem Blog wird auch behandelt, wie Sie Objekte aus R in LuckyTemplates importieren.

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

In diesem Tutorial zur DAX-Codierungssprache erfahren Sie, wie Sie die GENERATE-Funktion verwenden und einen Kennzahltitel dynamisch ändern.

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

In diesem Tutorial erfahren Sie, wie Sie mithilfe der Multi-Threaded-Dynamic-Visuals-Technik Erkenntnisse aus dynamischen Datenvisualisierungen in Ihren Berichten gewinnen.

Einführung in den Filterkontext in LuckyTemplates

Einführung in den Filterkontext in LuckyTemplates

In diesem Artikel werde ich den Filterkontext durchgehen. Der Filterkontext ist eines der Hauptthemen, über die sich jeder LuckyTemplates-Benutzer zunächst informieren sollte.

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Ich möchte zeigen, wie der LuckyTemplates Apps-Onlinedienst bei der Verwaltung verschiedener Berichte und Erkenntnisse aus verschiedenen Quellen helfen kann.

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Erfahren Sie, wie Sie Ihre Gewinnmargenänderungen mithilfe von Techniken wie Kennzahlenverzweigung und der Kombination von DAX-Formeln in LuckyTemplates ermitteln.

Materialisierungsideen für Datencaches in DAX Studio

Materialisierungsideen für Datencaches in DAX Studio

In diesem Tutorial werden die Ideen der Materialisierung von Datencaches und deren Auswirkungen auf die Leistung von DAXs bei der Bereitstellung von Ergebnissen erläutert.

Geschäftsberichte mit LuckyTemplates

Geschäftsberichte mit LuckyTemplates

Wenn Sie bisher noch Excel verwenden, ist dies der beste Zeitpunkt, LuckyTemplates für Ihre Geschäftsberichtsanforderungen zu verwenden.

Was ist LuckyTemplates Gateway? Alles was du wissen musst

Was ist LuckyTemplates Gateway? Alles was du wissen musst

Was ist LuckyTemplates Gateway? Alles was du wissen musst