has_all 演算子

1 つ以上の大文字と小文字を区別しない検索文字列を使用して、データのレコード セットをフィルター処理します。 has_all は、インデックス付き用語を検索します。インデックス付き 用語 は 3 文字以上です。 用語が 3 文字未満の場合、クエリは列内の値をスキャンします。これは、用語インデックスで用語を検索するよりも低速です。

その他の演算子の詳細、およびクエリに最適な演算子については、「 datatype 文字列演算子」を参照してください。

構文

T|where大佐has_all(, ... )

構文規則について詳しく知る。

パラメーター

名前 必須 説明
T string ✔️ フィルター処理する表形式の入力。
col string ✔️ フィルター処理の対象となる列。
式 (expression) スカラーまたは表形式 ✔️ 検索する値を指定する式。 各式には、 スカラー値 、または値のセットを生成する 表形式の式 を指定できます。 表形式の式に複数の列がある場合は、最初の列が使用されます。 検索では、最大 256 個の個別の値が考慮されます。

戻り値

述語が true である T 内の行。

スカラーのセット

次のクエリは、スカラー値のコンマ区切りのセットで を使用 has_all する方法を示しています。

StormEvents 
| where EpisodeNarrative has_all ("cold", "strong", "afternoon", "hail")
| summarize Count=count() by EventType
| top 3 by Count

出力

EventType Count
雷雨風 517
ひょう 392
鉄砲水 24

Dynamic array

動的配列表記を使用して、同じ結果を得ることができます。

StormEvents 
| where EpisodeNarrative has_all (dynamic(["cold", "strong", "afternoon", "hail"]))
| summarize Count=count() by EventType
| top 3 by Count

出力

EventType Count
雷雨風 517
ひょう 392
鉄砲水 24

同じクエリを let ステートメントで記述することもできます。

let criteria = dynamic(["cold", "strong", "afternoon", "hail"]);
StormEvents 
| where EpisodeNarrative has_all (criteria)
| summarize Count=count() by EventType
| top 3 by Count
EventType Count
雷雨風 517
ひょう 392
鉄砲水 24