次の方法で共有


has_any 演算子

適用対象: ✅Microsoft FabricAzure データ エクスプローラーAzure MonitorMicrosoft Sentinel

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

他の演算子の詳細と、クエリに最も適した演算子を確認するには、データ型文字列演算子に関するページを参照してください。

パフォーマンスに関するヒント

Note

128 を超える検索用語を使用すると、テキスト インデックス検索の最適化が無効になり、クエリのパフォーマンスが低下する可能性があります。

構文

T | where col has_any (expression, ... )

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

パラメーター

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

Note

インライン表形式の式は、二重かっこで囲む必要があります。 を参照してください。

返品

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

スカラーの一覧

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

StormEvents 
| where State has_any ("CAROLINA", "DAKOTA", "NEW") 
| summarize count() by State

出力

都道府県 count_
NEW YORK 1750
ノースカロライナ 1721
SOUTH DAKOTA 1567
ニュージャージー 1044
サウスカロライナ 915
ノースダコタ 905
ニューメキシコ 5:27
ニューハンプシャー 394

Dynamic array

次のクエリは、動的配列で has_any を使用する方法を示しています。

StormEvents 
| where State has_any (dynamic(['south', 'north']))
| summarize count() by State

出力

都道府県 count_
ノースカロライナ 1721
SOUTH DAKOTA 1567
サウスカロライナ 915
ノースダコタ 905
ATLANTIC SOUTH 193
北大西洋 188

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

let areas = dynamic(['south', 'north']);
StormEvents 
| where State has_any (areas)
| summarize count() by State

出力

都道府県 count_
ノースカロライナ 1721
SOUTH DAKOTA 1567
サウスカロライナ 915
ノースダコタ 905
ATLANTIC SOUTH 193
北大西洋 188

表形式の式

次のクエリは、インラインテーブル式で has_any を使用する方法を示しています。 インライン表形式の式は、二重かっこで囲む必要があることに注意してください。

StormEvents 
| where State has_any ((PopulationData | where Population > 5000000 | project State))
| summarize count() by State

出力

都道府県 count_
テキサス州 4701
ILLINOIS 2022
MISSOURI 2016
ジョージア 1983
ミネソタ 1881
... ...

同じクエリを let ステートメントで記述することもできます。 この場合、前の例で示した二重かっこは必要ありません。

let large_states = PopulationData | where Population > 5000000 | project State;
StormEvents 
| where State has_any (large_states)
| summarize count() by State

出力

都道府県 count_
テキサス州 4701
ILLINOIS 2022
MISSOURI 2016
ジョージア 1983
ミネソタ 1881
... ...