Saran filter adalah alat yang efektif di Looker. Anda harus memahami asal dan cara kerjanya agar dapat memecahkan masalah secara efektif saat saran filter tidak berfungsi seperti yang diharapkan. Halaman ini membahas cara kerja saran filter, alasan saran tersebut mungkin salah, dan alasan saran tersebut mungkin gagal diisi.
Bagaimana cara kerja saran filter?
Saran filter menghemat waktu saat pengguna memasukkan nilai dalam filter dan memastikan bahwa pengguna memilih opsi yang ada dalam data. Saat pengguna memilih kotak filter, daftar saran akan muncul di bawah kolom. Dalam contoh ini, memilih kotak untuk filter pada kolom Status dari Eksplorasi Pesanan akan menampilkan daftar drop-down dengan nilai "dibatalkan", "selesai", dan "tertunda" sebagai opsi.
Dari mana daftar saran ini berasal?
Looker menjalankan kueri SELECT distinct <field>
terhadap database untuk mengambil semua kemungkinan opsi untuk kolom tersebut. Kueri terlihat mirip dengan SQL berikut:
SELECT DISTINCT <field_name> FROM <table> WHERE (<field_name> LIKE '%' OR <field_name> LIKE '% %') GROUP BY 1 ORDER BY 1 LIMIT 1000
Saat pengguna memasukkan karakter di kotak filter, Looker akan mengganti kondisi yang sesuai dalam klausa WHERE
untuk memfilter hasil. Kemudian, Looker akan menampilkan 1.000 hasil pertama tersebut dalam saran filter.
Dapatkah saya mengubah saran yang ditampilkan?
Developer dapat menggunakan berbagai parameter LookML untuk mengubah dan menyesuaikan saran yang muncul. Lihat halaman dokumentasi Mengubah saran filter untuk mengetahui detail selengkapnya.
Apakah saran di-cache?
Secara default, Looker menyimpan hasil kueri dalam cache selama satu jam. Anda dapat menggunakan parameter LookML suggest_persist_for
untuk menyesuaikan durasi cache untuk saran filter. Parameter suggest_persist_for
memiliki nilai default "6 jam". Saran memiliki cache-nya sendiri, yang tidak dapat dihapus secara manual dari halaman Jelajahi. Jika Anda perlu menghapus cache untuk saran, berikut beberapa opsi yang dapat dipilih:
- Jika Eksplorasi di-cache menggunakan grup data dengan
sql_trigger
, Anda dapat mereset cache untuk seluruh grup data secara manual di halaman Grup data di panel Admin Looker, tetapi tindakan ini akan memuat ulang cache untuk semua kueri yang dipertahankan menggunakan grup data tersebut. - Anda dapat menggunakan parameter
suggest_persist_for
di tingkat kolom dan menyetelnya ke "0 detik" untuk menghapus cache saran filter untuk kolom tersebut.Cache bersifat global untuk semua pengguna. Satu pengguna yang memuat ulang cache untuk saran akan memengaruhi hasil yang dilihat pengguna lain.
Mengapa saran filter salah?
Setelah memahami cara saran filter diisi, Anda dapat menentukan alasan saran filter mungkin salah. Penjelasan yang paling umum adalah bahwa data telah berubah atau diperbarui antara saat saran filter di-cache dan saat hasil yang salah disadari.
Sebagai contoh, misalkan Pengguna A menjalankan Eksplorasi di pagi hari. Pengguna A memilih beberapa nilai filter dari daftar drop-down saran. Proses ETL database selesai sekitar setengah jam kemudian. Kemudian, Pengguna B melihat Eksplorasi yang sama yang sebelumnya dijalankan oleh Pengguna A. Pengguna B bertanya-tanya mengapa saran filter salah. Alasan terjadinya perbedaan ini adalah karena kueri saran yang di-cache tidak diperbarui dengan proses ETL yang baru selesai di database, sehingga menampilkan hasil yang tidak terduga.
Jika demikian, Anda dapat memuat ulang cache saran menggunakan metode yang dijelaskan di bagian Apakah saran di-cache? sebelumnya di halaman ini.
Mengapa saran filter tidak muncul?
Ada beberapa alasan mengapa saran filter tidak muncul. Langkah-langkah pemecahan masalah berikut menyoroti kemungkinan penyebabnya:
- Periksa jenis filter.
- Periksa apakah ada
access_filter
atausql_always_where
yang membatasi saran. - Periksa apakah ada
suggest_dimension parameter
. - Periksa apakah ada upaya untuk memuat saran saat pengguna memilih atau memasukkan teks dalam filter.
- Periksa konsol jaringan Chrome.
- Temukan bukti kueri saran yang coba dijalankan Looker.
Periksa jenis filter
Jika ini untuk filter dasbor LookML, pastikan jenis filter adalah Kolom. Jenis filter lainnya tidak akan mengisi saran.
-
Pastikan kolom filter berjenis
type: string
dalam definisi LookML-nya. Filter pada kolom jenisnumber
tidak akan mengisi saran. - Apakah ini filter kecocokan (lanjutan)? Filter kecocokan (lanjutan) memerlukan ekspresi Looker, sehingga saran tidak akan muncul.
Periksa apakah ada access_filter
atau sql_always_where
yang membatasi saran
Biasanya, saat sql_always_where
atau access_filter
digunakan, saran filter dibatasi untuk Eksplorasi tersebut. Tindakan ini mencegah pengguna melihat saran filter yang tidak dapat mereka akses. Jika Anda yakin bahwa tidak ada kemungkinan nilai dalam kolom dimensi atau filter tertentu yang akan mengungkapkan informasi sensitif, Anda dapat menggunakan bypass_suggest_restrictions
untuk mengaktifkan kembali saran filter.
Periksa apakah ada suggest_dimension parameter
Jika parameter suggest_dimension
digunakan, saran filter tidak akan diisi kecuali jika dimensi yang disarankan dirujuk dalam Eksplorasi dengan tampilan dimensi tersebut yang ditentukan sebagai tampilan dasar Eksplorasi.
Untuk Eksplorasi yang tampilan dimensi yang disarankan bukan tampilan dasar, tambahkan parameter suggest_explore
, dengan merujuk ke Eksplorasi yang tampilannya adalah tampilan dasar.
Periksa apakah ada upaya untuk memuat saran saat Anda memilih atau memasukkan teks di filter
Periksa apakah Looker tampaknya mencoba memuat saran saat Anda memilih atau memasukkan teks di kotak filter. Looker akan menampilkan lingkaran pemuatan yang berputar di sisi kanan kotak filter.
Jika tidak, Looker tidak mencoba mengisi saran. Pastikan kondisi yang dijelaskan dalam langkah pertama terpenuhi dan saran tidak dinonaktifkan di tingkat field
, view
, atau Jelajah (dengan sql_always_where
atau access_filter
) di LookML. Perhatikan bahwa dialek Hadoop akan menambahkan suggestions: no
pada semua file tampilan secara default.
Jika ada upaya untuk memuat saran, lanjutkan ke petunjuk untuk memeriksa konsol jaringan Chrome.
Periksa konsol jaringan Chrome
Konsol jaringan Chrome dapat menandai error pada kueri itu sendiri atau menunjukkan apakah ada hasil yang ditampilkan dari cache.
- Buka tab Network di browser Anda dengan pintasan Ctrl + Shift + J (di Windows) atau command + option + J (di Mac), atau dengan memilih View > Develop > Developer tools dari kolom opsi Chrome di bagian atas browser.
- Pilih di kotak filter pada Look, Jelajah, atau dasbor Anda.
- Panel Alat developer akan menampilkan permintaan untuk saran filter, yang dapat Anda pilih untuk mengetahui informasi selengkapnya.
- Header akan menampilkan permintaan API internal yang dibuat Looker untuk mengambil nilai saran. Dalam contoh ini, misalkan Looker membuat permintaan API berikut, dengan
<yourinstance>
mewakili URL untuk instance Anda:<yourinstance>/api/internal/models/the_look/views/order_items/fields/users.state/suggestions?term=
- Dalam permintaan API, pastikan model yang tercantum setelah
/models/
ada. Dalam contoh ini, modelnya disebutthe_look
. - Meskipun URL-nya bertuliskan
/views/
, ini merujuk pada Eksplorasi tempat kolom berasal. Pastikan Eksplorasi yang tercantum setelah/views/
ada. Dalam contoh ini, Eksplorasi disebutorder_items
. - Pastikan kolom yang tercantum setelah
/fields/
ada. Dalam contoh ini, kolomnya adalahusers.state
.
Respons untuk permintaan API ini akan menampilkan pesan error yang tepat. Misalnya, kode status untuk saran adalah 404 Not Found:
Pilih respons untuk permintaan ini guna melihat detail selengkapnya.

Dalam hal ini, Anda dapat melihat bahwa saran gagal karena kolom tidak dapat ditemukan berdasarkan respons terhadap permintaan:
{"class":"FieldNotFound","text":"Field not found."}
Jika tidak ada error, tetapi juga tidak ada saran saat diharapkan, periksa apakah kueri saran ditarik dari cache (cache: true
di Konsol Jaringan) — hal ini dapat menunjukkan bahwa cache perlu dihapus, menggunakan parameter suggest_persist_for
pada dimensi yang menyajikan saran.
Temukan bukti kueri saran yang coba dijalankan Looker
Anda dapat memeriksa halaman Queries di panel Admin Looker untuk memastikan kueri yang menghasilkan filter (kolom Source di halaman Queries akan menampilkan Filter Suggestion) tidak menghasilkan error. Pilih tombol Detail kueri, lalu pilih opsi Buka di SQL Runner. Pastikan SQL sudah benar secara sintaksis. Jika Anda melihat anomali seperti nama kolom yang tidak ada atau karakter khusus yang salah, periksa untuk memastikan bahwa Anda tidak menggunakan parameter Liquid atau filter ber-template.
- Jika kueri memerlukan input filter ber-template untuk dijalankan, tidak ada saran filter yang akan muncul.
- Jika kueri menggunakan parameter dengan
default_value
, nilai tersebut akan dimasukkan dalam kueri saran filter. Dalam skenario ini, kueri saran filter tidak akan diperbarui secara dinamis berdasarkan input pengguna. Bergantung pada nilai default, hal ini dapat menyebabkan tidak ada saran filter atau saran filter yang salah. Sebagai gantinya, pertimbangkan untuk menggunakan filter tertaut di dasbor.