SAP HANA Calculation View: typen en hoe u deze kunt maken

⚡ Slimme samenvatting

Berekeningsweergave in SAP HANA is de krachtigste informatieweergave. Het combineert tabellen, kolomweergaven, analytische weergaven en andere berekeningsweergaven via join-, union-, projectie-, aggregatie- en rank-nodes.

  • 🧩 Kerndoel: Kan scenario's afhandelen waarbij gegevens uit meer dan één feitentabel nodig zijn, iets wat een analytische weergave niet kan.
  • 🗂️ Data Foundation: Tabellen, kolomweergaven, analytische weergaven en andere berekeningsweergaven kunnen allemaal bronnen zijn.
  • 🔧 Vijf soorten knooppunten: De functies Join, Union, Projection, Aggregation en Rank bouwen het scenario grafisch op.
  • ​ Knooppuntlimieten: Een join-node accepteert precies twee bronnen; een projection accepteert er één; een union accepteert er veel.
  • 🌐 Geïntegreerde bediening: Client-, taal- en valutaconversie worden standaard ondersteund.
  • ✍️ Twee smaken: Grafische weergaven worden in de editor gemaakt; scriptgebaseerde weergaven worden geschreven in SQLScript.
  • 📊 Rapportageflexibiliteit: Een berekeningsweergave kan meerdere meetwaarden bevatten, of helemaal geen voor rapportage in lijstvorm.

SAP HANA-berekeningsweergave

Wat is Berekeningsweergave?

SAP HANA-berekeningsweergave is een krachtige informatieweergave.

SAP HANA Analytic view-maat kan worden geselecteerd uit slechts één feitentabel. Wanneer er behoefte is aan meer feitentabellen in de informatieweergave, komt de berekeningsweergave in beeld. De berekeningsweergave ondersteunt complexe berekeningen.

De gegevensbasis van de berekeningsweergave kan tabellen, kolomweergaven, analytische weergaven en berekeningsweergaven omvatten.

We kunnen creëren Sluit zich aan bij, Unies, aggregatie en projecties op gegevensbronnen.

Berekeningsweergave kan meerdere meetwaarden bevatten en kan worden gebruikt voor multidimensionale rapportage of geen meetwaarde die wordt gebruikt bij rapportage van het lijsttype.

Een karaktereigenschap van SAP HANA-berekening Bekijk zoals hieronder –

  • Ondersteunt complexe berekeningen.
  • Ondersteuning van OLTP- en OLAP-modellen.
  • Ondersteuning van klantafhandeling, taal, valutaconversie.
  • Ondersteuning van unie, projectie, aggregatie, rang, etc.

SAP HANA-berekeningsweergave bestaat uit twee typen:

  1. SAP HANA grafische berekeningsweergave (gemaakt door SAP HANA Studio Grafische editor).
  2. SAP HANA Scriptgebaseerde berekeningen Weergaven (gemaakt door SQL-scripts door SAP HANA Studio).

Grafische versus scriptgebaseerde berekeningsweergave

De twee varianten leveren hetzelfde soort object op, maar worden op zeer verschillende manieren geconstrueerd en onderhouden, en de keuze is moeilijk terug te draaien zodra een bepaalde variant in productie is genomen.

Parameter Grafisch Scriptgebaseerd
Gebouwd met Sleep knooppunten naar de editor. SQLScript in een CE_ of SQL-blok
Optimalisatie De engine kan ongebruikte knooppunten tijdens de uitvoering verwijderen. Voert de code uit zoals beschreven, minder ruimte voor optimalisatie.
leesbaarheid Het scenario-diagram documenteert zichzelf. Dat hangt volledig af van de auteur.
Bekwaamheid Voldoet aan de meeste eisen. Verwerkt logica die door geen enkele knooppuntcombinatie kan worden uitgedrukt.
Onderhoud Iedere modelbouwer kan het volgen. SQLScript-vaardigheden vereist
Aanbeveling Standaardkeuze Alleen waar grafische weergave echt niet mogelijk is.

De prestaties zijn doorslaggevend. Een grafische weergave laat HANA knooppunten negeren waarvan de uitvoer niet nodig is voor een kolom in de query, waardoor een ongebruikte join geen kosten met zich meebrengt. Een scriptgebaseerde weergave voert elke instructie die erin staat uit, ongeacht de omstandigheden. Begin met de grafische weergave en verplaats een enkel knooppunt alleen naar een script wanneer de noodzaak zich voordoet.

SAP HANA grafische berekeningsweergave

In SAP HANA Analytische weergave, kunnen we slechts een meting uit één tabel selecteren.

Dus als er een vereiste is voor een weergave die metingen uit een andere tabel bevat, kan dit niet worden bereikt via een analytische weergave, maar via een berekeningsweergave.

In dit geval kunnen we dus voor elke tabel twee verschillende analytische weergaven gebruiken en deze samenvoegen in de berekeningsweergave.

We gaan een grafische berekeningsweergave “CA_FI_LEDGER” maken door twee analytische weergaven “AN_PURCHASE_ORDER” en “AN_FI_DOCUMENT” samen te voegen.

Met CA_FI_LEDGER worden de financiële documentdetails van een inkooporder weergegeven.

Stap 1) In deze stap,

  1. Ga naar pakket (Here Modelling) en klik met de rechtermuisknop.
  2. Selecteer Nieuwe optie.
  3. Selecteer Berekeningsweergave.

SAP HANA grafische berekeningsweergave

Er wordt een berekeningsweergave-editor weergegeven, waarin het scenariopaneel er als volgt uitziet:

SAP HANA grafische berekeningsweergave

Detail van Scenariopaneel is zoals hieronder:

Palet: Deze sectie bevat de onderstaande knooppunten die als bron kunnen dienen voor het bouwen van onze berekeningsweergaven. We hebben 5 verschillende typen knooppunten, namelijk:

  1. Join: Dit knooppunt wordt gebruikt om twee bronobjecten samen te voegen en het resultaat door te geven aan het volgende knooppunt. De join-typen kunnen inner, left outside, right outside en tekst join zijn. Let op: We kunnen slechts twee bronobjecten toevoegen aan een join-knooppunt.
  2. Unie: Dit wordt gebruikt om alle union-bewerkingen uit te voeren tussen meerdere bronnen. De bron kan n-aantal objecten zijn.
  3. Projectie: Dit wordt gebruikt om kolommen te selecteren, de gegevens te filteren en extra kolommen te maken voordat we deze gebruiken in volgende knooppunten zoals een unie, aggregatie en rangschikking. Let op: We kunnen slechts één bronobject toevoegen aan een projectieknooppunt.
  4. Aggregatie: Dit wordt gebruikt om aggregatie uit te voeren op specifieke kolommen op basis van de geselecteerde attributen.
  5. Rang: Dit is de exacte vervanging voor de RANK-functie in SQL. We kunnen de partitie definiëren en per clausule ordenen op basis van de vereiste.

Stap 2)

  1. Klik op Projectieknooppunt vanuit het palet en sleep naar het scenariogebied vanuit de analyseweergave Inkooporder. Hernoemd naar "Projection_PO".
  2. Klik op Projectieknooppunt vanuit het palet en sleep naar het scenariogebied voor de analytische weergave van het FI-document. Hernoemd naar "Projection_FI".
  3. Sleep de analytische weergaven “AN_PURCHASE_ORDER” en “AN_FI_DOCUMENT” vanuit de map Content naar respectievelijk het knooppunt “Projection_PO” en het knooppunt “Projection_FI”.
  4. Klik op Knooppunt vanuit palet verbinden en sleep naar het scenariogebied.
  5. Sluit het Projection_PO-knooppunt aan op het Join_1-knooppunt.
  6. Sluit het Projection_FI-knooppunt aan op het Join_1-knooppunt.
  7. Klik op het aggregatieknooppunt in het palet en sleep het naar het scenariogebied.
  8. Verbind het knooppunt Join_1 met het aggregatieknooppunt.

SAP HANA grafische berekeningsweergave

We hebben twee analytische weergaven toegevoegd, waarmee u een berekeningsweergave kunt maken.

Stap 3) Klik op het knooppunt Join_1 onder aggregatie. Het detailgedeelte wordt dan weergegeven.

  1. Selecteer alle kolommen uit Projection_PO Node voor uitvoer.
  2. Selecteer alle kolommen van het Projection_FI-knooppunt voor uitvoer.
  3. Verbind het knooppunt Projection_PO met het knooppunt Projection_FI op basis van de kolom Projection_PO.PO_Number = Projection_FI.PO_NO.

SAP HANA grafische berekeningsweergave

Stap 4) In deze stap,

  1. Klik op het knooppunt Aggregatie. De details worden aan de rechterkant van het deelvenster weergegeven.
  2. Selecteer de kolom voor uitvoer uit de Join_1 die aan de rechterkant in het detailvenster wordt weergegeven.

SAP HANA grafische berekeningsweergave

Stap 5) Klik nu op Semantiekknooppunt.

SAP HANA grafische berekeningsweergave

Het detailscherm wordt weergegeven zoals hieronder. Definieer het kenmerk en het type meting voor de kolom en markeer ook de sleutel voor deze uitvoer.

  1. Definieer attribuut en meting.
  2. Markeer PO_Nummer en BEDRIJF als sleutel.
  3. Markeer ACC_DOC_NO als sleutel.

SAP HANA grafische berekeningsweergave

Stap 6) Valideer en activeer de berekeningsweergave vanuit de bovenste balk van het venster.

SAP HANA grafische berekeningsweergave

  1. Klik op het pictogram Valideren.
  2. Klik op Pictogram activeren.

Berekeningsweergave wordt geactiveerd en wordt weergegeven onder Modelleringspakket, zoals hieronder:

SAP HANA grafische berekeningsweergave

Selecteer de berekeningsweergave en klik met de rechtermuisknop -> Gegevensvoorbeeld

We hebben twee analytische weergaven toegevoegd en een meting (TAX_AMOUNT, GROSS_AMOUNT) uit beide analytische weergaven geselecteerd.

Het scherm Gegevensvoorbeeld wordt als volgt weergegeven:

SAP HANA grafische berekeningsweergave

CE-functies in scriptgebaseerde weergaven

⚠️ Versie-opmerking: De planoperatoren van de berekeningsengine, de hieronder beschreven CE_-functies, zijn verouderd. SAPZe blijven hier gedocumenteerd omdat veel bestaande code ze gebruikt, maar nieuwe ontwikkelingen zouden standaard SQL moeten gebruiken, wat de optimizer nu minstens net zo goed aankan. Het combineren van CE_-functies en SQL in één statement is ook een bekende oorzaak van slechte uitvoeringsplannen.

CE Functions ook wel Calculation Engine Plan genoemd OperaTor (CE Operators) zijn een alternatief voor SQL-instructies.

CE-functie is twee typen –

Toegang tot gegevensbronnen

Deze functie koppelt een kolomtabel of een kolomweergave aan een tabelvariabele. Hieronder vindt u een lijst met functies voor toegang tot gegevensbronnen.

  • CE_COLUMN_TABLE
  • CE_JOIN_VIEW
  • CE_OLAP_VIEW
  • CE_CALC_VIEW

relationele Operator Functie

Door relationeel te gebruiken Operator, kan de gebruiker de SQL De processor communiceert tijdens de evaluatie rechtstreeks met de rekenmachine. Hieronder volgen enkele relationele voorbeelden. Operator Functielijst –

  • CE_JOIN (Deze functie wordt gebruikt om een ​​inner join uit te voeren tussen twee bronnen en de benodigde kolommen/gegevens te lezen.)
  • CE_RIGHT_OUTER_JOIN (Deze query wordt gebruikt om een ​​right outer join uit te voeren tussen de twee bronnen en de opgevraagde kolommen in de uitvoer weer te geven.)
  • CE_LEFT_OUTER_JOIN (Deze wordt gebruikt om een ​​left outer join tussen de bronnen uit te voeren en de opgevraagde kolommen in de uitvoer weer te geven).
  • CE_PROJECTION (Deze functie toont de specifieke kolommen uit de bron en past filters toe om de gegevens te beperken. Het biedt ook de mogelijkheid om kolomnamen als alias te gebruiken.)
  • CE_CALC (Deze functie wordt gebruikt om extra kolommen te berekenen op basis van de bedrijfsvereisten. Dit is vergelijkbaar met een berekende kolom in grafische modellen.)

Hieronder staat een lijst van SQL met CE-functie met enkele voorbeelden

Zoeknaam SQL-query CE-ingebouwde functie
Selecteer query op kolomtabel SELECTEER C, D Uit “COLUMN_TABLE”. CE_COLUMN_TABLE(“COLUMN_TABLE”,[C,D])
Selecteer query op attribuutweergave SELECTEER C, D Van “ATTRIBUTE_VIEW” CE_JOIN_VIEW(“ATTRIBUTE_VIEW”,[C,D])
Selecteer Query in analytische weergave SELECT C, D, SUM(E) Uit “ANALYTIC_VIEW” Groeperen op C,D CE_OLAP_VIEW(“ANALYTIC_VIEW”,[C,D])
Selecteer Query in de berekeningsweergave SELECTEER C, D, SUM(E) Uit “CALCULATION_VIEW” Groepeer op C,D CE_CALC_VIEW(“CALCULATION_VIEW”,[C,D])
Waar hebben SELECT C, D, SUM(E) FROM “ANALYTIC_VIEW” WHERE C = 'value' var1 = CE_COLUMN_TABLE(“COLUMN_TABLE”);
CE_PROJECTION(:var1,[C,D],'”C” = ”waarde”')

Berekeningsweergavetypen: Dimensie, Kubus en Kubus met sterverbinding

Actueel SAP Bij het aanmaken van een berekeningsweergave wordt in HANA-releases om een ​​gegevenscategorie gevraagd. Deze keuze bepaalt wat de weergave kan doen en hoe rapportagetools ermee omgaan.

Gegevenscategorie Bevat maatregelen Lid worden van Star is mogelijk Vervangt
Afmeting Nee Nee Attribuutweergave
Kubus Ja Nee Eenvoudige analytische scenario's
Kubus met sterverbinding Ja Ja Analytische weergave

Daarom worden in huidige projecten vaak alleen berekeningsweergaven gebouwd. Een weergave van de categorie Dimensie doet het werk van een attribuutweergaveEn Cube met Star Join doet het werk van een analytisch perspectiefEén objecttype dekt dus het hele model. Bestaande attribuut- en analyseweergaven blijven werken en de concepten sluiten direct aan op de bovenstaande categorieën.

Tips voor betere prestaties in de berekeningsweergave

Een berekeningsweergave is flexibel genoeg om ook slecht te worden opgebouwd, en hetzelfde scenario kan in een seconde of een minuut worden uitgevoerd, afhankelijk van hoe de knooppunten zijn gerangschikt. Zes regels dekken het grootste deel van dit verschil.

  1. Filter zo vroeg mogelijk. Plaats een filter in de projectie die het dichtst bij de bron ligt. Filteren na een aggregatie betekent dat de hele dataset eerst is geaggregeerd en vervolgens het grootste deel ervan is verwijderd.
  2. Aggregeer waar mogelijk vóór het samenvoegen. Het samenvoegen van twee grote detailsets en het vervolgens aggregeren verplaatst veel meer rijen dan het eerst aggregeren van elke kant afzonderlijk.
  3. Selecteer alleen de kolommen die u nodig hebt. Elke kolom die via een knooppunt wordt verwerkt, blijft gedurende de hele uitvoering in het geheugen bewaard, en ongebruikte kolommen blokkeren het opschonen van knooppunten.
  4. Gebruik bij voorkeur UNION in plaats van JOIN voor het combineren van gelijksoortige gegevens. Het samenvoegen van werkelijke en geplande cijfers resulteert in een vereniging. Door dit als een samenvoeging uit te drukken, worden het aantal rijen vermenigvuldigd en is vervolgens een filter nodig om de schade ongedaan te maken.
  5. Let op de cardinaliteit van de join. Het declareren van 1..1 terwijl de gegevens 1..N zijn, leidt tot dubbele rijen en een overschatting van elke meting, wat de meest voorkomende oorzaak is van onjuiste totalen.
  6. Vermijd het te diep stapelen van weergaven. Een berekeningsweergave op een berekeningsweergave op een analytische weergave is toegestaan, maar lastig te optimaliseren en nog moeilijker te debuggen. Twee niveaus zijn meestal voldoende.

Gebruik de prestatieanalysetools in de editor in plaats van te gokken. PlanViz Dit laat zien welke node de tijd in beslag nam, en het antwoord is vaak een filter dat één node te laat is geplaatst. De bredere aanpak wordt beschreven in de SAP HANA-modellering handleiding en procedurele alternatieven in SQL-script.

Veelgestelde vragen

Een join is een binaire bewerking, dus het knooppunt weerspiegelt dat. Het samenvoegen van drie bronnen betekent het aaneenschakelen van twee join-knooppunten, wat ook de evaluatievolgorde expliciet maakt.

Nee. De planoperators van de Calculation Engine zijn verouderd. Bestaande code blijft werken, maar standaard SQL is de aanbevolen aanpak en levert over het algemeen een beter uitvoeringsplan op.

Ja. Het plan lezen.Viz De output, AI identificeert het knooppunt dat de meeste tijd in beslag neemt en adviseert doorgaans om een ​​filter eerder te plaatsen of te aggregeren vóór een join.

Ja. Elke CE_ operator heeft een direct SQL-equivalent, dus AI kan het codeblok vertalen en de weinige gevallen markeren waarin het gedrag afwijkt. Vergelijk de resultaten voordat u de productiecode vervangt.

Ja. Een weergave van de gegevenscategorie Dimensie bevat alleen attributen en wordt gebruikt voor rapportage in lijstvorm of als herbruikbare stamgegevensbron voor andere weergaven.

Vat dit bericht samen met: