Materialisierungsideen für Datencaches in DAX Studio

Materialisierungsideen für Datencaches in DAX Studio

In diesem Tutorial wird die Materialisierung für Datencaches in DAX Studio erläutert. In diesem Beitrag wird gezeigt, wie sich dies auf Ihre Berechnung beim Generieren von Ergebnissen mit Ihrer Abfrage auswirkt. Sie erfahren, welche Materialisierung besser ist, um die Leistung von DAX zu maximieren.

Es gibt zwei Ideen der Materialisierung: Frühe Materialisierung und Späte Materialisierung .

Inhaltsverzeichnis

Frühe Materialisierung

Von einer frühen Materialisierung spricht man, wenn die Anzahl der materialisierten Zeilen größer ist als die Anzahl der für die Ausgabe benötigten Zeilen.

Wenn Ihre Ausgabe eine Tabelle nach Kalenderjahr ist und Sie über Daten aus fünf Jahren verfügen, ist das Einbringen vieler materialisierter Zeilen nicht erforderlich. Die beste Vorgehensweise besteht darin, dass die Anzahl der materialisierten Zeilen der Anzahl der benötigten Zeilen entspricht. Dies ist jedoch nicht immer der Fall, da es von der Komplexität Ihres DAX und Ihrer Datenkonfiguration abhängt.

Denken Sie immer daran, dass Daten aus Spalten bestehen. Wenn die Formel-Engine also an einer Tabelle arbeiten muss, werden die Spalten wieder in einem Tabellenformat zusammengeführt, was der Materialisierung entspricht. Bei einer Early-Materialization-Idee sendet die Speicher-Engine einen Datencache an die Formel-Engine. Die Formel-Engine arbeitet dann mit diesem Cache und führt komplexe Prozesse aus.

Eine vorzeitige Materialisierung kann durch komplexe Verknüpfungen oder eine Viele-zu-Viele-Beziehung in Ihren Datenmodellen verursacht werden. Es kann auch durch komplexe Filter oder Iteratoren verursacht werden.

Es ist nicht falsch, komplexe Maßnahmen zu ergreifen; Sie müssen sie nur richtig einrichten, um die Speicher-Engine bestmöglich zu nutzen.

Späte Materialisierung

Von einer späten Materialisierung spricht man, wenn die Anzahl der materialisierten Zeilen gleich oder nahezu der Anzahl der für Ihre Ausgabe benötigten Zeilen entspricht.

Die Speicher-Engine erledigt fast die gesamte Arbeit und lässt nichts für die Formel-Engine übrig. Dadurch wird die gesamte Berechnung schneller.

Dies sind Beispielabfragen zur frühen und späten Materialisierung:

Materialisierungsideen für Datencaches in DAX Studio

Stellen Sie sicher, dass Sie den Cache leeren, bevor Sie diese Abfragen ausführen. Dadurch werden Ihre Abfragen für den kalten Cache ausgeführt. Wenn Sie Ihren DAX ausführen, ohne den Cache zu leeren, erhalten Sie dieses Ergebnis:

Materialisierungsideen für Datencaches in DAX Studio

Die Gesamtausführungszeit beträgt nur 1861 Millisekunden, da bereits ein Cache verwendet wurde. Leeren Sie daher immer Ihren Cache, bevor Sie Ihre Abfragen ausführen.

Wenn Sie die Abfrage „Frühe Materialisierung“ ausführen, können Sie sehen, dass die Gesamtzeit 9485 Millisekunden beträgt. Es generierte einen Datencache und eine einzeilige Ausgabe, gab jedoch 25 Millionen Zeilen zurück.

Materialisierungsideen für Datencaches in DAX Studio

Sie müssen nicht 25 Millionen Zeilen materialisieren, um ein einzeiliges Ergebnis zu erhalten, da dies Zeit kostet und die Leistung von DAX verlangsamt.

Wenn Sie die Abfrage „Late Materialization“ ausführen, können Sie sehen, dass die gesamte Berechnung nur 1340 Millisekunden dauerte. Außerdem wurden zwei Datencaches generiert, von denen jeder 5003 Zeilen zurückgab.

Materialisierungsideen für Datencaches in DAX Studio

Wenn Sie sich den physischen Abfrageplan ansehen, sehen Sie 5000 Zeilen. Sie haben nicht die gleiche Anzahl an Zeilen. Das Ergebnis der Server-Timings weicht manchmal geringfügig von der genauen Anzahl der Zeilen im Abfrageplan ab.

Materialisierungsideen für Datencaches in DAX Studio

Wenn Sie also an einem Datencache mit 25 Millionen Zeilen arbeiten, verfügen Sie jetzt über zwei Datencaches mit 5003 Zeilen. Deshalb führt die Arbeit mit der späteren Materialisierung zu schnelleren Ergebnissen als mit der frühen Materialisierung.

In jeder Materialisierungsabfrage

Wenn Sie sich nur die Abfrage ansehen, können Sie bereits erkennen, dass die spätere Materialisierung schneller ist. Die Abfrage „Frühe Materialisierung“ zählt die Zeilen einer zusammengefassten Tabelle.

Materialisierungsideen für Datencaches in DAX Studio

Die Tabelle, die zusammengefasst und materialisiert wird, ist größer als nur ein von für die Tabelle, was bei der Late Materialization-Abfrage der Fall ist.

Wenn Ihre Abfrage langsam ist, prüfen Sie zunächst, wie viele Zeilen in Ihrer Abfrage abgerufen werden und wie viele für die Ausgabe benötigt werden. Sie können auch zum logischen Abfrageplan gehen und den Arbeitsfluss innerhalb der Berechnung verfolgen.


Was ist DAX Studio in LuckyTemplates Desktop?
DAX-Tutorial: Kontext und die Berechnungs-Engine.
Kennzahl in LuckyTemplates: Optimierungstipps und -techniken

Abschluss

Die Materialisierung erfolgt, wenn Ihre Abfragen Spalten oder Zeilen aus Ihrem Datenmodell abrufen. Dieser Vorgang erfolgt auf natürliche Weise, wenn Ihre Engine Daten aus Ihrem Datenmodell erhält, um Ergebnisse für Ihre Abfrage bereitzustellen.

Es können jedoch Probleme auftreten, wenn Ihr DAX zu viele Zeilen abruft, als für das Ergebnis erforderlich sind. Dieses Problem kann gelöst werden, indem Sie Ihren DAX für die Ausführung bestimmter Prozesse vereinfachen.


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.