Ikut bergabung SAP HANA: Tipe, Sintaks & Contoh
⚡ Ringkasan Cerdas
SAP HANA melakukan join dengan menghubungkan tabel dan tampilan informasi sehingga sebuah model mengembalikan baris yang tepat yang dibutuhkan oleh sebuah laporan. Tipe inner, outer, referential, text, temporal, dan spatial masing-masing mengubah kinerja, penanganan kardinalitas, dan ukuran hasil.
Apa itu SAP HANA Bergabung?
Ikut bergabung SAP HANA menggabungkan baris dari dua tabel atau lebih, atau dari sebuah tabel dan tampilan informasi, dan mengembalikan nilai yang dibutuhkan oleh kueri. Penggabungan didefinisikan secara grafis di node penggabungan dari tampilan informasi, dan juga ditulis langsung dalam pernyataan SQL yang dijalankan pada basis data.
Kedua bentuk tersebut tidak identik. Sebuah sambungan di dalam tampilan perhitungan dieksekusi oleh SAP Mesin perhitungan HANA, yang dapat melewati sebuah tabel ketika tidak ada kolom yang diminta berasal dari tabel tersebut, sedangkan penggabungan (join) yang ditulis dalam SAP HANA SQL selalu dieksekusi persis seperti yang dikodekan.
Jenis penggabungan berikut tersedia ketika SAP Tabel dan tampilan informasi HANA digabungkan.
| Tipe Gabung | penggunaan | Pesan |
|---|---|---|
| BATIN | Inner join memilih kumpulan data yang cocok di kedua tabel. | Baris tanpa pasangan di kedua sisinya akan dibuang. |
| KIRI LUAR GABUNG | Left outer join memilih seluruh kumpulan data dari tabel pertama, dengan data yang cocok dari tabel kedua jika tersedia. | Jika tidak ada kecocokan di tabel kedua, nilai null akan dikembalikan untuk kolom-kolomnya. |
| JOIN LUAR KANAN | Right outer join memilih seluruh kumpulan data dari tabel kedua, dengan data yang cocok dari tabel pertama jika tersedia. | Jika tidak ada kecocokan di tabel pertama, nilai null akan dikembalikan untuk kolom-kolomnya. |
| GABUNG LUAR LENGKAP | Full outer join memilih semua data dari kedua tabel. | Baris yang tidak cocok dari kedua sisi akan diisi dengan nilai null. |
| GABUNG REFERENSI | Berfungsi seperti inner join, dengan asumsi bahwa integritas referensial dipertahankan antara kedua tabel. | Tersedia di tampilan atribut, tampilan analitik, dan node gabungan tampilan perhitungan. |
| GABUNG TEKS | Penggabungan teks memilih deskripsi khusus bahasa yang terkait dengan kunci, menggunakan kolom bahasa dari tabel teks. | Kolom bahasa, biasanya SPRAS, harus ditandai dalam properti penggabungan. |
Penggabungan referensial dan teks adalah tipe yang hanya ada dalam pemodelan. Tipe ini ada di node penggabungan tampilan informasi dan tidak memiliki kata kunci yang setara dalam SQL, itulah sebabnya tipe ini muncul di SAP Pemodelan HANA menggunakan alat bantu daripada dalam pernyataan SELECT.
SAP Sintaks Join HANA dan Contoh SQL
Inner join dan outer join ditulis dalam SAP HANA SQL menggunakan sintaks ANSI standar, sehingga kueri yang diuji pada basis data relasional lain biasanya berjalan tanpa perubahan. Contoh di bawah ini menggabungkan tabel pesanan penjualan dengan tabel pelanggan dan kemudian dengan tabel negara bagian.
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;
Inner join menghapus setiap pesanan penjualan yang data master pelanggannya hilang. Left outer join mempertahankan semua pesanan yang tersisa bahkan ketika kode negara bagian tidak memiliki deskripsi, dan mengembalikan nama negara bagian null untuk baris tersebut. Tukarping Oleh karena itu, kedua jenis penggabungan tersebut mengubah jumlah baris, bukan hanya kolom yang ditampilkan.
Model grafis mencapai hasil yang sama tanpa SQL. Sebuah node gabungan ditempatkan di antara dua sumber data di editor tampilan, kolom-kolom yang membentuk kondisi gabungan dipetakan, dan tipe gabungan serta kardinalitas diatur dalam properti node. SAP Studio HANA Editor dan pemodel berbasis browser sama-sama menghasilkan SQL runtime dari pengaturan tersebut.
Jenis Penggabungan Lanjutan di SAP Tampilan Perhitungan HANA
Calculation view menambahkan perilaku join yang tidak dapat diungkapkan oleh SQL biasa dalam satu kata kunci. Opsi-opsi ini dikonfigurasi pada node join atau melalui tipe node khusus.
| Tipe Gabung | Apa yang dilakukannya | Penggunaan khas |
|---|---|---|
| Gabungan temporal | Mencocokkan catatan transaksi dengan versi data master yang berlaku pada tanggal tertentu, menggunakan kolom "dari" dan "sampai" dari sumber data master. | Data master yang bergantung pada waktu, seperti pusat biaya yang berganti pemilik. Tipe penggabungan harus referensial dan kuncinya harus berupa tanggal, stempel waktu, atau bilangan bulat. |
| Gabungan spasial | Menggabungkan dua sumber pada kolom geometri dengan predikat spasial seperti berpotongan atau di dalam, bukan berdasarkan kondisi kesamaan. | Analisis geografis, misalnya mencocokkan lokasi pelanggan dengan wilayah penjualan. |
| Gabung dinamis | Membangun kondisi penggabungan pada saat runtime dari kolom penggabungan yang sebenarnya diminta oleh kueri, menggabungkan kolom yang tersisa sebelum penggabungan dieksekusi. | Penggabungan multi-kolom di mana granularitas kueri bervariasi. Setidaknya satu kolom penggabungan harus diminta, jika tidak, kueri akan gagal. |
| Bintang bergabung | Menggabungkan satu sumber fakta dengan beberapa tampilan perhitungan dimensi dalam satu node. | Model skema bintang yang menggantikan pandangan analitik lama. |
Penggabungan dinamis mengubah urutan operasi, bukan aturan pencocokan. Dalam penggabungan statis, setiap kolom yang ditentukan ikut serta dalam kondisi dan agregasi terjadi setelahnya; dalam penggabungan dinamis, kolom yang tidak diminta diagregasi terlebih dahulu, yang biasanya menghasilkan lebih sedikit baris dan total yang berbeda. Oleh karena itu, keduanya menjawab pertanyaan bisnis yang berbeda, sehingga flag tersebut diatur dengan sengaja, bukan sebagai optimasi umum.
Cara Memilih Tipe Gabungan yang Tepat SAP Pemodelan HANA
Pemilihan join memengaruhi kebenaran dan waktu eksekusi, dan join tercepat adalah yang SAP HANA tidak perlu dieksekusi. Aturan-aturan berikut mencakup sebagian besar keputusan pemodelan.
- Gabungan referensial — Gunakan hanya jika setiap baris di satu sisi dijamin memiliki pasangan, karena mesin mungkin akan mengabaikan penggabungan sepenuhnya jika tidak ada kolom dari tabel yang digabungkan yang diminta.
- Bergabung batin — gunakan ini ketika integritas referensial tidak dijamin dan baris yang tidak cocok harus dikecualikan.
- Gabung luar kiri — gunakan ini ketika tabel pertama menentukan hasilnya dan data master yang hilang tetap harus muncul.
- Gabung luar penuh — gunakanlah dengan hemat, karena ini adalah opsi yang paling mahal dan jarang dibutuhkan dalam model pelaporan.
- Gabung teks — gunakan ini setiap kali kolom deskripsi bergantung pada bahasa login.
Dua properti node sama pentingnya dengan tipe penggabungan itu sendiri. Kardinalitas (1:1, 1:n, n:1 atau n:m) memberi tahu mesin berapa banyak baris yang diharapkan di setiap sisi, dan fungsi Propose Cardinality menurunkannya dari data. Bendera Optimize Join Columns kemudian memungkinkan SAP HANA menghapus kolom gabungan dari rencana eksekusi ketika kueri tidak memintanya. Kardinalitas yang salah dapat secara diam-diam menggandakan ukuran, sehingga diverifikasi terhadap data dan bukan diasumsikan.
Satu batasan tambahan membentuk pengembangan baru. Tampilan atribut dan tampilan analitik sudah usang, dan SAP Merekomendasikan untuk mengonversinya ke tampilan perhitungan grafis, sehingga penggabungan yang dirancang saat ini biasanya dibangun dalam node penggabungan tampilan perhitungan atau penggabungan bintang. Informasi latar belakang tentang objek lama masih berguna ketika model yang ada dipelihara, dan tampilan atribut ke pandangan analitis Halaman-halaman tersebut menjelaskan bagaimana konfigurasi penggabungan tersebut. Halaman-halaman tersebut menjelaskan bagaimana konfigurasi penggabungan tersebut. ... SAP Materi pembelajaran tentang simpul penghubung mencakup perilaku yang sama dalam SAP HANA Cloud, dan cakupannya yang lebih luas SAP Tutorial HANA Seri ini menjelaskan di mana tampilan informasi berada dalam platform tersebut.
