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,


Streudiagramm-Visualisierungen mit Charticulator

Streudiagramm-Visualisierungen mit Charticulator

In diesem Tutorial erfahren Sie, wie Sie mit Charticulator eine Streudiagramm-Visualisierung für Ihren LuckyTemplates-Bericht erstellen und entwerfen.

PowerApps-Suchfeld: So fügen Sie es hinzu und passen es an

PowerApps-Suchfeld: So fügen Sie es hinzu und passen es an

Erfahren Sie, wie Sie ein PowerApps-Suchfeld von Grund auf erstellen und es an das Gesamtthema Ihrer App anpassen.

Power Automate String-Funktionen: Substring und IndexOf

Power Automate String-Funktionen: Substring und IndexOf

Erlernen Sie ganz einfach zwei komplizierte Power Automate String-Funktionen, die in Microsoft Flows verwendet werden können – die Funktionen substring und indexOf.

Power Query M: Abwechselndes 0-1-Muster in der Datumstabelle

Power Query M: Abwechselndes 0-1-Muster in der Datumstabelle

Dieses Tutorial konzentriert sich auf die Power Query M-Funktion „number.mod“, um ein abwechselndes 0-1-Muster in der Datumstabelle zu erstellen.

Prognosetechnik: Erkundung der Prognoselogik in LuckyTemplates-Modellen

Prognosetechnik: Erkundung der Prognoselogik in LuckyTemplates-Modellen

In diesem Tutorial führe ich eine Prognosetechnik durch, bei der ich meine tatsächlichen Ergebnisse mit meinen Prognosen vergleiche und sie kumulativ betrachte.

Speichern Sie E-Mail-Anhänge in SharePoint mit Power Automate

Speichern Sie E-Mail-Anhänge in SharePoint mit Power Automate

In diesem Blog erfahren Sie, wie Sie mit Power Automate E-Mail-Anhänge automatisch in SharePoint speichern und E-Mails anschließend löschen.

Führen Sie eine Bis-Loop-Steuerung in Power Automate durch

Führen Sie eine Bis-Loop-Steuerung in Power Automate durch

Erfahren Sie, wie die Do Until Schleifensteuerung in Power Automate funktioniert und welche Schritte zur Implementierung erforderlich sind.

Berechnen eines gleitenden Durchschnitts in LuckyTemplates mithilfe von DAX

Berechnen eines gleitenden Durchschnitts in LuckyTemplates mithilfe von DAX

In diesem Tutorial erfahren Sie, wie Sie mithilfe der ALLSELECTED-Funktion einen dynamischen gleitenden Durchschnitt in LuckyTemplates berechnen können.

Berechnen Sie dynamisch eine laufende oder kumulative LuckyTemplates-Summe

Berechnen Sie dynamisch eine laufende oder kumulative LuckyTemplates-Summe

Durch diesen Artikel erhalten wir ein klares und besseres Verständnis für die dynamische Berechnung einer laufenden oder kumulativen Gesamtsumme in LuckyTemplates.

Power Automate auf jede Aktion in Workflows anwenden

Power Automate auf jede Aktion in Workflows anwenden

Erfahren und verstehen Sie die Bedeutung und ordnungsgemäße Verwendung der Power Automate-Aktionssteuerung „Auf jede anwenden“ in unseren Microsoft-Workflows.