DAX-Abfrage in LuckyTemplates – Logische und physische Abfragepläne

DAX-Abfrage in LuckyTemplates – Logische und physische Abfragepläne

In diesem Tutorial werden die beiden DAX-Abfragepläne in LuckyTemplates erläutert.

Abfragepläne wirken sich auf die Leistung des DAX bei der Generierung wertvoller Daten aus. Sie helfen auch bei der Optimierung von DAX-Codes , die Ihren Bericht überzeugender machen.

Dies sind die beiden Abfragepläne, die von der Formel-Engine generiert werden:

  • Logischer Abfrageplan
  • Physischer Abfrageplan

Jede DAX-Abfrage löst diese beiden Ereignisse aus.

Inhaltsverzeichnis

Logischer Abfrageplan in LuckyTemplates

Dies ist der DAX-Abfrageablauf. Konzentrieren Sie sich in diesem Teil auf den dritten Schritt, nämlich die Vereinfachung des logischen Abfrageplanbaums .

DAX-Abfrage in LuckyTemplates – Logische und physische Abfragepläne

Diese Abfrage ähnelt Ihrer DAX-Abfrage. Wenn Sie eine DAX-Abfrage ausführen, stimmt diese größtenteils mit dem überein, was der logische Abfrageplan tut.

Zur Veranschaulichung finden Sie hier eine Beispielabfrage.

DAX-Abfrage in LuckyTemplates – Logische und physische Abfragepläne

Wenn Sie dies ausführen, erhalten Sie ein Ergebnis von 29.138.

DAX-Abfrage in LuckyTemplates – Logische und physische Abfragepläne

Wenn Sie die Abfrage in DAX Studio ausführen und die Registerkarte „Abfrageplanereignisse“ aktivieren, werden Sie auf die Abfragepläne stoßen. Von den beiden Typen wird der logische Abfrageplan zuerst angezeigt.

DAX-Abfrage in LuckyTemplates – Logische und physische Abfragepläne

Jede eingerückte Zeile ist eine aufeinander aufbauende Teilaufgabe. Die erste Zeile ist das Endergebnis Ihres DAX. Die anderen Zeilen summieren und scannen die Quantity-Spalte von FactSales.

Das erste Wort vor dem Doppelpunkt wird Operator genannt .

DAX-Abfrage in LuckyTemplates – Logische und physische Abfragepläne

Die Wörter nach dem Doppelpunkt werden als Operatortypen bezeichnet .

DAX-Abfrage in LuckyTemplates – Logische und physische Abfragepläne

Es gibt zwei Arten von Operatortypen:

  • RelLogOp
  • ScaLogOp

RelLogOp ist eine Tabellenausgabe. DAX verwendet VertiPaq, um eine Spalte zu scannen und eine Tabelle zu erstellen. Andererseits ist ScaLogOp eine Skalarausgabe; das bedeutet, dass es sich um eine aggregierte Zahl handelt. Wenn Sie sich die zweite und letzte Zeile des Abfrageplans ansehen, werden Sie feststellen, dass dieser summiert und die Menge der FactSales-Menge erhält.

Logische Abfragepläne erstellen eine einzeilige Tabelle mit dem Namen „Gesamtmenge“, die die Summe der Mengen aus der FactSales-Tabelle enthält.

Der Abfrageplan ist einfacher zu dekodieren, da er eine einfache DAX-Abfrage verwendet. Je komplexer Ihr DAX ist, desto schwieriger ist er zu entschlüsseln.

Es empfiehlt sich, möglichst viele „_VertiPaq“-Operatoren zu sehen. Das bedeutet, dass es die gesamte Arbeit selbst erledigt, um Ihre DAX-Codes zu optimieren.

Physischer Abfrageplan in LuckyTemplates

Der physische Abfrageplan erscheint an zweiter Stelle der beiden Typen. Dies ist der vierte Schritt im DAX-Abfrageablauf. Es hat die gleiche Baumstruktur wie der logische Abfrageplan.

Sobald der logische Abfrageplan erstellt ist, wird er zur Ausführung an den physischen Abfrageplan gesendet. Wenn Sie dieselbe Beispielabfrage ausführen, erhalten Sie dieselbe Antwort.

DAX-Abfrage in LuckyTemplates – Logische und physische Abfragepläne

Konkret besteht der vierte Schritt im DAX-Abfrageablauf darin, den physischen Abfrageplanbaum zu erstellen .

DAX-Abfrage in LuckyTemplates – Logische und physische Abfragepläne

Es sieht vielleicht ähnlich aus wie der logische Abfrageplan, ist aber anders. Normalerweise ist es schwierig, den physischen Abfrageplan mit der DAX-Abfrage in LuckyTemplates abzugleichen. Da es sich jedoch um eine einfache Beispielabfrage handelt, können Sie den Prozess verfolgen.

Dies sind die drei Operatortypen im physischen Abfrageplan:

  • LookupPhyOp
  • InterPhyOp
  • SpoolPhyOp

LookupPhyOp liefert Skalarwerte in einem bestimmten Zeilenkontext. Der InterPhyOp iteriert Daten Zeile für Zeile durch eine Tabelle. SpoolPhyOp empfängt Ergebnisse einer VertiPaq-Abfrage, materialisiert sie und speichert sie im Speicher.

In der vierten Zeile des Abfrageplans sehen Sie einen ProjectionSpool-Operator, der bedeutet, dass eine Abfrage an die Speicher-Engine gesendet wird. Es iteriert die Ergebnisse einer Abfrage mit der Anzahl der Datensätze.

Die Anzahl der im Abfrageplan angezeigten Datensätze sollte der Mindestanzahl an Datensätzen entsprechen, die zur Vervollständigung der Antwort erforderlich ist. Das Ergebnis dieser einfachen Abfrage besteht nur aus einer Zeile und hat daher einen Datensatz im Abfrageplan zurückgegeben.

Die Spalte „Datensätze“ , die dem SpoolPhyOp von ProjectionSpool entspricht, zeigt, wie viele Daten von der Speicher-Engine an die Formel-Engine gesendet werden. Je mehr Datensätze Sie haben, desto langsamer wird Ihre Abfrage.

Wenn die DAX-Performance langsam ist, ist die Spalte „Datensätze“ ein guter Ausgangspunkt für die Suche.


DAX-Berechnungen in LuckyTemplates: Best Practices
Optimieren Sie DAX-Funktionen mit diesem neuen Kurs
. 5 Strategien zur Verbesserung Ihrer LuckyTemplates-DAX-Fähigkeiten

Abschluss

Wenn Sie eine DAX-Abfrage ausführen, durchläuft diese eine Reihe von Schritten, bevor sie Ihnen eine Antwort gibt. Zwei dieser Schritte sind die logischen und physischen Abfragepläne. Sie sind für den schrittweisen Ablauf und die Ausführung der in der Berechnung verwendeten Formeln verantwortlich.

Wenn Sie mehr über diese Abfragepläne erfahren und verstehen möchten, lesen Sie dieses Tutorial durch und versuchen Sie dann, sie mit DAX Studio aus erster Hand zu sehen.


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.