where 演算子
適用対象: ✅Microsoft Fabric✅Azure データ エクスプローラー✅Azure Monitor✅Microsoft Sentinel
述語の条件を満たす行のサブセットにテーブルをフィルター処理します。
where
演算子とfilter
演算子は同等です
構文
T | where
Predicate
構文規則について詳しく知る。
パラメーター
件名 | タイプ | Required | 説明 |
---|---|---|---|
T | string |
✔️ | レコードをフィルター処理する表形式の入力。 |
Predicate | string |
✔️ | Tの各行に対してブール値に評価される式。 |
返品
Predicate が true
である T 内の行。
Note
すべてのフィルター関数は、null 値と比較すると false を返します。 null 値を処理するクエリを記述するには、特殊な null 対応関数を使用します。
パフォーマンスに関するヒント
シンプルな比較を使う ("定数" とは、テーブルに対する定数です。 ("定数" とは、テーブルに対する定数です。
now()
とago()
は適切で、let
ステートメントを使って割り当てられるスカラー値も同様です)。たとえば、
where bin(Timestamp, 1d) == ago(1d)
よりもwhere Timestamp >= ago(1d)
の方が適切です。最もシンプルな語句を先頭に配置する:
and
で連結された複数の句がある場合は、関係する列が 1 つしかない句を先頭に配置します。 そのため、Timestamp > ago(1d) and OpId == EventId
の方が、逆の順序にするよりも適切です。
詳細については、使用可能な String 演算子の概要および使用可能な数値演算子の概要を参照してください。
例
複雑さによる順序比較
次のクエリは、破損したプロパティを報告し、洪水であり、さまざまな場所で開始と終了を行う Storm レコードを返します。
2 つの列の比較を最後に配置していることに注意してください。where 演算子はインデックスを使用してスキャンを強制できないためです。
StormEvents
| project DamageProperty, EventType, BeginLocation, EndLocation
| where DamageProperty > 0
and EventType == "Flood"
and BeginLocation != EndLocation
次の表は、上位 10 件の結果のみを示しています。 完全な出力を表示するには、クエリを実行します。
DamageProperty | EventType | BeginLocation | EndLocation |
---|---|---|---|
5000 | 洪水 | フェイエット シティ ローバー | |
5000 | 洪水 | モリスビル ウエスト ウェインスブルク | |
10000 | 洪水 | コープランド ハリス グローブ | |
5000 | 洪水 | グレンフォード MT ペリ | |
25000 | 洪水 | イースト セネカ バッファロー エアパーク ARPT | |
20000 | 洪水 | EBENEZER SLOAN | |
10000 | 洪水 | BUEL CALHOUN | |
10000 | 洪水 | グッドホープ ウエスト ミルフォード | |
5000 | 洪水 | ダンカークの森 | |
20000 | 洪水 | ファーミントン・マンニントン |
列に文字列が含まれているかどうかを確認する
次のクエリは、任意の列に "cow" という単語が表示される行を返します。
StormEvents
| where * has "cow"