SAP HANA-Berechnungssicht: Typen und Erstellung

⚡ Intelligente Zusammenfassung

Berechnungsansicht in SAP HANA ist die leistungsstärkste Informationssicht. Sie kombiniert Tabellen, Spaltensichten, analytische Sichten und andere Berechnungssichten durch Join-, Union-, Projektions-, Aggregations- und Rangknoten.

  • 🧩 Hauptzweck: Verarbeitet Szenarien, die Kennzahlen aus mehr als einer Faktentabelle erfordern, was mit einer analytischen Sicht nicht möglich ist.
  • 🗂️ Datum Foundation: Tabellen, Spaltenansichten, analytische Ansichten und andere Berechnungsansichten können allesamt Datenquellen sein.
  • 🔧 Fünf Knotentypen: Join, Union, Projection, Aggregation und Rank bilden das Szenario grafisch ab.
  • ️ Knotenbeschränkungen: Ein Join-Knoten akzeptiert genau zwei Quellen; eine Projektion akzeptiert eine; eine Union akzeptiert viele.
  • 🌐 Eingebaute Handhabung: Client-, Sprach- und Währungsumrechnung werden nativ unterstützt.
  • ✍️ Zwei Geschmacksrichtungen: Grafische Ansichten werden im Editor erstellt; skriptbasierte Ansichten werden in SQLScript geschrieben.
  • 📊 Flexibilität bei der Berichterstattung: Eine Berechnungsansicht kann mehrere Kennzahlen enthalten, oder bei der Berichtsdarstellung in Listenform gar keine.

SAP HANA-Berechnungsansicht

Was ist die Berechnungsansicht?

SAP Die HANA-Berechnungsansicht ist eine leistungsstarke Informationsansicht.

SAP Die HANA-Analyseansichtsmaßnahme kann nur aus einer Faktentabelle ausgewählt werden. Wenn in der Informationsansicht weitere Faktentabellen benötigt werden, kommt die Berechnungsansicht ins Spiel. Die Berechnungsansicht unterstützt komplexe Berechnungen.

Die Datengrundlage der Berechnungsansicht kann Tabellen, Spaltenansichten, analytische Ansichten und Berechnungsansichten umfassen.

Wir können schaffen Joins, Gewerkschaften, Aggregation und Projektionen auf Datenquellen.

Die Berechnungsansicht kann mehrere Kennzahlen enthalten und für mehrdimensionale Berichte oder keine Kennzahl verwendet werden, die in Listentypberichten verwendet wird.

Charakteristisch für SAP HANA-Berechnungsansicht wie unten –

  • Unterstützt komplexe Berechnungen.
  • Unterstützt OLTP- und OLAP-Modelle.
  • Unterstützung bei Kundenhandling, Sprache, Währungsumrechnung.
  • Unterstützen Sie Union, Projektion, Aggregation, Rang usw.

SAP Es gibt zwei Arten von HANA-Berechnungsansichten:

  1. SAP HANA Graphical Calculation View (Erstellt von SAP HANA Studio Grafischer Editor).
  2. SAP HANA Script-basierte Berechnungen Ansichten (Erstellt durch SQL Scripts von SAP HANA Studio).

Grafische vs. skriptbasierte Berechnungsansicht

Die beiden Varianten erzeugen zwar das gleiche Objekt, werden aber sehr unterschiedlich erstellt und gewartet, und die Entscheidung lässt sich nur schwer rückgängig machen, sobald eine Ansicht in Produktion ist.

Parameter Grafische Skriptbasiert
Design mit Knoten per Drag & Drop im Editor ablegen SQLScript in einem CE_ oder SQL-Block
Optimierung Die Engine kann ungenutzte Knoten zur Laufzeit entfernen. Funktioniert wie beschrieben, wenig Optimierungspotenzial.
Ablesbarkeit Das Szenariodiagramm dokumentiert sich selbst Hängt ganz vom Autor ab.
Capability Deckt die meisten Anforderungen ab Behandelt Logik, die keine Knotenkombination ausdrücken kann
Wartung Jeder Modellbauer kann es befolgen. SQLScript-Kenntnisse erforderlich
Software Empfehlungen Standardauswahl Nur dort, wo grafische Darstellungen dies wirklich nicht leisten können.

Der Performance-Aspekt ist entscheidend. In der grafischen Ansicht kann HANA Knoten verwerfen, deren Ausgabe keine Spalte der Abfrage benötigt, sodass ein ungenutzter Join keine Kosten verursacht. Eine skriptbasierte Ansicht führt hingegen jede darin enthaltene Anweisung aus. Beginnen Sie mit der grafischen Ansicht und wechseln Sie nur dann zu einem Skriptknoten, wenn dies erforderlich ist.

SAP HANA Grafische Berechnungsansicht

In SAP HANA-Analyseansichtkönnen wir eine Kennzahl nur aus einer Tabelle auswählen.

Wenn also eine Ansicht erforderlich ist, die Kennzahlen aus einer anderen Tabelle enthält, kann dies nicht durch eine analytische Ansicht, sondern durch eine Berechnungsansicht erreicht werden.

In diesem Fall können wir also für jede Tabelle zwei verschiedene Analyseansichten verwenden und diese in der Berechnungsansicht zusammenführen.

Wir erstellen eine grafische Berechnungsansicht „CA_FI_LEDGER“, indem wir zwei analytische Ansichten „AN_PURCHASE_ORDER“ und „AN_FI_DOCUMENT“ verbinden.

CA_FI_LEDGER zeigt die Details des Finanzdokuments im Zusammenhang mit einer Bestellung an.

Schritt 1) In diesem Schritt

  1. Gehen Sie zum Paket (Here Modeling) und klicken Sie mit der rechten Maustaste.
  2. Wählen Sie „Neue Option“.
  3. Wählen Sie Berechnungsansicht.

SAP HANA Grafische Berechnungsansicht

Ein Berechnungsansichtseditor wird angezeigt, in dem das Szenariofenster wie folgt angezeigt wird –

SAP HANA Grafische Berechnungsansicht

Die Details des Szenariofensters sind wie folgt:

Paletten: Dieser Abschnitt enthält die folgenden Knoten, die als Quelle für den Aufbau unserer Berechnungssichten verwendet werden können. Es gibt fünf verschiedene Knotentypen:

  1. Registriert: Dieser Knoten wird verwendet, um zwei Quellobjekte zu verbinden und das Ergebnis an den nächsten Knoten weiterzuleiten. Die Join-Typen können Innen-, Links-Außen-, Rechts-Außen- und Text-Join sein. Hinweis: Wir können einem Join-Knoten nur zwei Quellobjekte hinzufügen.
  2. Union: Dies wird verwendet, um eine Vereinigung aller Operationen zwischen mehreren Quellen durchzuführen. Die Quelle kann aus n Objekten bestehen.
  3. Projektion: Dies wird verwendet, um Spalten auszuwählen, die Daten zu filtern und zusätzliche Spalten zu erstellen, bevor wir sie in nächsten Knoten wie einer Vereinigung, Aggregation und Rangfolge verwenden. Hinweis: Wir können einem Projektionsknoten nur ein Quellobjekt hinzufügen.
  4. Anhäufung: Dies wird verwendet, um eine Aggregation für bestimmte Spalten basierend auf den ausgewählten Attributen durchzuführen.
  5. Rang: Dies ist der genaue Ersatz für die RANK-Funktion in SQL. Wir können die Partitions- und Order-by-Klausel basierend auf der Anforderung definieren.

Schritt 2)

  1. Klicken Sie in der Palette auf den Knoten „Projektion“ und ziehen Sie ihn per Drag-and-Drop in den Szenariobereich aus der Analyseansicht „Bestellung“. Es wurde in „Projection_PO“ umbenannt.
  2. Klicken Sie in der Palette auf den Knoten „Projektion“ und ziehen Sie ihn per Drag-and-Drop in den Szenariobereich für die FI-Dokument-Analyseansicht. Es wurde in „Projection_FI“ umbenannt.
  3. Ziehen Sie die analytischen Ansichten „AN_PURCHASE_ORDER“ und „AN_FI_DOCUMENT“ aus dem Ordner „Content“ per Drag & Drop auf den Knoten „Projection_PO“ bzw. den Knoten „Projection_FI“.
  4. Klicken Sie auf „Knoten aus Palette hinzufügen“ und ziehen Sie ihn per Drag-and-Drop in den Szenariobereich.
  5. Verbinden Sie den Projection_PO-Knoten mit dem Join_1-Knoten.
  6. Verbinden Sie den Projection_FI-Knoten mit dem Join_1-Knoten.
  7. Klicken Sie in der Palette auf den Aggregationsknoten und ziehen Sie ihn per Drag-and-Drop in den Szenariobereich.
  8. Verbinden Sie den Join_1-Knoten mit dem Aggregationsknoten.

SAP HANA Grafische Berechnungsansicht

Wir haben zwei Analyseansichten hinzugefügt, um eine Berechnungsansicht zu erstellen.

Schritt 3) Klicken Sie unter Aggregation auf den Knoten Join_1 und Sie sehen, dass der Detailabschnitt angezeigt wird.

  1. Wählen Sie alle Spalten aus dem Projection_PO-Knoten für die Ausgabe aus.
  2. Wählen Sie alle Spalten aus dem Projection_FI-Knoten für die Ausgabe aus.
  3. Verbinde den Knoten Projection_PO mit dem Knoten Projection_FI über die Spalte Projection_PO.PO_Number = Projection_FI.PO_NO.

SAP HANA Grafische Berechnungsansicht

Schritt 4) In diesem Schritt

  1. Klicken Sie auf den Aggregationsknoten. Auf der rechten Seite des Bereichs werden Details angezeigt.
  2. Wählen Sie die Spalte für die Ausgabe aus dem Join_1, der auf der rechten Seite im Detailfenster angezeigt wird.

SAP HANA Grafische Berechnungsansicht

Schritt 5) Klicken Sie nun auf Semantikknoten.

SAP HANA Grafische Berechnungsansicht

Der Detailbildschirm wird wie unten angezeigt. Definieren Sie Attribut und Maßtyp für die Spalte und markieren Sie auch den Schlüssel für diese Ausgabe.

  1. Definieren Sie Attribut und Maß.
  2. Markieren Sie PO_Number und COMPANY als Schlüssel.
  3. Markieren Sie ACC_DOC_NO als Schlüssel.

SAP HANA Grafische Berechnungsansicht

Schritt 6) Validieren und aktivieren Sie die Berechnungsansicht in der oberen Leiste des Fensters.

SAP HANA Grafische Berechnungsansicht

  1. Klicken Sie auf das Validierungssymbol.
  2. Klicken Sie auf das Symbol „Aktivieren“.

Die Berechnungsansicht wird aktiviert und unter dem Modellierungspaket wie folgt angezeigt:

SAP HANA Grafische Berechnungsansicht

Wählen Sie die Berechnungsansicht und klicken Sie mit der rechten Maustaste -> Datenvorschau

Wir haben zwei Analyseansichten hinzugefügt und wählen aus beiden Analyseansichten die Kennzahl (TAX_AMOUNT, GROSS_AMOUNT) aus.

Der Datenvorschau-Bildschirm wird wie folgt angezeigt –

SAP HANA Grafische Berechnungsansicht

CE-Funktionen in skriptbasierten Ansichten

⚠️ Versionshinweis: Die unten beschriebenen CE_-Funktionen, die Planoperatoren der Berechnungs-Engine, sind veraltet. SAPSie bleiben hier dokumentiert, da sie in vielen bestehenden Codeabschnitten verwendet werden. Neuentwicklungen sollten jedoch Standard-SQL verwenden, das der Optimierer mittlerweile mindestens genauso gut verarbeitet. Die Vermischung von CE_-Funktionen und SQL in einer Anweisung ist außerdem eine bekannte Ursache für schlechte Ausführungspläne.

CE-Funktionen werden auch als Calculation Engine Plan bezeichnet Operator (CE Operators) sind Alternativen zu SQL-Anweisungen.

Es gibt zwei Arten von CE-Funktionen –

Datenquellenzugriffsfunktion

Diese Funktion bindet eine Spaltentabelle oder eine Spaltenansicht an eine Tabellenvariable. Nachfolgend finden Sie eine Liste einiger Datenzugriffsfunktionen.

  • CE_COLUMN_TABLE
  • CE_JOIN_VIEW
  • CE_OLAP_VIEW
  • CE_CALC_VIEW

Relational Operator-Funktion

Durch die Verwendung von Relational Operator, der Benutzer kann das umgehen SQL Der Prozessor verarbeitet die Auswertung und kommuniziert direkt mit der Berechnungs-Engine. Im Folgenden finden Sie einige relationale Beispiele. Operator Funktionsliste –

  • CE_JOIN (Es wird verwendet, um einen Inner Join zwischen zwei Datenquellen durchzuführen und die benötigten Spalten/Daten zu lesen.)
  • CE_RIGHT_OUTER_JOIN (Diese Funktion dient dazu, einen Right Outer Join zwischen den beiden Datenquellen durchzuführen und die abgefragten Spalten in der Ausgabe anzuzeigen.)
  • CE_LEFT_OUTER_JOIN (Diese Funktion dient dazu, einen Left Outer Join zwischen den Datenquellen durchzuführen und die abgefragten Spalten in der Ausgabe anzuzeigen.)
  • CE_PROJECTION (Diese Funktion zeigt die spezifischen Spalten der Quelle an und wendet Filter an, um die Daten einzuschränken. Sie bietet auch die Möglichkeit, Spaltennamen-Aliase zu verwenden.)
  • CE_CALC (Diese Funktion dient zur Berechnung zusätzlicher Spalten basierend auf den Geschäftsanforderungen. Dies entspricht einer berechneten Spalte in grafischen Modellen.)

Unten ist eine Liste von SQL mit CE-Funktion mit einigen Beispiel-

Abfragename SQL-Abfrage CE-Einbaufunktion
Abfrage für Spaltentabelle auswählen WÄHLEN Sie C, D aus „COLUMN_TABLE“. CE_COLUMN_TABLE(“COLUMN_TABLE”,[C,D])
Abfrage in Attributansicht auswählen WÄHLEN Sie C, D aus „ATTRIBUTE_VIEW“ CE_JOIN_VIEW(“ATTRIBUTE_VIEW”,[C,D])
Wählen Sie „Abfrage in Analyseansicht“ aus SELECT C, D, SUM(E) aus „ANALYTIC_VIEW“ Group By C,D CE_OLAP_VIEW(“ANALYTIC_VIEW”,[C,D])
Wählen Sie „Abfrage in Berechnungsansicht“ aus SELECT C, D, SUM(E) aus „CALCULATION_VIEW“ Group By C,D CE_CALC_VIEW(“CALCULATION_VIEW”,[C,D])
Wo haben SELECT C, D, SUM(E) FROM “ANALYTIC_VIEW” WHERE C = 'value' var1 = CE_COLUMN_TABLE(“COLUMN_TABLE”);
CE_PROJECTION(:var1,[C,D],'”C” = ”value”')

Berechnungsansichtstypen: Dimension, Kubus und Kubus mit Sternverknüpfung

Aktuell SAP Bei HANA-Releases wird beim Erstellen einer Berechnungssicht die Angabe einer Datenkategorie verlangt. Die Auswahl bestimmt, was die Sicht leisten kann und wie die Reporting-Tools sie behandeln.

Datenkategorie Enthält Maßnahmen Star-Mitgliedschaft verfügbar Ersetzt
Abmessungen Nein Nein Attributansicht
Würfel Ja Nein Einfache analytische Szenarien
Würfel mit Sternverbindung Ja Ja Analytische Sicht

Deshalb erstellen aktuelle Projekte oft nur Berechnungssichten. Eine Sicht der Kategorie Dimension übernimmt die Arbeit einer Attributansichtund Cube mit Star Join erledigt die Arbeit eines analytische SichtSomit deckt ein einziger Objekttyp das gesamte Modell ab. Bestehende Attribut- und Analyseansichten funktionieren weiterhin, und die Konzepte lassen sich direkt den oben genannten Kategorien zuordnen.

Berechnungsansicht Leistungstipps

Eine Berechnungssicht ist flexibel genug, um fehlerhaft erstellt zu werden, und dasselbe Szenario kann je nach Anordnung der Knoten in einer Sekunde oder einer Minute ablaufen. Sechs Regeln decken den Großteil der Unterschiede ab.

  1. Filtern Sie so früh wie möglich. Setzen Sie einen Filter in die Projektion, die der Quelle am nächsten liegt. Das Filtern nach einer Aggregation bedeutet, dass der gesamte Datensatz zuerst aggregiert und anschließend der größte Teil davon verworfen wurde.
  2. Wenn möglich, sollten die Daten vor dem Zusammenführen aggregiert werden. Das Zusammenführen zweier großer Detailmengen und die anschließende Aggregation verschiebt weitaus mehr Zeilen als das vorherige Aggregieren jeder Seite.
  3. Wählen Sie nur die Spalten aus, die Sie benötigen. Jede Spalte, die einen Knoten durchläuft, wird für die gesamte Ausführung im Speicher gehalten, und nicht verwendete Spalten blockieren das Beschneiden von Knoten.
  4. Für die Kombination gleichartiger Daten ist die Verwendung von union gegenüber join vorzuziehen. Die Verknüpfung von Ist- und Planwerten ergibt eine Vereinigung. Die Darstellung als Join vervielfacht die Zeilen und erfordert anschließend einen Filter, um den Fehler zu beheben.
  5. Beachten Sie die gemeinsame Kardinalität. Die Deklaration 1..1, wenn die Daten 1..N lauten, führt zu doppelten Zeilen und einer Aufblähung aller Kennzahlen, was die häufigste Ursache für falsche Summen ist.
  6. Vermeiden Sie es, Ansichten zu tief zu stapeln. Eine Berechnungssicht auf einer Berechnungssicht auf einer analytischen Sicht ist zwar zulässig, aber schwer zu optimieren und noch schwerer zu debuggen. Zwei Ebenen reichen in der Regel aus.

Nutzen Sie die Leistungsanalyse-Tools im Editor, anstatt zu raten. Planen SieViz zeigt, welcher Knoten die meiste Zeit in Anspruch genommen hat, und die Antwort ist häufig ein Filter, der einen Knoten zu spät platziert wurde. Der umfassendere Ansatz wird im Folgenden beschrieben. SAP HANA-Modellierung Tutorial und prozedurale Alternativen in SQL-Skript.

Häufig gestellte Fragen

Ein Join ist eine binäre Operation, daher spiegelt der Knoten dies wider. Das Verbinden von drei Quellen bedeutet das Verketten zweier Join-Knoten, wodurch auch die Auswertungsreihenfolge explizit festgelegt wird.

Nein. Die Planoperatoren der Berechnungs-Engine sind veraltet. Bestehender Code funktioniert weiterhin, jedoch wird die Verwendung von Standard-SQL empfohlen, da dies im Allgemeinen zu einem besseren Ausführungsplan führt.

Ja. Den Plan lesenViz Die KI ermittelt den Knoten, der die meiste Zeit in Anspruch nimmt, und empfiehlt üblicherweise, einen Filter früher zu setzen oder vor einem Join zu aggregieren.

Ja. Jeder CE_-Operator hat ein direktes SQL-Äquivalent, sodass die KI den Block übersetzen und die wenigen Fälle hervorheben kann, in denen sich das Verhalten ändert. Vergleichen Sie die Ergebnisse, bevor Sie den Produktionscode ersetzen.

Ja. Eine Ansicht der Datenkategorie Dimension enthält nur Attribute und wird für Listenberichte oder als wiederverwendbare Stammdatenquelle für andere Ansichten verwendet.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: