Mit PlanViz-Visualisierungen SAP BW-Queries analysieren

Hast du als Entwickler oder Power User in einem SAP BW System schonmal über Analysis for Office Queries abgerufen und dich dabei an langen Laufzeiten gestört? Bist du nicht mit der Technik vertraut ist der Vorgang dahinter meist eine undurchschaubare «Black Box». Eine PlanViz-Visualisierung kann aufzeigen in welchen Ausführungsschritten die meiste Zeit verstreicht und dir dabei helfen diese zu optimieren.

Der „PlanVisualizer“ – wie ihn die SAP nennt – ermöglicht dir deine Query in einzelnen Datenbank- und Engine-Anweisungen darzustellen und misst dabei wie lange eine Anweisung läuft und wieviele Datensätze durch sie verarbeitet werden. Verarbeitet ein einzelner Knoten (überraschend) viele Datensätze oder läuft (unerwartet) lange, kannst du daraus Schlüsse ziehen ob und wie deine Query in ihrer Laufzeit optimierbar ist. Einen kleinen Haken hat die Sache aber, der PlanVisualizer ist ein HANA-Tool und kann somit nur für Queries in BWonHANA- oder BW/4HANA-Systemen genutzt werden, darin aber nicht nur für BW-Queries sondern auch für SQL-Abfragen.

Erstelle eine PlanViz-Visualisierung zu einer SAP BW Query

Dafür musst du über die Transaktion RSRT deine Query «Ausführen + Debuggen». Im Folgedialog kannst du den Punkt «PlanViz-Datei generieren» im Menüzweig «SAP HANA/BWA > SAP-HANA/BWA-Default-Trace» auswählen. Führst du danach deine Query aus, wird dir eine SQL-Anweisung für den SAP-HANA-Zugriff angezeigt. Diese könntest du bereits über die SQL Console aufrufen. Ich empfehle dir an diesem Punkt zurück zu navigieren, da du dann dazu aufgefordert wirst eine .plv-Datei zu speichern. Diese Datei kannst du dann in den BW Modeling Tools über „Datei > Datei öffnen“ öffnen und landest direkt auf deiner Visualisierung. Hier empfiehlt sich ebenfalls in die SAP HANA PlanViz Perspektive zu wechseln, damit zusätzliche Informationen ebenfalls angezeigt werden.

Darstellung: Abruf der PlanViz-Datei über die Transaktion RSRT (Quelle: Eigene Darstellung)

Eine Box in der Visualisierung steht für einen sogenannten Planoperator, deshalb enthalten die meisten Knoten das Kürzel «Pop» in ihrem Namen. Nebst diesem Kürzel tragen die meisten Knoten die Abkürzungen «Ce» für «Calculation Engine», «Je» für «Join Engine» und «Bw» für «OLAP Engine» und weisen damit darauf hin welche Softwarekomponente die Ausführung dieses Knotens übernimmt. Jeder Knoten gibt darüber hinaus an wieviele Datensätze er an den nächsten Knoten liefert, sowie wielange die Ausführung des Knotens selber (Exclusive Time) und die Ausführung des Knotens und aller vorher benötigter Knoten (Inclusive Time) benötigt.

Darstellung: Teilausschnitt einiger Knoten einer Visualisierung (Quelle: Eigene Darstellung)

Alle möglichen Kombinationen von Ausführungen und deren Optimierungsempfehlung hier aufzulisten ist leider nicht möglich. Achte bei deiner Visualisierung auf auffallend viele Datensätze und lange Laufzeiten einzelner Knoten. Einige Tipps habe ich aber dennoch für dich bereit.

Optimiere deine Query

Sofern du selber die Möglichkeit hast deine Query anzupassen, gibt es einige Empfehlungen die du nun anwenden könntest um die Laufzeit deiner Query zu reduzieren. Dazu gehören folgende Punkte:

  1. Benutze viele Filter, um die Anzahl Datensätze zu reduzieren. Du kannst das Merkmal 0INFOPROVIDER benutzen, um die Query auf die benötigten Tabellen einzuschränken.
  2. Filter sollten aus Inklusionen und nicht aus Exklusionen bestehen.
  3. Deaktiviere die Anzeige der Ergebniszeilen wo diese nicht nötig ist, damit nicht zu viele Aggregationsoperationen durchgeführt werden.
  4. Reduziere die Anzahl der freien Merkmale auf ein Minimum.

Was gibt es sonst noch zu sagen?

Wenn dich nicht nur Visualisierungen von BW-Queries, sondern auch von HANA SQL-Abfragen interessieren, kannst du dies ebenfalls über PlanViz lösen. Dazu kannst du in den BW Modeling Tools ein Statement über das Context-Menü visualisieren lassen.

Darstellung: Ausführung der Visualisierung für SQL-Abfragen (Quelle: Eigene Darstellung)

Und wenn du dich noch etwas mehr mit dem PlanVisualizer beschäftigen möchtest, empfehle ich dir folgende Links:

 

Beitrag teilen

David Fleischlin

David Fleischlin ist BI Consultant bei der Swisscom (Schweiz) AG und beschäftigt sich insbesondere mit SAP Business Warehouse. Er bloggt aus dem Unterricht des CAS Business Intelligence und Analytics.

Alle Beiträge ansehen von David Fleischlin →

Schreibe einen Kommentar