Hasil Gabungan adalah fitur praktis untuk menggabungkan data dari berbagai Jelajah dengan cepat dan tanpa mengembangkan di LookML. Hasil gabungan secara efektif melakukan join kiri antara kueri utama dan kueri sekunder — yang berarti bahwa nama kolom, nilai yang cocok, dan tabel hasil akhir bergantung pada cara data dari kueri sekunder cocok dengan kueri utama.
Hal ini berpotensi menyebabkan hasil yang tidak diharapkan saat Anda melakukan penggabungan antar-Jelajahi. Dokumentasi hasil gabungan membahas beberapa kondisi ini,seperti:
- Jika satu kueri tidak memiliki nilai data yang cocok
- Jika satu kueri memiliki beberapa baris untuk nilai yang sama
Namun, apa yang Anda lakukan jika mengharapkan nilai dari kueri sekunder cocok dengan nilai dalam kueri utama, tetapi hasil akhirnya menampilkan nilai null?
Halaman ini membahas cara memecahkan masalah hasil yang tidak terduga ini.
Contoh kasus penggunaan
Contoh kasus penggunaan berikut didasarkan pada contoh set data e-commerce yang berisi informasi pengguna dan pesanan. Untuk contoh ini, Anda ingin menggabungkan satu kueri — jumlah pengguna per kota (Jumlah Pengguna yang dikelompokkan menurut Kota Pengguna) — dengan kueri sekunder — jumlah pesanan (Jumlah Pesanan) yang dikelompokkan menurut Kota Pengguna dan Negara Bagian Pengguna:
Kueri utama
Kueri utama adalah Jumlah Pengguna yang dikelompokkan menurut Kota Pengguna:
Kueri sekunder
Kueri sekunder adalah Jumlah Pesanan yang dikelompokkan menurut Kota Pengguna dan Negara Bagian Pengguna:
Aturan penggabungan ditetapkan untuk menggabungkan kedua kueri berdasarkan Kota Pengguna, kolom yang sama pada kedua kueri. Dengan memahami set data dan perilaku hasil gabungan yang diharapkan yang dijelaskan oleh dokumentasi yang ditautkan sebelumnya, Anda tahu bahwa di setiap baris, setiap kota harus dicocokkan dengan negara bagian dan jumlah pengguna. Anda berharap hasil gabungan akan cocok dengan semua nilai dan tidak menampilkan nilai null.
Namun, ada nilai null dalam hasilnya. Lebih dari setengah kota tidak cocok dengan negara bagian atau jumlah pesanan:
Solusi
Jangan panik. Jika Anda yakin ada nilai yang cocok dalam data (coba jalankan kueri terpisah untuk mengonfirmasi bahwa hal ini benar), ada beberapa kemungkinan solusi untuk memperbaiki hasil ini, termasuk:
- Urutkan setiap kueri sumber dengan cara yang sama.
- Meningkatkan batas baris kueri sumber.
Mengurutkan setiap kueri sumber dengan cara yang sama
Karena hasil gabungan didasarkan pada Jelajah, yang dibatasi hingga 500 baris secara default, terkadang hasil kueri yang Anda gabungkan tidak disertakan dalam hasil akhir.
Untuk memperbaikinya, Anda dapat mengedit dan mengurutkan masing-masing kueri sumber agar lebih cocok satu sama lain.
Dalam contoh kasus penggunaan, kueri utama diurutkan berdasarkan Kota Pengguna secara menaik. Kueri sekunder tidak. Untuk mencocokkan hasil dari kedua kueri dengan lebih baik, Anda dapat mengurutkan kueri sekunder dengan cara yang sama seperti kueri utama — dalam hal ini, menurut Kota Pengguna menaik.
Mengurutkan kueri sekunder dengan cara yang sama seperti kueri utama akan mencocokkan hasil dengan lebih akurat dalam penggabungan akhir:
Meningkatkan batas baris kueri sumber
Serupa dengan solusi pertama yang diuraikan sebelumnya, null yang tidak terduga dapat disebabkan oleh batas baris yang ditetapkan dalam kueri sumber. Khusus dalam hal ini, kueri sekunder (dibatasi oleh default 500 baris) tidak memiliki cukup baris untuk mencocokkan semua baris yang dihasilkan oleh kueri utama, sehingga menyebabkan hasil null ditampilkan dalam penggabungan akhir.
Untuk meningkatkan jumlah baris dalam kueri sekunder agar cocok dengan kueri utama, Anda dapat meningkatkan batas baris kueri sekunder. Hal ini menghasilkan lebih banyak kemungkinan baris yang cocok dengan kueri utama dan lebih sedikit nilai null di kolom kueri sekunder:
Ringkasan
Jika mendapatkan hasil gabungan yang tidak terduga, Anda dapat melakukan langkah-langkah berikut untuk memecahkan masalah:
- Pilih opsi Hapus Cache dan Muat Ulang dari menu roda gigi Jelajahi untuk memastikan kueri mengambil hasil terbaru.
- Pastikan ada nilai yang cocok antara kueri sumber tempat null ditampilkan, seperti yang diuraikan di bagian Bagaimana jika satu kueri tidak memiliki nilai data yang cocok? dalam dokumentasi Hasil Gabungan.
- Urutkan kueri sumber agar lebih cocok satu sama lain.
- Tingkatkan batas baris kueri sumber di luar default untuk menampilkan lebih banyak baris yang dapat dicocokkan dan digabungkan.
- Jika tidak ada solusi yang dibahas di sini yang menyelesaikan perilaku tersebut, hardcode logika join ke dalam LookML untuk mendapatkan hasil yang lebih akurat, jika memungkinkan.