Bagikan melalui


Parameter drop-down buku kerja

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.

Saat menggunakan konten JSON statis atau mendapatkan nilai dinamis dari kueri, parameter dropdown memungkinkan hingga empat bidang informasi, dalam urutan khusus ini:

  1. 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 , valuedropdown akan menggunakan bidang pertama dalam data tidak peduli nama.

  2. 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 , labeldropdown akan menggunakan bidang kedua dalam data tidak peduli nama.

  3. 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 seperti 0, , falsenull, atau string kosong diperlakukan sebagai tidak dipilih. Nama bidang ini tidak perlu , selecteddropdown 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.

  4. group (opsional): tidak seperti bidang lain, kolom pengelompokan harus diberi nama group dan muncul setelah value, label dan selected. 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 mengembalikan selected bidang dalam setidaknya satu objek/baris, bahkan jika semua nilainya adalah false.

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

  1. Mulai dengan buku kerja kosong dalam mode edit.

  2. Pilih Tambahkan parameter>Tambahkan Parameter.

  3. Di panel parameter baru yang terbuka, masukkan:

    1. Nama parameter: Environment

    2. Jenis parameter: Drop down

    3. Diperlukan: checked

    4. Izinkan banyak pilihan: unchecked

    5. Dapatkan data dari: JSON atau, pilih Query dan pilih JSON sumber data.

      Sumber data JSON memungkinkan konten JSON mereferensikan parameter yang ada.

  4. 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 }
    ]
    
  5. Pilih Perbarui.

  6. Pilih Simpan untuk membuat parameter.

  7. Parameter Lingkungan adalah daftar dropdown dengan tiga nilai.

    Cuplikan layar yang menunjukkan pembuatan parameter dropdown statik.

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" }
]

Cuplikan layar yang menunjukkan contoh daftar dropdown grup.

Catatan

Saat menggunakan group bidang dalam kueri, Anda juga harus menyediakan nilai untuk label bidang dan selected .

Membuat parameter dropdown dinamis

  1. Mulai dengan buku kerja kosong dalam mode edit.

  2. Pilih Tambahkan parameter>Tambahkan Parameter.

  3. Di panel parameter baru yang terbuka, masukkan:

    1. Nama parameter: RequestName
    2. Jenis parameter: Drop down
    3. Diperlukan: checked
    4. Izinkan banyak pilihan: unchecked
    5. Dapatkan data dari: Query
  4. Di blok teks Input JSON, sisipkan cuplikan kode JSON ini:

        requests
        | summarize by name
        | order by name asc
    
  5. Pilih Jalankan Kueri.

  6. Pilih Simpan untuk membuat parameter.

  7. Parameter RequestName adalah daftar dropdown dengan nama semua permintaan di aplikasi.

    Cuplikan layar yang menunjukkan pembuatan parameter dropdown dinamis.

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

Cuplikan layar yang menunjukkan parameter dropdown menggunakan opsi nilai, label, pilihan, dan grup.

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

  1. Pilih Tambahkan kueri untuk menambahkan kontrol kueri, lalu pilih sumber daya Application Insights.

  2. Di editor KQL, masukkan cuplikan kode ini:

        requests
        | where name == '{RequestName}'
        | summarize Requests = count() by bin(timestamp, 1h)
    
    
  3. Cuplikan kode meluas pada waktu evaluasi kueri untuk:

        requests
        | where name == 'GET Home/Index'
        | summarize Requests = count() by bin(timestamp, 1h)
    
  4. Pilih Jalankan kueri untuk melihat hasilnya. Secara opsional, buat sebagai bagan.

    Cuplikan layar yang menunjukkan parameter dropdown yang direferensikan di KQL.

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:

Cuplikan layar yang menunjukkan parameter dropdown multipilih.

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.

Cuplikan layar jendela Parameter Baru di portal Azure. Opsi Semua dipilih dan opsi Semua dan Pilih Semua bidang nilai disorot.

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})

Langkah berikutnya

Pelajari tentang jenis visualisasi yang bisa Anda gunakan untuk membuat laporan visual yang kaya dengan Azure Workbooks.