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