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: