operator where

Memfilter tabel ke subkumpulan baris yang memenuhi predikat.

T | where fruit=="apple"

Aliasfilter

Sintaks

T| wherePredicate

Argumen

  • T - Input tabular yang rekamannya akan difilter.
  • Predicate: booleanEkspresi pada kolom T. Ini dievaluasi untuk setiap T.

Mengembalikan

Baris di T yang Predicate-nya adalah true.

Catatan Nilai null: semua fungsi pemfilteran mengembalikan false saat dibandingkan dengan nilai null. Anda dapat menggunakan fungsi null-aware khusus untuk menulis kueri yang menangani nilai null.

isnull(), isnotnull(), isempty(), isnotempty().

Tips

Untuk mendapatkan performa tercepat:

  • 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 floor(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: Dahulukan perbandingan yang sederhana

Traces
| where Timestamp > ago(1h)
    and Source == "MyCluster"
    and ActivityId == SubActivityId 

Contoh ini mengambil rekaman yang tidak lebih dari 1 jam, berasal dari sumber yang disebut MyCluster, dan memiliki dua kolom dengan nilai yang sama.

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

Contoh: Kolom yang berisi string

Traces | where * has "Kusto"

Semua baris di mana kata "Kusto" muncul di kolom mana pun.