HOW TO: DEBUG & ANALYSE CALCULATION VIEWS

Beitrag teilen

Share on xing
Share on linkedin
Share on facebook
Share on twitter

Bei der hybriden oder auch mixed Modellierung eines SAP BW basierten Data Warehouses werden Teile der Datenmodellierung über HANA SQL / native Mittel durchgeführt. Die Modellierung wird dabei in den meisten Fällen durch HANA Calculation Views durchgeführt.

Daher ist es sehr wichtig die Funktionsweisen von HANA Calucation Views zu verstehen, um sie korrekt in ein SAP BW getriebenes Data Warehouse zu integrieren. Die meisten SAP BW Entwickler haben langjähriges ABAP Know-how. Die Entwicklung und damit einher gehend auch das Debuggen von ABAP Programmen ist bekannt. In hybriden Datenmodellen verliert das ABAP Wissen jedoch an Bedeutung wenn Datenflüsse mit Hilfe von Calculation Views virtualisiert worden sind. In diesem Beitrag möchten wir daher eine Hilfestellung dazu geben, wie Calculation Views in Eclipse debuggt werden können. 

Performanceanalyse von Calculation Views

Debugging DataPreview

Ein grafischer Calculation View kann komplexe Operationen wie beispielweise das Joinen von verschiedenen Tabellen, Views oder sogar anderen Calculation Views abbilden. Die zentralen Entwicklungselemente des Calculation Views werden als Nodes bezeichnet und untergliedern sich in JOIN, Union, Projection, Aggreagtion und Rank-Node. Komplexe Szenarien können schnell mehrere Nodes umfassen und erreichen somit Dimensionen, in welchen eine strukturierte Fehleranalyse unerlässlich wird. Zu diesem Zweck wollen wir uns in diesem Blogbeitrag anschauen welche Möglichkeiten uns die DataPreview im HANA-Studio zur Analyse beziehungsweise Debuggings eines Calculation Views bietet.

Szenario

Ein klassischer Fall eines Joins im SAP-BW4/HANA Umfeld ist die Anreicherung von Bewegungsdaten um Stammdaten. Als Beispiel nehmen wir den Verkauf von Produkten zu einem bestimmten Datum und die verkaufte Menge.

How to Debug & Analyse Calculation Views

Diesen Datensatz erweitern wir um die Stammdaten der Produkte, welche die Produkt-texte und -preise beinhalten.

How to Debug & Analyse Calculation Views

Die Umsetzung in einem Calculation View könnte folgendermaßen aussehen.

How to Debug & Analyse Calculation Views

Die DataPreview

Generell lässt sich die Data Preview entweder auf einem Calculation View anwenden oder direkt auf einem der zugrunde liegenden Nodes (Aggregation, Projection, Rank, Join) oder DataSource.

How to Debug & Analyse Calculation Views
How to Debug & Analyse Calculation Views

Die DataPreview ermöglicht dem Entwickler drei verschiedene Sichten auf die Daten.

How to Debug & Analyse Calculation Views

1) Mittels der Analysis-Sicht lassen sich erste einfache Analysen und grafische Darstellungen realisieren.

How to Debug & Analyse Calculation Views

2) Die Distinct Value-Sicht ermöglicht eine Sicht auf die verschiedenen Ausprägungen eines Attributes.

How to Debug & Analyse Calculation Views

3) Die Raw-Data-Sicht bietet eine Blick auf die Rohdaten.

How to Debug & Analyse Calculation Views

Beispiel Testfälle

Um die Möglichkeiten des Debuggings mittels Data Preview zu verdeutlichen, wurden folgende Testfälle aufgestellt und angepasste inkorrekte-Datensets bereitgestellt.

1. Test erfolgreicher JOIN( NULL-Test)

Das Datenset beinhaltet  Produkt_IDs, welche ein anderes Datenformat, als die Produkt_IDs der Bewegungsdaten aufweist.

How to Debug & Analyse Calculation Views

Das Datenset beinhaltet Produkt_IDs, welche zu den Produkt_IDs der Bewegungsdaten heterogene Stammdaten aufweist.

How to Debug & Analyse Calculation Views

Um zu testen ob der JOIN mit den Stammdaten der Produkte erfolgreich durchgeführt wurde, bietet sich die Sicht auf die Distinct Values des Produktnamen an.

How to Debug & Analyse Calculation Views
How to Debug & Analyse Calculation Views

Es ist erkennbar, dass die Bewegungsdaten durch den Join nicht um die entsprechenden Produktnamen angereichert wurden. Ebenfalls fehlen die Preisinformationen. Dies ist auf die Heterogenität der Produkt_ID zwischen dem Datenset der Bewegungsdaten und Stammdaten zurückzuführen. Um diesen Sachverhalt zu ändern, bedarf es einer Stammdatenharmonisierung. Im Falle der unterschiedlichen Datenformate ist eine Datenformatsanpassung zu empfehlen. Sollten die Stammdaten syntaktisch abweichen, bedarf es einer Übersetzungstabelle, um einen Join zu ermöglichen.

How to Debug & Analyse Calculation Views

2. Test richtige Kardinalität

Das Datenset beinhaltet zwei Datensätze mit der Produkt_ID 9.

How to Debug & Analyse Calculation Views

Mittels der Distinct Values sicht lassen sich ebenfalls die Kardinalitäten untersuchen. Bei der Anreicherung mit Stammdaten erwarten wir eine Kardinalität von 1:1. Anhand der unten stehenden Auswertung, lässt sich allerdings feststellen, dass eine Datenvervielfachung statt gefunden hat. Statt der zu erwarteten 8 Produkt-IDs (1-9) werden auf Grund der doppelten 9’er Produkt_ID 9 Datensätze ausgegeben. Dies ist auf den zweit ungültige Produkt_ID (9) zurückzuführen, welche vor dem JOIN ausgefiltert werden muss.  

How to Debug & Analyse Calculation Views

3. Test vollständige Stammdaten

Der Datensatz mit der Produkt_ID 9 fehlt im Gegensatz zum „Originaldatenset“.

How to Debug & Analyse Calculation Views

Für den Test ob im Datenset der Stammdaten sämtliche Produkt_IDs vorliegen, lässt sich ebenfalls die Distinct Value- Sicht nutzen. Es wird ersichtlich, dass die Stammdaten für die Produkt_ID „9“ in den Rohdaten nicht vorliegen und somit ergänzt werden müssten.

How to Debug & Analyse Calculation Views

Analyse Calculation Views

Calculation Views werden verwendet um andere Analytic, Attribute und oder Calculation Views und column tables zu konsumieren. In echten Business Anwendungen lassen sich somit komplexe Szenarien abbilden. Um einzelne Calculation Views nicht zu „überfrachten“ besteht die Möglichkeit Calculation Views zu schachteln und somit Logik zu kapseln. Der Calculation View bietet allerdings trotzdem die Möglichkeit eines „Blicks“ in den zugrunde liegenden bzw. gekapselten Calculation Views.

How to Debug & Analyse Calculation Views

In unserem Beispiel handelt es sich um die Reporting-Hierarchy_View eines InfoObjektes.

How to Debug & Analyse Calculation Views

Debugging Debugger

Calculation Views lassen sich ebenfalls mittels eines dediziertem Debuggers untersuchen. Dieser lässt sich nach Aktivierung des Calculation Views etwas versteckt über ein Drop-Down-Menü öffnen.

Weitere Informationen

Die Nutzung der Debugging-Funktion setzt einige zusätzliche (HANA-seitige) Berechtigungen voraus, u.a. die Rollen CATALOG READ und DATA ADMIN, sowie SELECT-Berechtigungen im Schema _SYS_REPO, da hier die Laufzeitobjekte der Calculation Views erzeugt werden.

How to Debug & Analyse Calculation Views

Anschließend schlägt der Debugger automatisiert eine Debugging-Query vor. Diese kann entweder übernommen  oder nach eigenen Vorstellungen angepasst werden.

How to Debug & Analyse Calculation Views

Die Calculation View öffnet sich anschließend im Read-Only Modus.

How to Debug & Analyse Calculation Views

Die Hauptfunktionalität des Debuggers besteht in der Auflösung jeder einzelnen Node in eine entsprechende SQL Query. Die Query der obersten Node entspricht hierbei unserer Debugging-Query, welche wir im Vorhinein definiert haben. Zusätzlich zur übersetzen SQL Query liefert uns der Debugger eine DataPreview auf das Ergebnis der einzelnen Node. Im Gegensatz zur Analyse mit der DataPreview handelt es sich hierbei um kein statisches Ergebnis. Der Debugger bietet die Möglichkeit die Query auf jeder einzelnen Node „on-the-fly“ anzupassen und somit das Ergebnis jeder einzelnen Zwischenberechnung zu beeinflussen.

How to Debug & Analyse Calculation Views

Zusätzlich zu den Query-Informationen bietet der Debugger eine Performanceübersicht mit grundlegenden Informationen zu den einzelnen Data-Sources und gegebenenfalls Informationen zum verwendeten Join. Diese Informationen werden allerdings nur bei HANA-Tabellen angezeigt.

How to Debug & Analyse Calculation Views

Fazit

In diesem Blogbeitrag wurden die zwei unterschiedlichen technischen Möglichkeiten & unterschiedliche Herangehensweisen zum Debugging von Calculation Views dargestellt. Letztendlich lässt sich festhalten, dass mit der DataPreview & dem Debugger die gleichen Probleme auf unterschiedliche Art lösbar sind.

Man kann jedoch empfehlen den Debugger in den ersten Entwicklungsschritten einer Calculation View zu nutzen & die Datapreview erst im späteren Verlauf einzusetzen. In frühen Entwicklungsphasen kann der Debugger eindeutig seine Stärke der flexiblen Query-Modellierung ausspielen, wo bei der DataPreview vorher eine Anpassung der Calculation View notwendig wäre.

In späteren Entwicklungsphasen kann die DataPreview allerdings ihre Stärken der Datenanalyse ausspielen, welche beim Debugger nicht gegeben ist.

SAP_Kamp

KONTAKT

Christopher Kampmann
Senior Manager
SAP Information Management

christopher.kampmann@isr.de
+49 151 422 05 411

Über ISR

Die ISR Information Products AG ist Ihr Experte für Analytics, Prozess-Digitalisierung und Application Management. Mit Blick auf die Bedürfnisse namhafter Kunden konzipieren, modernisieren, implementieren und betreuen ca. 200 Mitarbeiter an sechs Standorten IT-Architekturen, Software-Lösungen und IT-Infrastrukturen. Das Ziel: Unseren Kunden die wirtschaftliche Nutzung von Daten zu ermöglichen.
News Kategorien
News Archiv

News nach Autoren

Zuletzt erschienen

Nächste ISR Events

Es gibt derzeit keine anstehenden Veranstaltungen.

ISR Facebook Feed

Facebook

Mit dem Laden des Beitrags akzeptieren Sie die Datenschutzerklärung von Facebook.
Mehr erfahren

Beitrag laden

Haben wir Ihr Interesse geweckt?