Leistungsproblem in DAX Studio: CallBackDataID

Leistungsproblem in DAX Studio: CallBackDataID

In diesem Tutorial wird CallBackDataID erläutert , ein Leistungsproblem in DAX Studio. Sie erfahren, was es bewirkt und wie es sich auf die Leistung Ihrer DAX-Abfrage auswirkt.

Die Speicher-Engine stellt der Formel-Engine Daten in Form eines Datencaches bereit. Wenn die Speicher-Engine jedoch einen Ausdruck nicht auswerten kann, fragt sie die Formel-Engine mithilfe der CallBackDataID um Hilfe und ruft sie zurück .

Wenn Sie eine CallBackDataID in Ihrer Berechnung haben, verlangsamt sich die Leistung von DAX, da sowohl der Speicher als auch die Formel-Engine verwendet werden. Es ist jedoch immer noch besser, als die ganze Arbeit nur von der Formel-Engine erledigen zu lassen, da sie immer noch mit komprimierten Daten arbeitet und keine Materialisierung erfordert.

Wenn die Formel-Engine beteiligt ist, werden die Ergebnisse außerdem nicht zwischengespeichert. Caches verbessern die Benutzererfahrung beim Ausführen einer Abfrage oder Messung in LuckyTemplates.

Inhaltsverzeichnis

Wo finde ich die CallBackDataID?

CallBackDataID finden Sie in den Server-Timings in DAX Studio. Aufgrund ihrer Wichtigkeit werden sie in der xmSQL-Anweisung hervorgehoben. Wenn Sie Ihren DAX optimieren möchten, ist die Ermittlung der CallBackDataID der beste Ausgangspunkt.

Eine weitere Optimierungstechnik besteht darin, die Filter in wann immer möglich zu nutzen. Die Verwendung von CALCULATE in den Filtern ist besser als die Verwendung von als Tabelle. FILTER ist ein Iterator und wenn Sie eine Tabelle filtern, wird sie von iteriert . Das Vorhandensein dieser beiden Iteratoren könnte Ihre Abfrage verlangsamen.

Hier sind zwei Beispielabfragen mit und ohne CallBackDataID .

Leistungsproblem in DAX Studio: CallBackDataID

Dies ist eine lokalisierte Kennzahl, die die beiden oben genannten Abfragen definiert.

Leistungsproblem in DAX Studio: CallBackDataID

Die oberste Kennzahl iteriert die Verkaufstabelle, multipliziert den aktuellen Preis und die aktuelle Menge und summiert sie dann. Die unterste Kennzahl prüft, ob das Kaufdatum größer oder gleich dem 31. März 2016 ist. Wenn eine Funktion in einer Kennzahl vorhanden ist, wird eine CallBackDataID erstellt, da CALCULATE nicht verwendet wird .

Um dies zu testen, führen Sie die Abfrage mit der CallBackDataID aus . Stellen Sie sicher, dass Sie den Cache leeren und die Server-Timings und Abfragepläne aktivieren, bevor Sie es ausführen.

Wenn Sie unten auf die Registerkarte „Server-Timings“ klicken, können Sie sehen, dass der erste Scan hervorgehoben ist. Dies liegt am Vorhandensein der CallBackDataID .

Leistungsproblem in DAX Studio: CallBackDataID

Sie können die CallBackDataID auch in der xmSQL-Anweisung sehen . Die IF- Funktion in der Kennzahl übersteigt die Kapazitäten der Speicher-Engine und bittet daher um Hilfe von der Formel-Engine.

Leistungsproblem in DAX Studio: CallBackDataID

So lösen Sie das Leistungsproblem

Wenn Sie die Abfrage ausführen, die keine CallBackDataID hat , können Sie sehen, dass die Scans nicht mehr hervorgehoben werden.

Leistungsproblem in DAX Studio: CallBackDataID

Dies liegt daran, dass der CALCULATE- Filter auf die Speicher-Engine übertragen wird. Es benötigt keine Hilfe mehr von der Formel-Engine, da es selbstständig arbeiten kann.

Versuchen Sie so oft wie möglich, Filter in CALCULATE zu verwenden . Es optimiert die DAX-Leistung, indem es den Großteil der Arbeit in die Speicher-Engine verlagert und diese dadurch schneller macht.


Speicher-Engine in LuckyTemplates – VertiPaq-Operatoren und Abfragen
messen in LuckyTemplates: Optimierungstipps und -techniken
VertiPaq-Analysator in DAX Studio | LuckyTemplates-Tutorial

Abschluss

Es kann zu Leistungseinbußen kommen, wenn Ihre Abfrage zu komplex ist, als dass die Speicher-Engine funktionieren könnte. Es bringt unnötige Prozesse wie die CallBackDataID in die Berechnung und verlangsamt Ihren DAX. Sie können dies abmildern, indem Sie Filter in CALCULATE verwenden .


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