Bagikan melalui


operator where

Berlaku untuk: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Memfilter tabel ke subkumpulan baris yang memenuhi predikat.

Operator where dan filter setara

Sintaks

Predikat T | where

Pelajari selengkapnya tentang konvensi sintaksis.

Parameter

Nama Tipe Wajib Deskripsi
T string ✔️ Input tabular yang rekamannya akan difilter.
Predicate string ✔️ Ekspresi yang mengevaluasi ke bool untuk setiap baris di T.

Mengembalikan

Baris di T yang Predicate-nya adalah true.

Catatan

Semua fungsi pemfilteran mengembalikan false jika dibandingkan dengan nilai null. Gunakan fungsi khusus yang sadar null untuk menulis kueri yang menangani nilai null.

Tips performa

  • Gunakan perbandingan sederhana antara kolom nama dan konstanta. ('Konstanta' berarti konstanta pada tabel - jadi now() dan ago() baik-baik saja, begitu juga dengan nilai skalar yang ditetapkan menggunakan letpernyataan.)

    Misalnya, pilih where Timestamp >= ago(1d) ke where bin(Timestamp, 1d) == ago(1d).

  • Dahulukan istilah yang paling sederhana: Jika Anda memiliki beberapa klausul yang disatukan dengan and, dahulukan klausul yang hanya melibatkan satu kolom. Jadi Timestamp > ago(1d) and OpId == EventId lebih baik dari sebaliknya.

Untuk informasi selengkapnya, lihat ringkasan operator String yang tersedia dan ringkasan operator Numerik yang tersedia.

Contoh

Perbandingan pesanan berdasarkan kompleksitas

Kueri berikut mengembalikan rekaman badai yang melaporkan properti yang rusak, adalah banjir, dan dimulai dan berakhir di tempat yang berbeda.

Perhatikan bahwa kami menempatkan perbandingan antara dua kolom terakhir, karena operator di mana tidak dapat menggunakan indeks dan memaksa pemindaian.

StormEvents
| project DamageProperty, EventType, BeginLocation, EndLocation
| where DamageProperty > 0
    and EventType == "Flood"
    and BeginLocation != EndLocation 

Tabel berikut ini hanya memperlihatkan 10 hasil teratas. Untuk melihat output lengkap, jalankan kueri.

DamageProperty EventType BeginLocation EndLocation
5000 Banjir KOTA FAYETTE LOWBER
5000 Banjir MORRISVILLE WEST WAYNESBURG
10000 Banjir COPELAND HARRIS GROVE
5000 Banjir GLENFORD MT PERRY
25000 Banjir ARPT AIRPARK KERBAU SENECA TIMUR
20000 Banjir EBENEZER SLOAN
10000 Banjir BUEL CALHOUN
10000 Banjir GOODHOPE WEST MILFORD
5000 Banjir HUTAN DUNKIRK
20000 Banjir FARMINGTON MANNINGTON

Periksa apakah kolom berisi string

Kueri berikut mengembalikan baris tempat kata "sapi" muncul di kolom apa pun.

StormEvents
| where * has "cow"