Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dengan menggunakan parameter dropdown, Anda dapat mengumpulkan satu atau beberapa nilai input dari set yang diketahui. Misalnya, Anda dapat menggunakan parameter dropdown untuk memilih salah satu permintaan aplikasi Anda. Parameter dropdown juga menyediakan cara yang mudah digunakan untuk mengumpulkan input arbitrer dari pengguna. Parameter dropdown secara khusus berguna dalam mengaktifkan pemfilteran dalam laporan interaktif Anda.
Cara termudah untuk menentukan parameter dropdown adalah dengan menyediakan daftar statis dalam pengaturan parameter. Cara yang lebih menarik adalah mendapatkan daftar secara dinamis melalui kueri KQL. Anda juga dapat menentukan apakah itu tunggal atau multipilih dengan menggunakan pengaturan parameter. Jika multipilih, Anda dapat menentukan seperti apa tataan hasil harus diformat, misalnya, sebagai pemisah atau kutipan.
Komponen parameter dropdown
Saat menggunakan konten JSON statis atau mendapatkan nilai dinamis dari kueri, parameter dropdown memungkinkan hingga empat bidang informasi, dalam urutan khusus ini:
value
(wajib): kolom/bidang pertama dalam data digunakan sebagai nilai harfiah parameter. Dalam kasus parameter JSON statis sederhana, itu bisa sesering konten["dev", "test", "prod"]
JSON , yang akan membuat dropdown tiga item dengan nilai tersebut sebagai nilai dan label dalam dropdown. Nama bidang ini tidak perlu ,value
dropdown akan menggunakan bidang pertama dalam data tidak peduli nama.label
(opsional): kolom /bidang kedua dalam data digunakan sebagai nama tampilan/label parameter di menu dropdown. Jika tidak ditentukan, nilai digunakan sebagai label. Nama bidang ini tidak perlu ,label
dropdown akan menggunakan bidang kedua dalam data tidak peduli nama.selected
(opsional): kolom/bidang ketiga dalam data digunakan untuk menentukan nilai mana yang harus dipilih secara default. Jika tidak ditentukan, tidak ada item yang dipilih secara default. Perilaku pemilihan didasarkan pada konsep "falsy" JavaScript, sehingga nilai seperti0
, ,false
null
, atau string kosong diperlakukan sebagai tidak dipilih. Nama bidang ini tidak perlu ,selected
dropdown akan menggunakan bidang ketiga dalam data tidak peduli nama.Catatan
Ini hanya mengontrol pilihan default , setelah pengguna memilih nilai di menu dropdown, nilai yang dipilih pengguna tersebut digunakan. Bahkan jika kueri berikutnya untuk parameter berjalan dan mengembalikan nilai default baru. Untuk kembali ke pilihan default, penggunaan dapat menggunakan opsi "Item Default" di menu dropdown, yang akan mengkueri ulang nilai default dan menerapkannya.
Nilai default hanya diterapkan jika tidak ada item yang dipilih oleh pengguna.
Jika kueri berikutnya mengembalikan item yang tidak menyertakan nilai yang dipilih sebelumnya, nilai yang hilang akan dihapus dari pilihan. Item yang dipilih dalam dropdown akan menjadi persimpangan item yang dikembalikan oleh kueri dan item yang sebelumnya dipilih.
group
(opsional): tidak seperti bidang lain, kolom pengelompokan harus diberi namagroup
dan muncul setelahvalue
,label
danselected
. Bidang dalam data ini digunakan untuk mengelompokkan item di menu dropdown. Jika tidak ditentukan, tidak ada pengelompokan yang digunakan. Jika pilihan default tidak diperlukan, data/kueri masih harus mengembalikanselected
bidang dalam setidaknya satu objek/baris, bahkan jika semua nilainya adalahfalse
.
Catatan
Bidang lain dalam data diabaikan oleh parameter dropdown. Disarankan untuk membatasi konten hanya pada bidang yang digunakan oleh dropdown untuk menghindari kueri rumit yang mengembalikan data yang diabaikan.
Membuat parameter dropdown statis
Mulai dengan buku kerja kosong dalam mode edit.
Pilih Tambahkan parameter>Tambahkan Parameter.
Di panel parameter baru yang terbuka, masukkan:
Nama parameter:
Environment
Jenis parameter:
Drop down
Diperlukan:
checked
Izinkan banyak pilihan:
unchecked
Dapatkan data dari:
JSON
atau, pilihQuery
dan pilihJSON
sumber data.Sumber data JSON memungkinkan konten JSON mereferensikan parameter yang ada.
Di blok teks Input JSON, sisipkan cuplikan kode JSON ini:
[ { "value":"dev", "label":"Development" }, { "value":"ppe", "label":"Pre-production" }, { "value":"prod", "label":"Production", "selected":true } ]
Pilih Perbarui.
Pilih Simpan untuk membuat parameter.
Parameter Lingkungan adalah daftar dropdown dengan tiga nilai.
Membuat daftar dropdown statik dengan grup item
Jika hasil kueri/JSON Anda berisi group
bidang, daftar dropdown menampilkan grup nilai. Ikuti sampel sebelumnya, tetapi gunakan JSON berikut:
[
{ "value":"dev", "label":"Development", "group":"Development" },
{ "value":"dev-cloud", "label":"Development (Cloud)", "group":"Development" },
{ "value":"ppe", "label":"Pre-production", "group":"Test" },
{ "value":"ppe-test", "label":"Pre-production (Test)", "group":"Test" },
{ "value":"prod1", "label":"Prod 1", "selected":true, "group":"Production" },
{ "value":"prod2", "label":"Prod 2", "group":"Production" }
]
Catatan
Saat menggunakan group
bidang dalam kueri, Anda juga harus menyediakan nilai untuk label
bidang dan selected
.
Membuat parameter dropdown dinamis
Mulai dengan buku kerja kosong dalam mode edit.
Pilih Tambahkan parameter>Tambahkan Parameter.
Di panel parameter baru yang terbuka, masukkan:
-
Nama parameter:
RequestName
-
Jenis parameter:
Drop down
-
Diperlukan:
checked
-
Izinkan banyak pilihan:
unchecked
-
Dapatkan data dari:
Query
-
Nama parameter:
Di blok teks Input JSON, sisipkan cuplikan kode JSON ini:
requests | summarize by name | order by name asc
Pilih Jalankan Kueri.
Pilih Simpan untuk membuat parameter.
Parameter RequestName adalah daftar dropdown dengan nama semua permintaan di aplikasi.
Contoh: Label kustom, memilih item pertama secara default, dan mengelompokkan menurut nama operasi
Kueri yang digunakan dalam parameter dropdown dinamis sebelumnya mengembalikan daftar nilai yang dirender dalam daftar dropdown. Jika Anda menginginkan nama tampilan yang berbeda, atau memperbolehkan pengguna memilih nama tampilan, gunakan nilai, label, pilihan, dan kolom grup.
Sampel berikut menunjukkan cara mendapatkan daftar dependensi Application Insights yang berbeda. Nama tampilan ditata dengan emoji, item pertama dipilih secara default, dan item dikelompokkan menurut nama operasi:
dependencies
| summarize by operation_Name, name
| where name !contains ('.')
| order by name asc
| serialize Rank = row_number()
| project value = name, label = strcat('🌐 ', name), selected = iff(Rank == 1, true, false), group = operation_Name
Mereferensikan parameter dropdown
Anda dapat mereferensikan parameter dropdown di mana saja parameter dapat digunakan, termasuk mengganti nilai parameter menjadi kueri, pengaturan visualisasi, konten teks Markdown, atau tempat lain tempat Anda dapat memilih parameter sebagai opsi.
Dalam KQL
Pilih Tambahkan kueri untuk menambahkan kontrol kueri, lalu pilih sumber daya Application Insights.
Di editor KQL, masukkan cuplikan kode ini:
requests | where name == '{RequestName}' | summarize Requests = count() by bin(timestamp, 1h)
Cuplikan kode meluas pada waktu evaluasi kueri untuk:
requests | where name == 'GET Home/Index' | summarize Requests = count() by bin(timestamp, 1h)
Pilih Jalankan kueri untuk melihat hasilnya. Secara opsional, buat sebagai bagan.
Opsi parameter dropdown
Pengaturan | Deskripsi | Contoh |
---|---|---|
{DependencyName} |
Nilai yang dipilih | GET fabrikamaccount |
{DependencyName:value} |
Nilai yang dipilih (sama seperti di atas) | GET fabrikamaccount |
{DependencyName:label} |
Label yang dipilih | 🌐 DAPATKAN akunfabrikam |
{DependencyName:escape} |
Nilai yang dipilih, dengan karakter kutipan umum diganti saat diformat ke dalam kueri | GET fabrikamaccount |
Beberapa pilihan
Contoh sejauh ini secara eksplisit mengatur parameter untuk memilih hanya satu nilai di daftar dropdown. Parameter dropdown juga mendukung beberapa pilihan. Untuk mengaktifkan opsi ini, pilih kotak centang Izinkan beberapa pilihan.
Anda dapat menentukan format tataan hasil melalui Pemisah dan Kutipan dengan pengaturan. Secara default, ,
(koma) digunakan sebagai pemisah, dan '
(tanda kutip tunggal) digunakan sebagai karakter kutipan. Default mengembalikan nilai sebagai koleksi dalam bentuk 'a', 'b', 'c'
saat diformat ke dalam kueri. Anda juga dapat membatasi jumlah maksimum pilihan.
Saat menggunakan beberapa parameter pilih dalam kueri, pastikan bahwa KQL yang mereferensikan parameter berfungsi dengan format hasilnya. Contohnya:
- parameter nilai tunggal tidak menyertakan tanda kutip apa pun saat diformat ke dalam kueri, jadi pastikan untuk menyertakan tanda kutip dalam kueri itu sendiri, misalnya:
where name == '{parameter}'
. - tanda kutip disertakan dalam parameter yang diformat saat menggunakan beberapa parameter pilih, jadi pastikan kueri tidak menyertakan tanda kutip. Contohnya,
where name in ({parameter})
.
Perhatikan bagaimana contoh ini juga beralih dari name ==
ke name in
. Operator ==
hanya mengizinkan satu nilai, sementara in
operator mengizinkan beberapa nilai.
dependencies
| where name in ({DependencyName})
| summarize Requests = count() by bin(timestamp, 1h), name
Contoh ini menunjukkan parameter dropdown multipilih di tempat kerja:
Pilihan khusus dropdown
Parameter dropdown juga memungkinkan Anda menentukan nilai khusus yang juga muncul di menu dropdown:
- Yang mana saja
- Ketiganya
- ...
- Setiap 100
- Batas kustom apa pun
- Semua
Ketika item khusus ini dipilih, nilai parameter secara otomatis diatur ke jumlah item tertentu, atau semua nilai.
Casing khusus Semua, dan memungkinkan pilihan kosong diperlakukan sebagai Semua
Saat Anda memilih Semua, bidang tambahan muncul, yang memungkinkan Anda menentukan nilai khusus untuk parameter Semua . Ini berguna ketika "Semua" bisa menjadi sejumlah besar item dan dapat menghasilkan kueri yang sangat besar.
Dalam kasus spesifik ini, string []
digunakan alih-alih nilai. String ini dapat digunakan untuk menghasilkan array kosong dalam kueri log, seperti:
let selection = dynamic([{Selection}]);
SomeQuery
| where array_length(selection) == 0 or SomeField in (selection)
Jika semua item dipilih, nilainya Selection
adalah []
, menghasilkan array kosong untuk selection
variabel dalam kueri. Jika tidak ada nilai yang dipilih, nilai Selection
diformat sebagai string kosong, juga menghasilkan array kosong. Jika ada nilai yang dipilih, nilai tersebut diformat di dalam bagian dinamis kueri, yang menyebabkan array memiliki nilai tersebut. Anda kemudian dapat menguji array_length
0 agar filter tidak diterapkan atau menggunakan in
operator untuk memfilter nilai dalam array.
Contoh umum lainnya menggunakan '*' sebagai nilai penanda khusus saat parameter diperlukan, lalu uji dengan:
| where "*" in ({Selection}) or SomeField in ({Selection})