Skip to content
NextLytics
Megamenü_2023_Über-uns

Shaping Business Intelligence

Ob clevere Zusatzprodukte für SAP BI, Entwicklung aussagekräftiger Dashboards oder Implementierung KI-basierter Anwendungen - wir gestalten zusammen mit Ihnen die Zukunft von Business Intelligence. 

Megamenü_2023_Über-uns_1

Über uns

Als Partner mit tiefem Prozess-Know-how, Wissen der neuesten SAP-Technologien sowie hoher sozialer Kompetenz und langjähriger Projekterfahrung gestalten wir die Zukunft von Business Intelligence auch in Ihrem Unternehmen.

Megamenü_2023_Methodik

Unsere Methodik

Die Mischung aus klassischem Wasserfallmodell und agiler Methodik garantiert unseren Projekten eine hohe Effizienz und Zufriedenheit auf beiden Seiten. Erfahren Sie mehr über unsere Vorgehensweise.

Produkte
Megamenü_2023_NextTables

NextTables

Daten in SAP BW out of the Box bearbeiten: Mit NextTables wird das Editieren von Tabellen einfacher, schneller und intuitiver, egal ob Sie SAP BW on HANA, SAP S/4HANA oder SAP BW 4/HANA nutzen.

Megamenü_2023_Connector

NextLytics Connectoren

Die zunehmende Automatisierung von Prozessen erfordert die Konnektivität von IT-Systemen. Die NextLytics Connectoren ermöglichen eine Verbindung Ihres SAP Ökosystems mit diversen open-source Technologien.

IT-Services
Megamenü_2023_Data-Science

Data Science & Engineering

Bereit für die Zukunft? Als starker Partner stehen wir Ihnen bei der Konzeption, Umsetzung und Optimierung Ihrer KI-Anwendung zur Seite.

Megamenü_2023_Planning

SAP Planning

Wir gestalten neue Planungsanwendungen mithilfe von SAP BPC Embedded, IP oder  SAC Planning, die einen Mehrwert für Ihr Unternehmen schaffen.

Megamenü_2023_Dashboarding

Dashboarding

Mit unserer Expertise verhelfen wir Ihnen auf Basis von Tableau, Power BI, SAP Analytics Cloud oder SAP Lumira zu aussagekräftigen Dashboards. 

Megamenü_2023_Data-Warehouse-1

SAP Data Warehouse

Planen Sie eine Migration auf SAP HANA? Wir zeigen Ihnen, welche Herausforderungen zu beachten sind und welche Vorteile eine Migration bringt.

Business Analytics
Megamenü_2023_Procurement

Procurement Analytics

Transparente und valide Zahlen sind vor allem in Unternehmen mit dezentraler Struktur wichtig. SAP Procurement Analytics ermöglicht die Auswertung von SAP ERP-Daten in SAP BI.

Megamenü_2023_Reporting

SAP HR Reporting & Analytics

Mit unserem Standardmodell für Reporting von SAP HCM mit SAP BW beschleunigen Sie administrative Tätigkeiten und stellen Daten aus verschiedenen Systemen zentral und valide zur Verfügung.

Megamenü_2023_Dataquality

Data Quality Management

In Zeiten von Big Data und IoT kommt der Vorhaltung einer hohen Datenqualität eine enorm wichtige Bedeutung zu. Mit unserer Lösung für Datenqualitätsmanagement (DQM) behalten Sie stets den Überblick.

Karriere
Megamenü_2023_Karriere-2b

Arbeiten bei NextLytics

Wenn Du mit Freude zur Arbeit gehen möchtest und dabei Deine berufliche und persönliche Weiterentwicklung nicht zu kurz kommen soll, dann bist Du bei uns genau richtig! 

Megamenü_2023_Karriere-1

Berufserfahrene

Zeit für etwas Neues? Gehe Deinen nächsten beruflichen Schritt und gestalte Innovation und Wachstum in einem spannenden Umfeld zusammen mit uns!

Megamenü_2023_Karriere-5

Berufseinsteigende

Schluss mit grauer Theorie - Zeit, die farbenfrohe Praxis kennenzulernen! Gestalte bei uns Deinen Einstieg ins Berufsleben mit lehrreichen Projekten und Freude an der Arbeit.

Megamenü_2023_Karriere-4-1

Studierende

Du möchtest nicht bloß die Theorie studieren, sondern Dich gleichzeitig auch praktisch von ihr überzeugen? Teste mit uns Theorie und Praxis und erlebe wo sich Unterschiede zeigen.

Megamenü_2023_Karriere-3

Offene Stellen

Hier findest Du alle offenen Stellenangebote. Schau Dich um und bewirb Dich - wir freuen uns! Falls keine passende Stelle dabei ist, sende uns gerne Deine Initiativbewerbung zu.

Blog
NextLytics Newsletter Teaser
Hier für unseren monatlichen Newsletter anmelden!
Newsletter abonnieren
 

Umgang mit Konten- & Kennzahlenmodell in SAP HANA SQLScript & CalcView

In diesem Blogbeitrag betrachten wir mehrere Varianten, um ein Datenset zwischen Kontenmodell und Kennzahlenmodell zu transformieren bzw. zu pivotieren/unpivotieren. Dafür veranschaulichen und erläutern wir zunächst die Begriffe des Kontomodells bzw. Kennzahlenmodells und zeigen im Anschluss die Möglichkeiten zur Transformation, die SAP HANA bietet.

Der geneigte SAP Business Warehouse (BW) User wird mit den Begriffen Kontenmodell und Kennzahlenmodell bereits vertraut sein.

table_account model

Account Model

Die obige Tabelle visualisiert eine Datenmodellierung nach dem Kontenmodell. Diese enthält eine Spalte mit der Bezeichnung der Kennzahl und eine zweite Spalte mit dem entsprechenden Wert. Unabhängig von der Anzahl der Kennzahlen werden hier nur zwei Spalten verwendet.

table_key figure model

Key Figure Model

Die obige Tabelle zeigt dagegen das Kennzahlenmodell.

So ist für jede Kennzahl eine eigene Spalte modelliert. Dabei ist die Bezeichnung der Kennzahl entsprechend auch die Bezeichnung der Spalte und die Ausprägungen der Spalte enthalten die jeweiligen Werte der Kennzahl.

Falls für die Kennzahl eines Datensatzes keine Ausprägung vorhanden ist, wird diese mit einem Standardwert, z.B. null oder 0, gefüllt.

Es ergeben sich eine Reihe an Vor- und Nachteilen:

  • Im Kontenmodell werden keine unnötigen Werte gesichert (null bzw. 0 im Kennzahlenmodell)
  • Im Kontenmodell kann eine neue Kennzahl modelliert werden ohne das Datenmodell zu verändern
  • Das Kennzahlenmodell erleichtert die Analyse und wird daher im Frontend/Reporting vorzugsweise verwendet - daher muss u. U. eine Transformation von Kontenmodell zu Kennzahlenmodell im Backend erfolgen
  • Für reihenbasierte Tabellen ist die Performance des Kontenmodells stärker

Historisch gesehen war die Nutzung beider dieser Modelle essenziell, da eine Modellierung nach dem Kontenmodell eine bessere Performance des BW Systems möglich machte, das Kennzahlenmodell jedoch für das Reporting essenziell war (und weiterhin ist). Mit der Einführung der spaltenbasierten Architektur der Tabellen in der SAP HANA Datenbank ist die Nutzung des Kontenmodells nicht mehr performancerelevant, jedoch unter Umständen aus architektonischen Gründen noch vertreten.


Performance-Boost dank SQLScript -
Whitepaper jetzt herunterladen! 

SAP SQLScript Whitepaper


Von Konten- zu Kennzahlenmodell (Pivot)

Nun betrachten wir ein Szenario, bei dem wir im HANA Kontext ein Datenmodell nach dem Kontenprinzip in das Kennzahlenmodell transformieren möchten. Architektonisch haben wir die Wahl, diese Transformation entweder grafisch in einer Calculation View zu ermöglichen oder als Teil eines scriptbasierten HANA Objekts, z. B. einer Table Function, mittels SQLScript zu implementieren.

Im SQLScript basierten Ansatz wird dabei für jede zu modellierende Kennzahl ein CASE-WHEN Statement verwendet:

-- Account Model to Key Figure Model
SELECT
ID,
SUM (CASE
WHEN "FIELD" = 'SALES'
THEN "VALUE"
ELSE 0
END) as "SALES",
SUM (CASE
WHEN "FIELD" = 'QUANTITY'
THEN "VALUE"
ELSE 0
END) as "QUANTITY",
SUM (CASE
WHEN "FIELD" = 'ORDERS'
THEN "VALUE"
ELSE 0
END) as "ORDERS"
FROM
"IRN"."ACCOUNTMODEL"
GROUP BY
ID
ORDER BY
ID;

Da hier abgesehen vom CASE-WHEN Gerüst keine außergewöhnliche SQL Logik nötig ist, lässt sich dieselbe Funktionalität auch mittels einer Calculation View implementieren. Dafür werden Calculated Columns verwendet. Jedes CASE-WHEN Statement entspricht dabei äquivalent einer Calculated Column:

picture_pivot_calculation view

Pivot with Calculation View

Von Kennzahlen- zu Kontenmodell (Unpivot)

Auch bei der Transformation von Kennzahlen- zum Kontenmodell ist eine Lösung sowohl mittels Calculation View als auch via SQLScript möglich.

Für die grafische Lösung wird zunächst für jede Kennzahl eine Projection Node angelegt und anschließend mit einer Union Node verbunden. Danach bearbeiten wir die Union Node, indem wir:

  • Alle bereits u. U. automatisch eingetragenen Mappings der Kennzahlen entfernen.
  • Über das “+” Zeichen im “Target” Bereich der Union Node zwei custom Zielfelder erstellen - eins für die Feldbezeichnungen und eins für die Feldwerte.
  • Über Rechtsklick auf das custom Feld für Feldbezeichnungen => Manage Mappings die Projection Nodes mit jeweils einer Constant Value auf das Feld für die Feldbezeichnungen mappen.
  • Jeweils eine Kennzahl aus jeder Projection Node auf das Feld für die Feldwerte mappen (entsprechend der vorher definierten Constant Value zu Projection Node Paare).


picture_unpivot_calculation viewUnpivot with Calculation View

Analog lässt sich dieses Prinzip auch via SQLScript anwenden. So wird für jede Kennzahl ein Subselect geschrieben und diese Subselects werden jeweils mittels UNION ALL verbunden:

-- UNION ALL: Key Figure Model to Account Model

SELECT
ID, 'SALES' as "FIELD", "SALES" as "VALUE"
FROM "IRN"."KPIMODEL"

UNION ALL

SELECT
ID, 'QUANTITY' as "FIELD", "QUANTITY" as "VALUE"
FROM "IRN"."KPIMODEL"

UNION ALL

SELECT
ID, 'ORDERS' as "FIELD", "ORDERS" as "VALUE"
FROM "IRN"."KPIMODEL";

Alternativ bietet HANA auch die Möglichkeit der Kombination von zwei integrierten Funktionen - MAP() und SERIES_GENERATE_INTEGER(). Die letztere generiert automatisch eine Tabelle, die eine Zahlenreihe enthält - für uns ist die generierte Spalte “ELEMENT_NUMBER” interessant. Die MAP() Funktion ermöglicht es, eine Reihe an Ausgangswerten jeweils einem Zielwert zuzuordnen. Wir generieren also eine Zahlenreihe mittels SERIES_GENERATE_INTEGER(), die der Anzahl unserer Kennzahlen entspricht und formen einen Cross Join mit der Tabelle, die unser kennzahlenbasiertes Datenmodell enthält. Anschließend nutzen wir MAP(), um die zwei Felder für die Feldbezeichnung und den Feldwert im SELECT korrekt zu befüllen:

-- MAP(): Key Figure Model to Account Model

SELECT
ID,
MAP(element_number,
1, 'SALES',
2, 'QUANTITY',
3, 'ORDERS')
as "FIELD",
MAP(element_number,
1, "SALES",
2, "QUANTITY",
3, "ORDERS")
as "VALUE"
FROM "IRN"."KPIMODEL"
CROSS JOIN SERIES_GENERATE_INTEGER(1,1,4);

Haben Sie Fragen zu diesem oder anderen Themen? Versuchen Sie das nötige Know-How in Ihrer Abteilung aufzubauen oder benötigen Sie Unterstützung bei einer konkreten Fragestellung? Wir helfen Ihnen gerne dabei. Fordern Sie noch heute ein unverbindliches Beratungsangebot an. 

Erfahren Sie mehr über  SAP HANA SQLScript

avatar

Irvin Rodin

Irvin ist seit 2019 im HANA Native und Datasphere-Umfeld unterwegs. Dabei kann er vor allem auf Erfahrungen als Berater und in der Entwicklung auf der XSA Plattform mittels SQLScript zurückgreifen. In seiner Freizeit spielt er leidenschaftlich Basketball und ist auch großer NBA Fan.

Sie haben eine Frage zum Blog?
Fragen Sie Irvin Rodin

Gender Hinweis Aufgrund der besseren Lesbarkeit wird im Text das generische Maskulinum verwendet. Gemeint sind jedoch immer alle Menschen.

Blog - NextLytics AG 

Welcome to our blog. In this section we regularly report on news and background information on topics such as SAP Business Intelligence (BI), SAP Dashboarding with Lumira Designer or SAP Analytics Cloud, Machine Learning with SAP BW, Data Science and Planning with SAP Business Planning and Consolidation (BPC), SAP Integrated Planning (IP) and SAC Planning and much more.

Informieren Sie mich über Neuigkeiten

Letzte Beiträge