has_any 演算子
適用対象: ✅Microsoft Fabric✅Azure データ エクスプローラー✅Azure Monitor✅Microsoft 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 |
... | ... |