!in 演算子

大文字と小文字の区別*をする文字列*を使用せずに、データのレコード セット*をフィルター*処理します。

次の表*は、in 演算子*の比較を示しています:

演算子 説明 大文字と小文字の区別 例 (true になる)
in 要素のいずれかに等しい はい "abc" in ("123", "345", "abc")
!in 要素のいずれとも等しくない はい "bca" !in ("123", "345", "abc")
in~ 要素のいずれかに等しい いいえ "Abc" in~ ("123", "345", "abc")
!in~ 要素のいずれとも等しくない いいえ "bCa" !in~ ("123", "345", "ABC")

Note

入れ子になった配列は、単一の値リストにフラット化されます。 たとえば、x in (dynamic([1,[2,3]]))x in (1,2,3) にします。

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

大文字と小文字を区別しない演算子は、現在 ASCII テキストでのみサポートされています。 ASCII 以外の比較には、tolower() 関数を使用してください。

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

Note

パフォーマンスは、検索の種類とデータの構造によって異なります。 ベスト プラクティスについては、「クエリのベスト プラクティス」を参照してください。

構文

T|where大佐!in(, ... )

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

パラメーター

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

戻り値

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

スカラーの一覧

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

StormEvents 
| where State !in ("FLORIDA", "GEORGIA", "NEW YORK") 
| count

出力

Count
54291

Dynamic array

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

StormEvents 
| where State !in (dynamic(["FLORIDA", "GEORGIA", "NEW YORK"])) 
| count

出力

Count
54291

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

let states = dynamic(["FLORIDA", "GEORGIA", "NEW YORK"]);
StormEvents 
| where State !in (states)
| summarize count() by State

出力

Count
54291

表形式の式

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

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

出力

State Count
KANSAS 3166
アイオワ州 2337
ネブラスカ 1766
オクラホマ 1716
サウスダコタ 1567
... ...

同じクエリを let ステートメントで記述することもできます。 この場合、最後の例で示した二重かっこは不要であることに注意してください。

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

出力

State Count
KANSAS 3166
アイオワ州 2337
ネブラスカ 1766
オクラホマ 1716
サウスダコタ 1567
... ...