Blir med SAP HANA: Typer, syntaks og eksempler
โก Smart oppsummering
SAP HANA kobler sammen koblingstabeller og informasjonsvisninger slik at en modell returnerer nรธyaktig de radene en rapport trenger. Indre, ytre, referanse-, tekst-, tidsmessige og romlige typer endrer hver ytelse, kardinalitetshรฅndtering og resultatstรธrrelse.
Hva er SAP HANA Bli med?
En bli med SAP HANA kombinerer rader fra to eller flere tabeller, eller fra en tabell og en informasjonsvisning, og returnerer verdiene som kreves av spรธrringen. Sammenfรธyninger defineres grafisk i sammenfรธyningsnoden til en informasjonsvisning, og de skrives ogsรฅ direkte i SQL-setninger som kjรธrer pรฅ databasen.
De to formene er ikke identiske. En sammenfรธyning inni en beregningsvisning utfรธres av SAP HANA-beregningsmotor, som kan hoppe over en tabell nรฅr ingen forespurt kolonne kommer fra den, mens en sammenfรธyning skrevet i SAP HANA SQL utfรธres alltid nรธyaktig som kodet.
Fรธlgende sammenfรธyningstyper er tilgjengelige nรฅr SAP HANA-tabeller og informasjonsvisninger er kombinert.
| Bli med Type | Bruker | Kommentar |
|---|---|---|
| INNER | Indre sammenfรธyning velger settet med poster som samsvarer i begge tabellene. | Rekker uten partner pรฅ noen av sidene forkastes. |
| VENSTRE YTRE MEDLEM | Venstre ytre kobling velger hele settet med poster fra den fรธrste tabellen, med den samsvarende posten fra den andre tabellen der en er tilgjengelig. | Hvis det ikke finnes noen treff i den andre tabellen, returneres nullverdier for kolonnene. |
| HรYRE YTRE BLI MED | Hรธyre ytre kobling velger hele settet med poster fra den andre tabellen, med den samsvarende posten fra den fรธrste tabellen der en er tilgjengelig. | Hvis det ikke finnes noen treff i den fรธrste tabellen, returneres nullverdier for kolonnene. |
| FULL YTRE SAMLING | Full ytre kobling velger alle poster fra begge tabellene. | Uoverensstemmende rader fra begge sider fylles ut med nullverdier. |
| REFERENSIELL TILKNYTNING | Oppfรธrer seg som en indre sammenfรธyning, under antagelsen om at referanseintegriteten opprettholdes mellom de to tabellene. | Tilgjengelig i attributtvisninger, analytiske visninger og sammenkoblingsnoder i beregningsvisning. |
| TEKST BLI MED | Tekstkobling velger den sprรฅkspesifikke beskrivelsen som tilhรธrer en nรธkkel, ved hjelp av sprรฅkkolonnen i teksttabellen. | Sprรฅkkolonnen, vanligvis SPRAS, mรฅ flagges i sammenfรธyningsegenskapene. |
Referanse- og tekstkoblinger er kun modelleringstyper. De finnes i koblingsnoden til en informasjonsvisning og har ikke noe tilsvarende nรธkkelord i SQL, og det er derfor de vises i SAP HANA-modellering verktรธy i stedet for i en SELECT-setning.
SAP HANA Join-syntaks og SQL-eksempler
Indre og ytre koblinger er skrevet i SAP HANA SQL med standard ANSI-syntaks, slik at en spรธrring testet pรฅ en annen relasjonsdatabase vanligvis kjรธrer uendret. Eksemplet nedenfor kobler en salgsordretabell til en kundetabell og deretter til en tilstandstabell.
SELECT so.ORDER_ID, c.NAME, s.STATE_NAME, so.AMOUNT FROM SALES_ORDER AS so INNER JOIN CUSTOMER AS c ON so.CUSTOMER_ID = c.CUSTOMER_ID LEFT OUTER JOIN STATE AS s ON c.STATE_CODE = s.STATE_CODE WHERE so.AMOUNT > 1000 ORDER BY so.ORDER_ID;
Den indre koblingen fjerner alle salgsordrer der kundens hovedpost mangler. Den venstre ytre koblingen beholder alle gjenvรฆrende ordrer selv nรฅr tilstandskoden ikke har noen beskrivelse, og returnerer et null tilstandsnavn for disse radene.ping De to sammenfรธyningstypene endrer derfor radantallet, ikke bare kolonnene som vises.
Grafiske modeller oppnรฅr samme resultat uten SQL. En koblingsnode plasseres mellom to datakilder i visningseditoren, kolonnene som danner koblingsbetingelsen tilordnes, og koblingstypen og kardinaliteten angis i nodeegenskapene. SAP HANA Studio Bรฅde editoren og den nettleserbaserte modellereren genererer kjรธretids-SQL-en fra disse innstillingene.
Avanserte sammenfรธyningstyper i SAP HANA-beregningsvisninger
Beregningsvisninger legger til sammenfรธyningsatferd som vanlig SQL ikke uttrykker i et enkelt nรธkkelord. Disse alternativene konfigureres pรฅ sammenfรธyningsnoden eller gjennom en dedikert nodetype.
| Bli med Type | Hva det gjรธr | Typisk bruk |
|---|---|---|
| Midlertidig sammenfรธyning | Samsvarer transaksjonsposter med stamdataversjonen som var gyldig pรฅ en gitt dato, ved hjelp av fra- og til-feltene i stamdatakilden. | Tidsavhengige stamdata, for eksempel et kostnadssenter som har byttet eier. Sammenfรธyningstypen mรฅ vรฆre referansemessig, og nรธkkelen mรฅ vรฆre en dato, et tidsstempel eller et heltall. |
| Romlig sammenfรธyning | Kobler sammen to kilder i en geometrikolonne med et romlig predikat som skjรฆrer over eller innenfor, i stedet for pรฅ en likhetsbetingelse. | Geografisk analyse, for eksempel รฅ matche kundelokasjoner med salgsomrรฅder. |
| Dynamisk sammenfรธyning | Bygger sammenfรธyningsbetingelsen under kjรธretid fra sammenfรธyningskolonnene som spรธrringen faktisk ber om, og aggregerer de resterende kolonnene fรธr sammenfรธyningen kjรธres. | Flerkolonnekoblinger der granulariteten til spรธrringen varierer. Minst รฉn koblingskolonne mรฅ forespurtes, ellers mislykkes spรธrringen. |
| Stjernekobling | Kobler รฉn faktakilde til flere dimensjonsberegningsvisninger i รฉn node. | Stjerneskjemamodeller som erstatter den eldre analytiske visningen. |
En dynamisk sammenfรธyning endrer operasjonsrekkefรธlgen snarere enn samsvarsregelen. I en statisk sammenfรธyning deltar hver definerte kolonne i betingelsen, og aggregering skjer etterpรฅ. I en dynamisk sammenfรธyning aggregeres de uforespurte kolonnene fรธrst, noe som vanligvis returnerer fรฆrre rader og en annen totalsum. De to svarer derfor pรฅ forskjellige forretningsspรธrsmรฅl, sรฅ flagget settes bevisst, ikke som en generell optimalisering.
Slik velger du riktig deltakertype SAP HANA-modellering
Valg av sammenfรธyning pรฅvirker bรฅde korrekthet og kjรธretid, og den raskeste sammenfรธyningen er den SAP HANA trenger aldri รฅ utfรธres. Fรธlgende regler dekker de fleste modelleringsbeslutninger.
- Referansekobling โ bruk den bare nรฅr hver rad pรฅ รฉn side garantert har en partner, fordi motoren kan utelate sammenfรธyningen helt nรฅr ingen kolonne fra den sammenfรธyde tabellen blir forespurt.
- Indre bli med โ bruk den nรฅr referanseintegritet ikke er garantert og ikke-samsvarende rader mรฅ ekskluderes.
- Venstre ytre skjรธt โ bruk den nรฅr den fรธrste tabellen styrer resultatet og manglende stamdata fortsatt mรฅ vises.
- Full ytre skjรธt โ bruk det sparsomt, siden det er det dyreste alternativet og sjelden er nรธdvendig i rapporteringsmodeller.
- Tekstkobling โ bruk den nรฅr en beskrivelseskolonne avhenger av pรฅloggingssprรฅket.
To nodeegenskaper er like viktige som selve sammenfรธyningstypen. Kardinalitet (1:1, 1:n, n:1 eller n:m) forteller motoren hvor mange rader som kan forventes pรฅ hver side, og funksjonen Foreslรฅ kardinalitet utleder den fra dataene. Flagget Optimaliser sammenfรธyningskolonner tillater deretter SAP HANA for รฅ fjerne en sammenfรธyningskolonne fra utfรธrelsesplanen nรฅr spรธrringen ikke ber om den. Feil kardinalitet kan stille multiplisere mรฅlinger, slik at den verifiseres mot dataene i stedet for รฅ antas.
En ytterligere begrensning former ny utvikling. Attributtvisninger og analytiske visninger er avskrevet, og SAP anbefaler รฅ konvertere dem til grafiske beregningsvisninger, slik at en kobling som er utformet i dag, vanligvis bygges i en beregningsvisningskoblings- eller stjernekoblingsnode. Bakgrunn om de eldre objektene er fortsatt nyttig nรฅr en eksisterende modell vedlikeholdes, og attributtvisning og analytisk visning sidene beskriver hvordan disse koblingene ble konfigurert. SAP Lรฆringsmateriell pรฅ bli med noder dekker den samme oppfรธrselen i SAP HANA Cloud, og den bredere SAP HANA-opplรฆring Serien forklarer hvor informasjonsvisninger passer inn i plattformen.
