DAX-Abfragestruktur in LuckyTemplates – zwei Engines und DAX Studio

DAX-Abfragestruktur in LuckyTemplates – zwei Engines und DAX Studio

In diesem Tutorial geht es um die DAX-Abfragestruktur und die beiden Engines in DAX Studio. Sie werden den Prozess sehen, der dahinter steckt, wie Ihre DAX-Formeln zu Ergebnissen führen. Außerdem erfahren Sie, wie die einzelnen Motoren in Ihrer Berechnung funktionieren.

Es gibt zwei Engines, die für die Datenerzeugung verantwortlich sind: die Formel-Engine und die VertiPaq-Speicher-Engine .

Inhaltsverzeichnis

Die DAX-Abfragestruktur

Dieses Tutorial zeigt eine detaillierte DAX-Abfragestruktur und zeigt, wie DAX hinter Ihrem Bericht funktioniert.

DAX-Abfragestruktur in LuckyTemplates – zwei Engines und DAX Studio

Jede von Ihnen erstellte Kennzahl ist eine Abfrage. Es arbeitet mit einem Datensatz und gibt eine Antwort zurück. Die Abfrage kommuniziert dann mit den SQL Server Analysis Services. Es handelt sich um eine angepasste Version für LuckyTemplates, die im Hintergrund ausgeführt wird.

Nachdem Sie Ihre Abfrage geschrieben haben, wird sie an die Formel-Engine gesendet. Es beantwortet alle DAX-Anforderungen, ist jedoch nicht so effizient wie die Speicher-Engine.

Sobald die Formel-Engine die Abfrage erhält, fragt sie die VertiPaq-Speicher-Engine nach Daten, die bearbeitet werden sollen. Anschließend ruft die Speicher-Engine Daten aus dem Cache für komprimierte Daten ab.

VertiPaq ist effizient, da es mit komprimierten Spalten funktioniert. Es kann viele Zeilen innerhalb von Millisekunden berechnen.

Am Ende des Diagramms sehen Sie die Datenquelle. Diese Transaktion findet nur statt, wenn Sie eine Datenaktualisierung durchführen.

Sie müssen außerdem lernen, dass einfache Abfragen von der Speicher-Engine beantwortet werden können. Andernfalls wird der Datencache zurück an die Formel-Engine gesendet, um eine Antwort zu berechnen.

Wenn diese Daten an die Formel-Engine zurückgesendet werden, werden sie nicht mehr komprimiert. Es verwendet die vollständigen Spalten im Speicher. 

Nachdem die Formel-Engine die Daten zurückerhalten hat, berechnet und füllt sie eine Antwort auf die DAX-Abfrage aus.

Die Engines der DAX-Abfragestruktur

Es ist wichtig, den Unterschied zwischen der Formel-Engine und der Speicher-Engine zu kennen. Jeder von ihnen ist für unterschiedliche Zwecke konzipiert, sodass Sie Ihr DAX-Wissen anwenden und schnelle und genaue Abfragen erhalten können. Das sind die Unterschiede zwischen den beiden Motoren:

DAX-Abfragestruktur in LuckyTemplates – zwei Engines und DAX Studio

Das Symbol jedes Motors zeigt an, wie schnell seine Leistung ist. Die Speicher-Engine ist schneller als die Formel-Engine, da sie einfache Anfragen verarbeitet. Wenn Ihre DAX-Abfrage einfach ist und  oder erfordert , kann die Speicher-Engine alles selbst erledigen.

Andererseits kann die Formel-Engine komplexe DAX-Funktionen verarbeiten. Bedenken Sie, dass Ihre Ausdrücke umso mehr Formel-Engines enthalten, je komplexer Ihre Abfrage ist.

Auch die von den beiden Engines verwendeten Daten sind unterschiedlich. Die Formel-Engine verwendet den unkomprimierten Datencache der Speicher-Engine, der viel Speicher und Zeit beansprucht, während die Speicher-Engine komprimierte Daten verwendet .

Die Speicher-Engine ist schnell, da sie mehr als einen Kern gleichzeitig nutzt. Das bedeutet, dass es sich um eine Multithread-Engine handelt. Wenn Ihre Tabellen Segmente haben, werden diese abhängig von der Anzahl Ihrer Kerne gescannt. Die Formel-Engine kann jedoch jeweils nur einen Kern ausführen.

Eine weitere großartige Funktion der Speicher-Engine besteht darin, dass, wenn Ihre Messungen eine Antwort ergeben, diese im Gegensatz zur Formel-Engine im Speicher gespeichert wird. Wenn dieselbe Frage gestellt wird, erhalten Sie eine Antwort, ohne eine vollständige Berechnung durchzuführen.

Die Speicher-Engine ist auf Geschwindigkeit optimiert, während die Formel-Engine auf Komplexität optimiert ist.

Hinter der DAX-Berechnung

Die einzige Methode, den Prozess hinter der Leistung Ihres DAX zu kennen, ist DAX Studio. Dies ist eine Beispieldatei im DAX Studio.

DAX-Abfragestruktur in LuckyTemplates – zwei Engines und DAX Studio

Wenn Sie F5 drücken und es ausführen, erhalten Sie Ergebnisse.

DAX-Abfragestruktur in LuckyTemplates – zwei Engines und DAX Studio

Um zu erfahren, was mit den beiden Engines hinter der Berechnung passiert, aktivieren Sie die Server-Timings und den Abfrageplan. Führen Sie dann den DAX erneut aus.

DAX-Abfragestruktur in LuckyTemplates – zwei Engines und DAX Studio

Wenn Sie fertig sind, gehen Sie zur Registerkarte „Server-Timings“.

DAX-Abfragestruktur in LuckyTemplates – zwei Engines und DAX Studio

Sie können die Gesamtausführungszeit der Abfrage, der Formel-Engine und der Speicher-Engine sehen. Außerdem sehen Sie, wie viele Speicher-Engines ausgeführt wurden. Die Formel-Engine wird von 83,3 % der gesamten Abfrage ausgeführt, während die Speicher-Engine nur 16,7 % benötigt.

Wenn Sie zur Registerkarte „Abfrageplan“ wechseln, werden die Pläne für physische Abfrage und logische Abfrage angezeigt. Dies sind beides Formelabfragen darüber, was die Formel-Engine tut.

DAX-Abfragestruktur in LuckyTemplates – zwei Engines und DAX Studio


DAX-Berechnungen in LuckyTemplates: Best Practices
Optimieren Sie DAX-Funktionen mit dieser neuen Kursmaßnahme
in LuckyTemplates: Optimierungstipps und -techniken

Abschluss

Sowohl die Formel als auch die Speicher-Engine spielen eine große Rolle bei der Generierung von Ergebnissen aus Ihrem DAX-Code. Sie sind die wichtigsten Teile in der DAX-Abfragestruktur.

Ich hoffe, Sie haben erfahren, wie diese Motoren hinter der Leistung Ihres DAX stecken und wie sie sich auf Ihren Bericht auswirken können.


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.