In unserem Beitrag “Der versteckte JSON-Hack für Database Hints in SAP Datasphere” haben wir gezeigt, wie Sie fehlerhafte oder langsame Analytische Modelle in SAP Datasphere mithilfe von Database Hints korrigieren. Dabei können Sie PlanViz nutzen, um die Ausführung der Abfragen Schritt für Schritt nachzuvollziehen. In diesem Beitrag zeige wir Ihnen, wie Sie PlanViz-Dateien für SAP Datasphere Analytische Modelle generieren.
Während die Generierung von PlanViz bei den SAP Datasphere Transformationsflüssen und Views in die Benutzeroberfläche integriert ist, müssen Sie bei Analytischen Modellen einen kleinen Umweg nehmen, um an die benötigten Informationen zu kommen.
Voraussetzungen für die Generierung von PlanViz für Analytische Modelle
Öffnen Sie zunächst in Ihrem Browser die Entwicklertools, z.B. bei Chrome über Menü → Weitere Tools → Entwicklertools oder nutzen Sie die Tastenkombination Strg+Umschalttaste+I. Öffnen Sie anschließend in SAP Datasphere Ihr Analytisches Modell im Preview Modus. Ziehen Sie benötigten Dimensionen und Kennzahlen in Zeilen bzw. Spalten und setzen Sie die Filter, um das Performance-Problem bzw. fehlerhafte Berechnung zu reproduzieren.

Wechseln Sie in den Entwicklertools in den Reiter Network und setzen Sie den Filter auf GetResponse. Das erste Ergebnis entspricht den ausgetauschten Metadaten, während die nachfolgenden, die mit Analytics anfangen, dem jeweiligen Aufriss in Datasphere entsprechen.

Klicken Sie nun unter Payload auf View source und anschließend auf Show more, um die vollständige Abfrage anzuzeigen.

Kopieren Sie anschließend die gesamte Abfrage in die Zwischenablage.

Sehen Sie sich die Aufzeichnung unseres Webinars an:
"SAP Datasphere and the Databricks Lakehouse Approach"
So führen Sie die Abfrage des Analytischen Modells im SAP HANA Database Explorer aus
Intern werden SAP HANA Multi-Dimensional Services (MDS) verwendet, um Abfragen in SAP Datasphere zu verarbeiten. Diese werden in einen Ausführungsplan der SAP HANA Calculation Engine oder in SQL übersetzt, der von den HANA-Core-Engines ausgeführt wird. Dies reproduzieren wir nun auf der HANA Datenbank.
Dafür benötigen wir einen Datenbank Analyse Benutzer. Um einen neuen Benutzer anzulegen, folgen Sie dem Menüpfad System → Configuration → Database Access → Database Analysis Users.

Legen Sie über Create einen neuen Benutzer an und kopieren Sie das Passwort. Klicken Sie anschließend auf Open Database Explorer und melden Sie sich mit dem neu erstellten Benutzer an.

Öffnen Sie im SAP HANA Database Explorer die SQL Konsole.

Kopieren Sie den zuvor kopierten Payload in den folgenden CALL SYS.EXECUTE_MDS Befehl.
CALL SYS.EXECUTE_MDS('Analytics', '', '', '', '',
'<Hier den zuvor kopierten Payload einfügen>' , ?);
Nach der Ausführung können Sie unter Messages die benötigte Zeit einsehen. Bereits hier können Sie prüfen, ob diese mit der in SAP Analytics Cloud benötigten Zeit übereinstimmt und so die Ursache für langlaufende Berichte einschränken.

PlanViz-Auswertungsdatei generieren
Um die PlanViz Auswertung zu generieren, wählen Sie unter Analyze den Eintrag Generate SQL Analyzer Plan File aus.

Vergeben Sie einen aussagekräftigen Namen. Stellen Sie bei länger laufenden Anfragen sicher, dass die Generierung im Hintergrund ausgeführt wird, indem Sie Run Analysis as Background Activity Option aktivieren.

Die Hintergrundaktivitäten können Sie unten rechts in SAP HANA Database Explorer einsehen.

Wechseln Sie nun in den Ordner Database Diagnostic Files und anschließend other. Sie können die Suchfunktion nutzen, um nach der generierten Datei zu suchen. Führen Sie anschließend einen Rechtsklick aus und klicken Sie auf Download, um die Datei herunterzuladen.

PlanViz-Datei analysieren
Die Auswertung der Datei kann in Eclipse mithilfe von SAP HANA PlanViz durchgeführt werden. Alternativ steht Ihnen in Visual Studio Code die Erweiterung SQL Analyzer Tool for SAP HANA zur Verfügung. Öffnen Sie Eclipse und folgen Sie dem Menüpfad Window → Perspective → Open Perspective → Other.

Wählen Sie anschließend den Eintrag SAP HANA PlanViz aus und bestätigen Sie Ihre Auswahl mit Open.

Öffnen Sie anschließend die heruntergeladene Datei über File → Open File. Die Übersicht zeigt Ihnen die Laufzeit und die verwendeten Operatoren auf einen Blick. Wenn Sie tiefer einsteigen möchten, liefert Ihnen die Ansicht Executed Plan detaillierte Angaben zu den einzelnen Ausführungsschritten. Hier lassen sie die durchführen Operationen und die jeweilige Dauer anhand der grafischen Oberfläche leicht nachvollziehen.

Weiterführende Ressourcen zur Performance-Analyse in SAP Datasphere
Die Arbeit mit PlanViz haben wir im Beitrag "SQL Performance Analyse mit SAP PlanViz" ausführlich erläutert. Die Analyse von den in Analytischen Modellen verwendeten Views haben wir im Beitrag "SAP Datasphere Views optimieren mit PlanViz: Visuelle Performance-Analyse beleuchtet. Schauen Sie rein!
PlanViz für Analytische Modelle in SAP Datasphere: Unser Fazit
Auch wenn die Generierung von PlanViz-Dateien für Analytische Modelle in SAP Datasphere nicht direkt über die Benutzeroberfläche möglich ist, können Sie über Entwicklertools und HANA Database Explorer schnell ans Ziel kommen. So erhalten Sie einen detaillierten Einblick in die Ausführung Ihrer Abfragen. Auf dieser Grundlage können Sie Performance-Probleme gezielt analysieren, die Ursachen langlaufender Berichte eingrenzen und Ihre Analytischen Modelle anschließend wirkungsvoll optimieren.
Wenn Sie Unterstützung bei der Analyse komplexer PlanViz-Dateien oder der Optimierung leistungsschwacher analytischer Modelle in SAP Datasphere benötigen, wenden Sie sich an unsere Experten. Ganz gleich, ob Sie ein konkretes Performance-Problem beheben oder Ihre gesamte SAP-Datasphere-Landschaft optimieren möchten, wir helfen Ihnen dabei, messbare Leistungsverbesserungen zu erzielen.
FAQ - PlanViz für analytische Modelle
Hier finden Sie einige der häufig gestellten Fragen zur PlanViz für analytische Modelle in SAP Datasphere.
Die kopierte Abfrage wird an die SAP HANA Multi-Dimensional Services (MDS) übergeben. Verwenden Sie in der SQL-Konsole des HANA Database Explorers folgenden Befehl und fügen Sie Ihren kopierten Payload an der entsprechenden Stelle ein:
CALL SYS.EXECUTE_MDS('Analytics', '', '', '', '', '<Hier den zuvor kopierten Payload einfügen>' , ?);
CALL SYS.EXECUTE_MDS sehen Sie unter Messages die benötigte Laufzeit. Stimmt diese mit der in SAP Analytics Cloud beobachteten Zeit überein, liegt die Ursache für den langlaufenden Bericht tatsächlich im Analytischen Modell bzw. der Datenbankausführung.
Datasphere, SAP Data Warehouse
/Logo%202023%20final%20dunkelgrau.png?width=221&height=97&name=Logo%202023%20final%20dunkelgrau.png)
