Si unisce SAP HANA: Tipologie, sintassi ed esempi
โก Riepilogo intelligente
SAP HANA collega tabelle e viste informative in modo che un modello restituisca esattamente le righe necessarie a un report. I tipi interni, esterni, referenziali, testuali, temporali e spaziali influenzano le prestazioni, la gestione della cardinalitร e le dimensioni del risultato.
Cosa รจ SAP HANA Partecipare?
Un'unione SAP HANA combina righe provenienti da due o piรน tabelle, oppure da una tabella e una vista informativa, e restituisce i valori richiesti dalla query. Le join vengono definite graficamente nel nodo join di una vista informativa e possono anche essere scritte direttamente in istruzioni SQL eseguite sul database.
Le due forme non sono identiche. Un'unione all'interno di un vista di calcolo viene eseguito dal SAP Motore di calcolo HANA, che puรฒ saltare una tabella quando non viene richiesta alcuna colonna, mentre un join scritto in SAP HANASQL viene sempre eseguito esattamente come codificato.
I seguenti tipi di join sono disponibili quando SAP Le tabelle HANA e le viste informative vengono combinate.
| Tipo di unione | si utilizza | Commento |
|---|---|---|
| INTERNO | L'operazione di inner join seleziona l'insieme di record corrispondenti presenti in entrambe le tabelle. | Le righe senza un compagno su entrambi i lati vengono scartate. |
| UNIONE ESTERNO SINISTRO | L'operazione Left Outer Join seleziona l'intero set di record dalla prima tabella, includendo il record corrispondente dalla seconda tabella, laddove disponibile. | Se nella seconda tabella non viene trovata alcuna corrispondenza, vengono restituiti valori nulli per le relative colonne. |
| GIUNZIONE ESTERNA DESTRA | L'operazione Right Outer Join seleziona l'intero set di record dalla seconda tabella, includendo il record corrispondente dalla prima tabella, laddove disponibile. | Se nella prima tabella non viene trovata alcuna corrispondenza, vengono restituiti valori nulli per le relative colonne. |
| COMPLETO ESTERNO JOIN | Un'operazione di full outer join seleziona tutti i record da entrambe le tabelle. | Le righe non corrispondenti, da entrambi i lati, vengono riempite con valori nulli. |
| ISCRIZIONE REFERENZIALE | Si comporta come un inner join, presupponendo che l'integritร referenziale sia mantenuta tra le due tabelle. | Disponibile nei nodi di collegamento delle viste attributo, delle viste analitiche e delle viste di calcolo. |
| TESTO UNISCITI | L'operazione di join del testo seleziona la descrizione specifica della lingua associata a una chiave, utilizzando la colonna della lingua della tabella di testo. | La colonna della lingua, solitamente SPRAS, deve essere selezionata nelle proprietร dell'unione. |
Le join referenziali e testuali sono tipi solo di modellazione. Esistono nel nodo join di una vista informativa e non hanno una parola chiave equivalente in SQL, motivo per cui appaiono in SAP Modellazione HANA strumenti piuttosto che in un'istruzione SELECT.
SAP Sintassi di join e esempi SQL in HANA
Le giunzioni interne ed esterne sono scritte in SAP HANA SQL utilizza la sintassi ANSI standard, quindi una query testata su un altro database relazionale in genere viene eseguita senza modifiche. L'esempio seguente unisce una tabella degli ordini di vendita a una tabella dei clienti e quindi a una tabella degli stati.
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;
L'inner join elimina tutti gli ordini di vendita per i quali manca il record anagrafico del cliente. Il left outer join mantiene tutti gli ordini rimanenti anche quando il codice dello stato non ha una descrizione e restituisce un nome di stato nullo per quelle righe. Scambioping I due tipi di join modificano quindi il numero di righe, non solo le colonne visualizzate.
I modelli grafici raggiungono lo stesso risultato senza SQL. Un nodo di join viene posizionato tra due origini dati nell'editor della vista, le colonne che formano la condizione di join vengono mappate e il tipo di join e la cardinalitร vengono impostati nelle proprietร del nodo. SAP Studio HANA Sia l'editor che il modellatore basato su browser generano il codice SQL in fase di esecuzione a partire da tali impostazioni.
Tipi di join avanzati in SAP Viste di calcolo HANA
Le viste di calcolo aggiungono un comportamento di join che il semplice SQL non esprime con una singola parola chiave. Queste opzioni vengono configurate sul nodo di join o tramite un tipo di nodo dedicato.
| Tipo di unione | Ciรฒ che fa | Utilizzo tipico |
|---|---|---|
| Giunzione temporale | Associa i record delle transazioni alla versione dei dati anagrafici valida in una determinata data, utilizzando i campi "da" e "a" dell'origine dati anagrafici. | Dati anagrafici dipendenti dal tempo, come ad esempio un centro di costo che ha cambiato proprietario. Il tipo di join deve essere referenziale e la chiave deve essere una data, un timestamp o un numero intero. |
| Unione spaziale | Unisce due sorgenti su una colonna geometrica utilizzando un predicato spaziale come interseca o รจ interno, anzichรฉ una condizione di uguaglianza. | Analisi geografica, ad esempio l'abbinamento della posizione dei clienti ai territori di vendita. |
| Unione dinamica | Crea la condizione di join in fase di esecuzione a partire dalle colonne di join effettivamente richieste dalla query, aggregando le colonne rimanenti prima dell'esecuzione del join. | Join su piรน colonne in cui la granularitร della query varia. ร necessario richiedere almeno una colonna di join, altrimenti la query fallisce. |
| Star unisciti | Consente di collegare un'unica origine dati a diverse viste di calcolo dimensionale in un singolo nodo. | Modelli a schema stellare che sostituiscono la vecchia vista analitica. |
Un join dinamico modifica la sequenza delle operazioni anzichรฉ la regola di corrispondenza. In un join statico, ogni colonna definita partecipa alla condizione e l'aggregazione avviene successivamente; in un join dinamico, le colonne non richieste vengono aggregate per prime, il che di solito restituisce un numero inferiore di righe e un totale diverso. I due metodi rispondono quindi a esigenze aziendali diverse, pertanto l'opzione viene impostata intenzionalmente, non come ottimizzazione generale.
Come scegliere il tipo di giunzione corretto in SAP Modellazione HANA
La selezione dell'unione influisce sia sulla correttezza che sul tempo di esecuzione, e l'unione piรน veloce รจ quella SAP HANA non deve mai eseguire nulla. Le seguenti regole coprono la maggior parte delle decisioni di modellazione.
- Unione referenziale โ Utilizzalo solo quando รจ garantito che ogni riga su un lato abbia una colonna corrispondente, perchรฉ il motore potrebbe omettere completamente l'unione se non viene richiesta alcuna colonna dalla tabella unita.
- Unione interna โ Utilizzalo quando l'integritร referenziale non รจ garantita e le righe non corrispondenti devono essere escluse.
- Giunto esterno sinistro โ utilizzalo quando la prima tabella determina il risultato e i dati master mancanti devono ancora essere visualizzati.
- Unione esterna completa โ usatelo con parsimonia, poichรฉ รจ l'opzione piรน costosa e raramente รจ richiesta nei modelli di reporting.
- Unione di testo โ Utilizzalo ogni volta che una colonna di descrizione dipende dalla lingua di accesso.
Due proprietร del nodo sono importanti quanto il tipo di join stesso. La cardinalitร (1:1, 1:n, n:1 o n:m) indica al motore quante righe aspettarsi su ciascun lato e la funzione Proponi cardinalitร la ricava dai dati. Il flag Ottimizza colonne di join consente quindi SAP HANA rimuove una colonna di join dal piano di esecuzione quando la query non la richiede. Una cardinalitร errata puรฒ moltiplicare silenziosamente le misure, quindi viene verificata rispetto ai dati anzichรฉ essere presunta.
Un ulteriore vincolo modella il nuovo sviluppo. Le viste attributo e le viste analitiche sono deprecate e SAP raccomanda di convertirli in viste di calcolo grafiche, quindi un join progettato oggi viene normalmente costruito in un join di vista di calcolo o in un nodo di join a stella. Le informazioni di base sugli oggetti piรน vecchi sono ancora utili quando si mantiene un modello esistente e il vista attributi and vista analitica le pagine descrivono come sono state configurate quelle unioni. SAP Materiale didattico su nodi di collegamento copre lo stesso comportamento in SAP HANA Cloud e il piรน ampio SAP Tutorial su HANA La serie spiega dove si collocano le visualizzazioni delle informazioni all'interno della piattaforma.
