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.

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:
- SAP HANA Graphical Calculation View (Erstellt von SAP HANA Studio Grafischer Editor).
- 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
- Gehen Sie zum Paket (Here Modeling) und klicken Sie mit der rechten Maustaste.
- Wรคhlen Sie โNeue Optionโ.
- Wรคhlen Sie Berechnungsansicht.
Ein Berechnungsansichtseditor wird angezeigt, in dem das Szenariofenster wie folgt angezeigt wird โ
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:
- 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.
- Union: Dies wird verwendet, um eine Vereinigung aller Operationen zwischen mehreren Quellen durchzufรผhren. Die Quelle kann aus n Objekten bestehen.
- 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.
- Anhรคufung: Dies wird verwendet, um eine Aggregation fรผr bestimmte Spalten basierend auf den ausgewรคhlten Attributen durchzufรผhren.
- 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)
- 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.
- 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.
- 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โ.
- Klicken Sie auf โKnoten aus Palette hinzufรผgenโ und ziehen Sie ihn per Drag-and-Drop in den Szenariobereich.
- Verbinden Sie den Projection_PO-Knoten mit dem Join_1-Knoten.
- Verbinden Sie den Projection_FI-Knoten mit dem Join_1-Knoten.
- Klicken Sie in der Palette auf den Aggregationsknoten und ziehen Sie ihn per Drag-and-Drop in den Szenariobereich.
- Verbinden Sie den Join_1-Knoten mit dem Aggregationsknoten.
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.
- Wรคhlen Sie alle Spalten aus dem Projection_PO-Knoten fรผr die Ausgabe aus.
- Wรคhlen Sie alle Spalten aus dem Projection_FI-Knoten fรผr die Ausgabe aus.
- Verbinde den Knoten Projection_PO mit dem Knoten Projection_FI รผber die Spalte Projection_PO.PO_Number = Projection_FI.PO_NO.
Schritt 4) In diesem Schritt
- Klicken Sie auf den Aggregationsknoten. Auf der rechten Seite des Bereichs werden Details angezeigt.
- Wรคhlen Sie die Spalte fรผr die Ausgabe aus dem Join_1, der auf der rechten Seite im Detailfenster angezeigt wird.
Schritt 5) Klicken Sie nun auf Semantikknoten.
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.
- Definieren Sie Attribut und Maร.
- Markieren Sie PO_Number und COMPANY als Schlรผssel.
- Markieren Sie ACC_DOC_NO als Schlรผssel.
Schritt 6) Validieren und aktivieren Sie die Berechnungsansicht in der oberen Leiste des Fensters.
- Klicken Sie auf das Validierungssymbol.
- Klicken Sie auf das Symbol โAktivierenโ.
Die Berechnungsansicht wird aktiviert und unter dem Modellierungspaket wie folgt angezeigt:
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 โ
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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.








