Anda dapat menambahkan gambar ke dasbor Looker dengan melakukan hard code URL gambar di kotak teks Markdown. Namun, gambar di kartu teks bersifat statis dan tidak akan diperbarui berdasarkan hasil. Bagaimana jika Anda ingin gambar dasbor berubah secara dinamis berdasarkan nilai filter yang dipilih pengguna?
Halaman Praktik Terbaik ini menunjukkan cara mendapatkan gambar dasbor dinamis menggunakan Liquid dan parameter html.
Solusi
Solusi berikut didasarkan pada set data e-commerce yang menyertakan kolom bernama users.state, yang mewakili negara bagian dalam set data e-commerce hipotetis:
dimension: state {
type: string
sql: ${TABLE}.state ;;
}
Misalnya, Anda ingin menampilkan gambar bendera negara bagian di dasbor yang akan diperbarui berdasarkan negara bagian yang dipilih pengguna untuk memfilter hasil dasbor.
Ada tiga langkah yang harus Anda selesaikan untuk membuat gambar dasbor dinamis:
- Membuat dimensi gambar di LookML.
- Membuat ubin dasbor gambar dinamis.
- Menambahkan filter dasbor dan sentuhan akhir.
Langkah 1: Buat dimensi gambar di LookML
Untuk membuat dimensi gambar di LookML:
- Pertama, buka project dan file tampilan yang berisi dimensi yang ingin Anda tambahi gambar. Kemudian, buat dimensi baru berdasarkan kolom tersebut, khususnya untuk penggunaan menampilkan gambar.
-
Tambahkan parameter
htmluntuk menentukan pernyataan bersyarat{% if %}Liquid dengan variabelvalue, untuk setiap nilai yang ingin Anda tampilkan gambarnya.Misalnya, dimensi
state_flag_imageberikut menetapkan kondisi untuk menampilkan gambar yang ditentukan (dengan taghtml <img>) jika nilaistateadalah"California","New York","Colorado", atau"Illinois". Untuk semua status lainnya, Anda dapat menampilkan ikon "gambar tidak tersedia":dimension: state_flag_image { type: string sql: ${state} ;; html: {% if state._value == "California" %} <img src="https://upload.wikimedia.org/wikipedia/commons/0/01/Flag_of_California.svg" height="170" width="255"> {% elsif state._value == "New York" %} <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Flag_of_New_York.svg/1200px-Flag_of_New_York.svg.png" height="170" width="255"> {% elsif state._value == "Colorado" %} <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Flag_of_Colorado.svg/255px-Flag_of_Colorado.svg.png" height="170" width="255"> {% elsif state._value == "Illinois"%} <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/0/01/Flag_of_Illinois.svg/1200px-Flag_of_Illinois.svg.png" height="170" width="255"> {% else %} <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/ac/No_image_available.svg/1024px-No_image_available.svg.png" height="170" width="170"> {% endif %} ;; } -
Buat kondisi nilai untuk setiap nilai yang ingin Anda tampilkan gambarnya. Atau, Anda dapat membuat kolom gambar dinamis menggunakan variabel Liquid
value, seperti yang dijelaskan dalam postingan Komunitas Cara menambahkan gambar ke visualisasi.
Selanjutnya, Anda dapat membuat kartu dasbor untuk dimensi gambar.
Langkah 2: Buat ubin dasbor gambar dinamis
Setelah dimensi gambar (state_flag_image) dibuat, Anda dapat membuat Eksplorasi yang akan menjadi ubin dasbor gambar dinamis.
Buat Eksplorasi Anda dengan kriteria berikut:
-
Tambahkan filter untuk dimensi asli (dalam hal ini,
state). Tetapkan filter untuk nilai apa pun. Tindakan ini akan menyebabkan gambar "gambar tidak tersedia" ditampilkan di awal, karena tidak ada nilai filter tertentu yang dipilih. Nilai filter ini akan diperbarui sesuai dengan yang dipilih pengguna untuk filter dasbor. -
Pilih dimensi gambar (dalam hal ini,
state_flag_image) dan dimensi lain yang mungkin diperlukan untuk kueri yang menentukan gambar (misalnya, jika Anda ingin memperhitungkan tanggal, Anda dapat menyertakan tanggal, dll.). - Ubah row limit menjadi satu baris.
-
Ubah jenis visualisasi menjadi visualisasi KPI (Nilai Tunggal) atau nilai tunggal (lama), dan sembunyikan kolom lainnya kecuali dimensi gambar (
state_flag_image).
Eksplorasi Anda awalnya akan menampilkan gambar "no image available" dalam visualisasi nilai tunggal yang dirender di panel Visualization. Gambar tampilan akan berubah berdasarkan nilai filter yang dipilih pengguna di dasbor akhir:
Simpan Explore ke dasbor sebagai tile.
Langkah 3: Tambahkan filter dasbor dan sentuhan akhir
Sekarang Anda perlu menambahkan filter dasbor ke dasbor. Filter di dasbor akan memperbarui filter di Explore untuk mengubah gambar yang ditampilkan berdasarkan pilihan pengguna.
Dari mode edit dasbor, buat filter:
- Buka jendela Tambahkan filter
- Pilih kolom yang akan difilter. Kolom filter harus berupa dimensi yang menjadi dasar dimensi gambar. Dalam contoh ini, kolom untuk filter adalah state.
- Pilih kartu gambar dari Langkah 2 di tab Tiles to Update.
- Pilih dimensi asli (state dalam kasus ini) di menu drop-down Field to Filter inline. Pilih kartu lain untuk diperbarui sesuai keinginan.
- Sesuaikan filter sesuai keinginan. Jika Anda memilih Lanjutan opsi kontrol pastikan untuk membatalkan pilihan opsi Izinkan beberapa nilai filter, yang otomatis diaktifkan untuk opsi kontrol Lanjutan.
Sekarang, kartu gambar akan diperbarui dengan pilihan filter pengguna.
Saat pengguna memilih untuk memfilter menurut "California", dasbor akan menampilkan bendera negara bagian dan data untuk negara bagian California:
Saat pengguna memilih untuk memfilter menurut "Colorado", dasbor akan menampilkan bendera negara bagian dan data untuk negara bagian Colorado: