SAP HANA-beregningsvisning: Typer og hvordan man opretter

⚡ Smart opsummering

Beregningsvisning i SAP HANA er den mest kraftfulde informationsvisning. Den kombinerer tabeller, kolonnevisninger, analytiske visninger og andre beregningsvisninger via join-, union-, projektions-, aggregerings- og rangnoder.

  • 🧩 Kerneformål: Håndterer scenarier, der kræver målinger fra mere end én faktatabel, hvilket en analytisk visning ikke kan.
  • 🗂️ Data Foundation: Tabeller, kolonnevisninger, analytiske visninger og andre beregningsvisninger kan alle være kilder.
  • 🔧 Fem nodetyper: Join, Union, Projection, Aggregation og Rank opbygger scenariet grafisk.
  • ⚖️ Knudegrænser: En join-node accepterer præcis to kilder; en projektion accepterer én; og en union accepterer mange.
  • 🌐 Indbygget håndtering: Klient-, sprog- og valutakonvertering understøttes native.
  • ✍️ To smagsvarianter: Grafiske visninger er bygget i editoren; scriptbaserede visninger er skrevet i SQLScript.
  • 📊 Rapporteringsfleksibilitet: En beregningsvisning kan indeholde flere målinger eller slet ingen ved rapportering af listeformat.

SAP HANA-beregningsvisning

Hvad er beregningsvisning?

SAP HANA-beregningsvisning er en kraftfuld informationsvisning.

SAP HANA Analytisk visningsmål kan kun vælges fra én faktatabel. Når der er behov for mere fakta-tabel i informationsvisning, kommer beregningsvisning på billedet. Beregningsvisning understøtter kompleks beregning.

Datagrundlaget for beregningsvisningen kan omfatte tabeller, kolonnevisninger, analytiske visninger og beregningsvisninger.

Vi kan skabe Sammenføjninger, fagforeninger, aggregation og fremskrivninger på datakilder.

Beregningsvisning kan indeholde flere mål og kan bruges til multidimensionel rapportering eller ingen mål, der bruges i listetyperapportering.

Karakteristisk for SAP HANA-beregning Se som nedenfor –

  • Understøtter kompleks beregning.
  • Understøtter OLTP- og OLAP-modeller.
  • Support Kundehåndtering, sprog, valutaomregning.
  • Støtte Union, Projektion, Aggregation, Rank osv.

SAP HANA Calculation View er af to typer –

  1. SAP HANA grafisk beregningsvisning (Oprettet af SAP HANA Studio grafisk redaktør).
  2. SAP HANA Script-baserede beregninger Visninger (Oprettet af SQL Scripts af SAP HANA Studio).

Grafisk vs. scriptbaseret beregningsvisning

De to smagsvarianter producerer den samme slags objekt, men er bygget og vedligeholdt meget forskelligt, og valget er svært at omgøre, når en visning er i produktion.

Parameter Grafisk Scriptbaseret
Bygget med Træk og slip noder i editoren SQLScript i en CE_- eller SQL-blok
Optimering Motoren kan beskære ubrugte noder under kørsel Udføres som skrevet, mindre plads til optimering
Læsbarhed Scenariediagrammet dokumenterer sig selv Afhænger helt af forfatteren
Capability Dækker de fleste krav Håndterer logik, som ingen nodekombination kan udtrykke
Vedligeholdelse Enhver modelbygger kan følge det Kræver SQLScript-færdigheder
Anbefaling Standardvalg Kun hvor grafikken virkelig ikke kan gøre det

Ydelsespunktet er det afgørende. En grafisk visning lader HANA kassere noder, hvis output ingen kolonne i forespørgslen behøver, så en ubrugt join koster ingenting. En scriptbaseret visning kører alle de sætninger, den indeholder, uanset hvad. Start grafisk, og flyt kun en enkelt node til scriptet, når kravet kræver det.

SAP HANA grafisk beregningsvisning

In SAP HANA analytisk visning, kan vi kun vælge et mål fra én tabel.

Så når der er et krav om en visning, der indeholder mål fra den anden tabel, kan den ikke opnås ved analytisk visning, men ved beregningsvisning.

Så i dette tilfælde kan vi bruge to forskellige analytiske visninger for hver tabel og samle dem i beregningsvisning.

Vi vil oprette en grafisk beregningsvisning "CA_FI_LEDGER" ved at forbinde to analytiske visninger "AN_PURCHASE_ORDER" og "AN_FI_DOCUMENT".

CA_FI_LEDGER vil vise finansdokumentdetaljer relateret til en indkøbsordre.

Trin 1) I dette trin,

  1. Gå til pakke (Her Modellering) og højreklik.
  2. Vælg Ny indstilling.
  3. Vælg Beregningsvisning.

SAP HANA grafisk beregningsvisning

En Calculation View Editor vil blive vist, hvor Scenario Panel vises som nedenfor -

SAP HANA grafisk beregningsvisning

Detalje af Scenario panel er som nedenfor -

Palette: Dette afsnit indeholder nedenstående noder, der kan bruges som kilde til at opbygge vores beregningsvisninger. Vi har 5 forskellige typer noder, de er

  1. Tilslutte: Denne node bruges til at forbinde to kildeobjekter og sende resultatet til den næste node. Sammenføjningstyperne kan være indre, venstre ydre, højre ydre og tekstsammenføjning. Bemærk: Vi kan kun tilføje to kildeobjekter til en join-knude.
  2. Union: Dette bruges til at udføre forening af al operation mellem flere kilder. Kilden kan være n antal objekter.
  3. Fremskrivning: Dette bruges til at vælge kolonner, filtrere data og oprette yderligere kolonner, før vi bruger det i næste noder som en forening, aggregering og rang. Bemærk: Vi kan kun tilføje ét kildeobjekt i en projektionsnode.
  4. Aggregation: Dette bruges til at udføre aggregering på specifikke kolonner baseret på de valgte attributter.
  5. Rang: Dette er den nøjagtige erstatning for RANK-funktionen i SQL. Vi kan definere partitionen og rækkefølge efter klausul baseret på kravet.

Trin 2)

  1. Klik på Projection node fra paletten, og træk og slip til scenarieområdet fra indkøbsordreanalytiske visning. Omdøbte det til "Projection_PO".
  2. Klik på Projection node fra paletten, og træk og slip til scenarieområdet for FI Document analytisk visning. Omdøbte det til "Projection_FI".
  3. Træk og slip den analytiske visning "AN_PURCHASE_ORDER" og "AN_FI_DOCUMENT" fra indholdsmappen til henholdsvis "Projection_PO"-noden og "Projection_FI"-noden.
  4. Klik på Join Node fra palet og træk og slip til scenarieområdet.
  5. Forbind Projection_PO node til Join_1 node.
  6. Forbind Projection_FI node til Join_1 node.
  7. Klik på Aggregation node fra paletten og træk og slip til scenarieområdet.
  8. Slut Join_1 node til aggregation node.

SAP HANA grafisk beregningsvisning

Vi har tilføjet to analytiske visninger til oprettelse af en beregningsvisning.

Trin 3) Klik på Join_1 node under aggregering, og du kan se detaljeafsnittet vises.

  1. Vælg alle kolonner fra Projection_PO Node til output.
  2. Vælg alle kolonne fra Projection_FI node til output.
  3. Forbind Projection_PO-noden med Projection_FI-noden i kolonnen Projection_PO.PO_Number = Projection_FI.PO_NO.

SAP HANA grafisk beregningsvisning

Trin 4) I dette trin,

  1. Klik på Aggregation node og Detail vil blive vist i højre side af ruden.
  2. Vælg kolonne for output fra Join_1, der vises på højre side i detaljevinduet.

SAP HANA grafisk beregningsvisning

Trin 5) Klik nu på Semantics Node.

SAP HANA grafisk beregningsvisning

Detaljeskærmen vil blive vist som nedenfor. Definer attribut og måletype for kolonnen og marker også nøglen for dette output.

  1. Definer egenskab og mål.
  2. Marker PO_Number og COMPANY som nøgle.
  3. Marker ACC_DOC_NO som nøgle.

SAP HANA grafisk beregningsvisning

Trin 6) Valider og aktivér beregningsvisning, fra den øverste bjælke i vinduet.

SAP HANA grafisk beregningsvisning

  1. Klik på Valider ikon.
  2. Klik på Aktiver ikon.

Beregningsvisning vil blive aktiveret og vil blive vist under Modelleringspakke som nedenfor –

SAP HANA grafisk beregningsvisning

Vælg beregningsvisning og højreklik -> Dataforhåndsvisning

Vi har tilføjet to analytiske visninger og vælger mål (TAX_AMOUNT, GROSS_AMOUNT) fra begge analytiske visninger.

Data Preview-skærmen vil blive vist som nedenfor –

SAP HANA grafisk beregningsvisning

CE-funktioner i scriptbaserede visninger

⚠️ Versionsnotat: Beregningsmotorens planoperatorer, CE_-funktionerne beskrevet nedenfor, er forældede af SAPDe forbliver dokumenteret her, fordi en stor del af eksisterende kode bruger dem, men ny udvikling bør bruge standard SQL, som optimeringsprogrammet nu håndterer mindst lige så godt. At blande CE_-funktioner og SQL i én sætning er også en kendt årsag til dårlige planer.

CE-funktioner også kendt som Calculation Engine Plan Operator (CE Operators) er alternative til SQL-sætninger.

CE-funktion er to typer -

Datakildeadgangsfunktion

Denne funktion binder en kolonnetabel eller en kolonnevisning til en tabelvariabel. Nedenfor er en liste over datakildeadgangsfunktioner –

  • CE_COLUMN_TABLE
  • CE_JOIN_VIEW
  • CE_OLAP_VIEW
  • CE_CALC_VIEW

Relationel Operator funktion

Ved at bruge Relationel Operator, kan brugeren omgå SQL processoren under evalueringen og kommunikerer direkte med beregningsmotoren. Nedenfor er nogle relationelle Operator Funktionsliste –

  • CE_JOIN (Bruges til at udføre en indre join mellem to kilder og læse de nødvendige kolonner/data.)
  • CE_RIGHT_OUTER_JOIN (Bruges til at udføre en højre outer join mellem de to kilder og vise de forespurgte kolonner i outputtet.)
  • CE_LEFT_OUTER_JOIN (Bruges til at udføre left outer join mellem kilderne og vise de forespurgte kolonner i outputtet).
  • CE_PROJECTION (Denne funktion viser de specifikke kolonner fra kilden og anvender filtre for at begrænse dataene. Den indeholder også funktioner til alias af kolonnenavne.)
  • CE_CALC (Bruges til at beregne yderligere kolonner baseret på forretningskravene. Dette er det samme som den beregnede kolonne i grafiske modeller.)

Nedenfor er en liste over SQL med CE-funktion med nogle eksempel-

Forespørgselsnavn SQL-forespørgsel CE-indbygget funktion
Vælg forespørgsel på kolonnetabel VÆLG C, D Fra "COLUMN_TABLE". CE_COLUMN_TABLE(“COLUMN_TABLE”,[C,D])
Vælg forespørgsel i attributvisning VÆLG C, D Fra "ATTRIBUTE_VIEW" CE_JOIN_VIEW(“ATTRIBUTE_VIEW”,[C,D])
Vælg Forespørgsel i analytisk visning VÆLG C, D, SUM(E) Fra "ANALYTIC_VIEW"-gruppe efter C,D CE_OLAP_VIEW(“ANALYTIC_VIEW”,[C,D])
Vælg Forespørgsel på beregningsvisning VÆLG C, D, SUM(E) Fra "CALCULATION_VIEW"-gruppe efter C,D CE_CALC_VIEW(“CALCULATION_VIEW”,[C,D])
Hvor har VÆLG C, D, SUM(E) Fra “ANALYTIC_VIEW” Hvor C = 'værdi' var1 = CE_COLUMN_TABLE("COLUMN_TABLE");
CE_PROJECTION(:var1,[C,D],'”C” = ”værdi”')

Beregningsvisningstyper: Dimension, Kube og Kube med stjerneforbindelse

Nuværende SAP HANA-versioner beder om en datakategori, når en beregningsvisning oprettes, og valget bestemmer, hvad visningen kan gøre, og hvordan rapporteringsværktøjer behandler den.

Datakategori Indeholder målinger Stjernetilmelding tilgængelig Erstatter
Dimension Ingen Ingen Attributvisning
Cube Ja Ingen Enkle analytiske scenarier
Kube med stjerneforbindelse Ja Ja Analytisk visning

Derfor bygger nuværende projekter ofte kun beregningsvisninger. En visning af kategorien Dimension udfører arbejdet for en attributvisning, og Cube med Star Join udfører arbejdet som en analytisk visning, så én objekttype dækker hele modellen. Eksisterende attribut- og analytiske visninger fortsætter med at fungere, og koncepterne knyttes direkte til kategorierne ovenfor.

Tips til beregningsvisning af ydeevne

En beregningsvisning er fleksibel nok til at kunne bygges dårligt, og det samme scenarie kan køre på et sekund eller et minut afhængigt af hvordan noderne er arrangeret. Seks regler dækker det meste af forskellen.

  1. Filtrer så tidligt som muligt. Placer et filter i projektionen nærmest kilden. Filtrering efter en aggregering betyder, at hele datasættet blev aggregeret først, og derefter blev det meste kasseret.
  2. Saml før tilmelding, hvor det er muligt. At sammenføje to store detaljesæt og aggregere dem bagefter flytter langt flere rækker end at aggregere hver side først.
  3. Vælg kun de kolonner, du har brug for. Hver kolonne, der føres gennem en node, gemmes i hukommelsen under hele udførelsen, og ubrugte kolonner blokerer nodebeskæring.
  4. Foretrækker at blive medlem af en fagforening for at kombinere lignende data. Stabling af faktiske værdier og plan er en forening. At udtrykke det som en join multiplicerer rækker og kræver derefter et filter for at fortryde skaden.
  5. Vær opmærksom på sammenkædningskardinaliteten. Deklarering af 1..1, hvor dataene er 1..N, duplikeres rækker og oppuster alle målinger, hvilket er den mest almindelige årsag til forkerte totaler.
  6. Undgå at stable visninger for dybt. En beregningsvisning på en beregningsvisning på en analytisk visning er lovlig, men svær at optimere og sværere at fejlfinde. To niveauer er normalt nok.

Brug værktøjerne til performanceanalyse i editoren i stedet for at gætte.Viz viser hvilken node der brugte tiden, og svaret er ofte et filter, der er placeret én node for sent. Den bredere tilgang er beskrevet i SAP HANA-modellering tutorial og proceduremæssige alternativer i SQL script.

Ofte Stillede Spørgsmål

En join er en binær operation, så noden afspejler det. At joine tre kilder betyder at kæde to join-noder sammen, hvilket også gør evalueringsrækkefølgen eksplicit.

Nej. Planoperatorerne i Calculation Engine er forældede. Eksisterende kode fungerer fortsat, men standard SQL er den anbefalede tilgang og producerer generelt en bedre udførelsesplan.

Ja. Læser planenViz output, AI identificerer den node, der bruger tid, og anbefaler almindeligvis at flytte et filter tidligere eller aggregere før en join.

Ja. Hver CE_-operator har en direkte SQL-ækvivalent, så AI kan oversætte blokken og fremhæve de få tilfælde, hvor adfærden er forskellig. Sammenlign resultater, før produktionskode udskiftes.

Ja. En visning af datakategorien Dimension indeholder kun attributter og bruges til rapportering af listeformater eller som en genanvendelig masterdatakilde til andre visninger.

Opsummer dette indlæg med: