Sintaks parameter Mustache

Penting

Sintaks parameter Mustache hanya didukung di editor SQL lawas. Databricks merekomendasikan penggunaan penanda parameter bernama untuk kueri baru. Jika Anda menyalin kueri menggunakan sintaks kumis ke dalam notebook, editor himpunan data dasbor AI/BI, atau ruang Genie, Anda harus mengonversinya menjadi penanda parameter bernama agar dapat dijalankan.

Di editor SQL warisan, string apa pun yang dibungkus dengan kurung kurawal ganda ({{ }}) diperlakukan sebagai parameter kueri. Widget muncul di atas panel hasil tempat Anda mengatur nilai parameter.

Tambahkan parameter kumis

  1. Tekan Cmd + I. Parameter disisipkan pada posisi kursor dan dialog Tambahkan Parameter muncul.
  2. Masukkan Kata Kunci, secara opsional ubah Judul, dan pilih Jenis.
  3. Klik Tambahkan Parameter.
  4. Atur nilai parameter di widget.
  5. Klik Terapkan perubahan.
  6. Kliklah Simpan.

Atau, ketik {{ }} langsung dalam kueri dan klik ikon gigi di widget parameter untuk mengonfigurasinya.

Untuk menjalankan kembali kueri dengan nilai yang berbeda, perbarui widget dan klik Terapkan Perubahan.

Mengedit, menghapus, dan menyusun ulang parameter

Edit: Klik ikon roda gigi di samping widget parameter. Untuk mencegah pengguna yang tidak memiliki kueri mengubah nilai parameter, klik Perlihatkan Hasil Saja.

Hapus: Hapus penanda parameter dari kueri. Widget dihapus secara otomatis.

Susun ulang: Klik dan seret widget parameter ke urutan yang diinginkan.

Jenis widget

Jenis widget berikut tersedia:

Teks

Mengambil string sebagai input. Garis miring terbalik, tanda kutip tunggal, dan tanda kutip ganda di-escape secara otomatis. Azure Databricks menambahkan tanda kutip di sekitar nilai .

SELECT * FROM samples.tpch.customer WHERE c_name = {{ name_param }}

Angka

Mengambil angka sebagai input.

SELECT * FROM users WHERE age = {{ number_param }}

Tanggal dan Waktu

Membuat parameter nilai tanggal dan tanda waktu. Tersedia tiga opsi:

Tipe Presisi
Tanggal Hari
Tanggal dan Waktu Menit
Tanggal dan Waktu (dengan detik) Detik

Semua nilai tanggal dan waktu diteruskan sebagai teks string dan harus dibungkus dalam tanda kutip tunggal pada kueri Anda.

SELECT * FROM usage_logs WHERE date = '{{ date_param }}'

Saat Anda memilih opsi Range, Azure Databricks membuat dua parameter menggunakan akhiran .start dan .end.

SELECT * FROM usage_logs
WHERE modified_time > '{{ date_range.start }}'
AND modified_time < '{{ date_range.end }}'

Nota

Widget Rentang Tanggal mengembalikan hasil yang benar hanya untuk kolom bertipe DATE. Untuk kolom tanda waktu, gunakan widget Tanggal dan Rentang Waktu.

Nilai tanggal dinamis: Widget tanggal menyertakan ikon petir biru. Klik untuk memilih nilai dinamis seperti today, , yesterday, this week, last weeklast month, atau last year. Nilai-nilai ini diperbarui secara otomatis.

Penting

Nilai tanggal dinamis tidak kompatibel dengan kueri terjadwal.

Membatasi input ke daftar statis yang telah ditentukan sebelumnya. Mendukung pilihan nilai tunggal dan multinilai.

  • Nilai tunggal: Membungkus parameter dalam tanda kutip tunggal dalam kueri.

  • Multinilai: Aktifkan Izinkan beberapa nilai dalam pengaturan widget. Gunakan opsi Kutipan untuk mengontrol apakah nilai dibungkus dalam tanda kutip tunggal, tanda kutip ganda, atau tidak ada. Perbarui klausa Anda WHERE untuk menggunakan IN:

    SELECT * FROM orders WHERE status IN ( {{ status_param }} )
    

    Dengan tanda kutip ganda dipilih, kueri berakhir dengan: WHERE status IN ("value1", "value2", "value3").

Nilai Daftar Dropdown berupa string. Untuk menggunakan tanggal atau tanda waktu, masukkan dalam format yang diperlukan sumber data Anda.

Daftar Dropdown Query-Based

Mengisi pilihan dropdown dari kueri yang disimpan. Berperilaku seperti Menu Dropdown tetapi opsinya dinamis.

  1. Di bawah Tipe di panel pengaturan, pilih Daftar Dropdown Berbasis Kueri.
  2. Klik bidang Kueri dan pilih kueri yang disimpan.

Jika kueri mengembalikan lebih dari satu kolom, Azure Databricks menggunakan kolom pertama. Jika kueri mengembalikan kolom bernama name dan value, widget menampilkan kolom name tetapi meneruskan value terkait ke kueri pada saat runtime.

Contoh:

SELECT user_uuid AS 'value', username AS 'name' FROM users
nilai Nama
1001 Yohanes Smith
1002 Jane Doe
1003 Tabel Bobby

Nilai yang diteruskan ke database saat runtime adalah 1001, , 1002atau 1003, bukan nama tampilan.

Nota

Performa turun jika kueri sumber mengembalikan sejumlah besar rekaman.