次の方法で共有


has_any 演算子

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

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

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

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

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

構文

T|wherecolhas_any(, ... )

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

パラメーター

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

インライン表形式の式は、二重かっこで囲む必要があります。

返品

述語が である true 内の行。

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

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

出力

都道府県 数える_
ニューヨーク州 1750
ノースカロライナ 1721
サウスダコタ 1567
ニュージャージー 1044
サウスカロライナ 915
ノースダコタ 905
ニューメキシコ 5:27
ニューハンプシャー 394

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

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

出力

都道府県 数える_
ノースカロライナ 1721
サウスダコタ 1567
サウスカロライナ 915
ノースダコタ 905
アトランティック サウス 193
北大西洋 188

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

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

出力

都道府県 数える_
ノースカロライナ 1721
サウスダコタ 1567
サウスカロライナ 915
ノースダコタ 905
アトランティック サウス 193
北大西洋 188

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

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

出力

都道府県 数える_
テキサス州 4701
イリノイ州 2022
ミズーリ州 2016
ジョージア 1983
ミネソタ 1881
... ...

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

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

出力

都道府県 数える_
テキサス州 4701
イリノイ州 2022
ミズーリ州 2016
ジョージア 1983
ミネソタ 1881
... ...