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.


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