Mengapa ada null dalam kueri hasil gabungan sekunder saya?

Hasil Gabungan adalah fitur yang mudah digunakan untuk menggabungkan data dari berbagai Jelajah dengan cepat tanpa perlu melakukan pengembangan di LookML. Hasil yang digabungkan secara efektif menjalankan left join antara kueri utama dan kueri sekunder — yang berarti bahwa nama kolom, nilai yang cocok, dan tabel hasil akhir bergantung pada kecocokan data dari kueri sekunder dengan kueri utama.

Hal ini berpotensi menyebabkan hasil yang tidak terduga saat Anda melakukan penggabungan antar-Jelajah. Dokumentasi hasil gabungan menangani beberapa kondisi ini,seperti:

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 diharapkan 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 berdasarkan Kota Pengguna) — dengan kueri sekunder — jumlah pesanan (Jumlah Pesanan) yang dikelompokkan menurut Kota Pengguna dan Status Pengguna:

Kueri utama

Kueri utamanya adalah Jumlah Pengguna yang dikelompokkan berdasarkan Kota Pengguna:

Jelajahi tabel data hasil gabungan yang menampilkan hasil kueri utama.

Kueri sekunder

Kueri sekundernya adalah Jumlah Pesanan yang dikelompokkan berdasarkan Kota Pengguna dan Status Pengguna:

Jelajahi tabel data hasil gabungan yang menampilkan hasil kueri sekunder.

Aturan penggabungan ditetapkan untuk menggabungkan kedua kueri menurut Users City, kolom yang sama-sama dimiliki oleh kedua kueri. Mengingat pengetahuan tentang {i>dataset<i} dan perilaku hasil gabungan yang diharapkan yang dijelaskan oleh dokumentasi yang ditautkan sebelumnya, Anda tahu bahwa di setiap baris, setiap kota harus cocok dengan negara bagian dan jumlah pengguna. Anda mengharapkan hasil gabungan akan cocok dengan semua nilai dan tidak menampilkan nilai null.

Namun, ada null dalam hasil. Lebih dari separuh kota tidak cocok dengan negara bagian atau jumlah pesanan:

Tabel data hasil gabungan yang menampilkan nilai null untuk kolom kueri sekunder.

Solusi

Jangan panik. Jika Anda yakin ada nilai yang cocok dalam data Anda (coba jalankan kueri terpisah untuk mengonfirmasi bahwa hal ini yang terjadi), ada beberapa kemungkinan solusi untuk memperbaiki hasil ini, termasuk:

  • Urutkan setiap kueri sumber dengan cara yang sama.
  • Tingkatkan 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 valid. Agar lebih cocok dengan hasil kedua kueri tersebut, Anda dapat mengurutkan kueri sekunder dengan cara yang sama seperti kueri utama — dalam hal ini, dengan Kota Pengguna menaik.

Mengurutkan kueri sekunder yang mirip dengan kueri utama akan mencocokkan hasilnya secara lebih akurat dalam penggabungan akhir:

Tabel data hasil gabungan yang menampilkan nilai non-null untuk kolom kueri utama dan sekunder.

Meningkatkan batas baris kueri sumber

Demikian pula dengan solusi pertama yang diuraikan sebelumnya, null yang tidak terduga dapat disebabkan oleh batas baris yang ditetapkan di kueri sumber. Khususnya dalam kasus ini, kueri sekunder (dibatasi oleh 500 baris default) tidak memiliki cukup baris untuk cocok dengan semua baris yang dihasilkan oleh kueri utama, sehingga menyebabkan hasil null ditampilkan pada penggabungan akhir.

Untuk menambah jumlah baris di kueri sekunder agar sesuai dengan kueri utama, Anda dapat meningkatkan batas baris kueri sekunder. Hal ini menghasilkan lebih banyak kemungkinan baris untuk dicocokkan dengan kueri utama dan lebih sedikit nilai null di kolom kueri sekunder: 

Tabel data hasil gabungan yang menampilkan nilai non-null untuk kolom kueri utama dan sekunder.

Ringkasan

Saat dihadapkan pada hasil gabungan yang tidak terduga, Anda dapat melakukan langkah-langkah berikut untuk memecahkan masalah:

  1. Pilih opsi Clear Cache and Refresh dari menu roda gigi Explore untuk memastikan kueri memberikan hasil terbaru.
  2. 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.
  3. Mengurutkan kueri sumber agar lebih cocok satu sama lain.
  4. Tingkatkan batas baris kueri sumber melebihi nilai default untuk menampilkan lebih banyak baris yang dapat dicocokkan dan digabungkan.
  5. Jika tidak ada solusi yang dibahas di sini yang menyelesaikan perilaku, lakukan hardcode logika join ke LookML untuk mendapatkan hasil yang lebih tepat, jika memungkinkan.