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.


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