Partager via


!in, opérateur

S’applique à : ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Filtre un jeu d’enregistrements pour les données sans chaîne sensible à la casse.

Le tableau suivant fournit une comparaison des in opérateurs :

Opérateur Description Respecte la casse Exemple (génère true)
in Égal à l’un des éléments Oui "abc" in ("123", "345", "abc")
!in N’est égal à aucun des éléments Oui "bca" !in ("123", "345", "abc")
in~ Est égal à l’un des éléments Non "Abc" in~ ("123", "345", "abc")
!in~ N’est égal à aucun des éléments Non "bCa" !in~ ("123", "345", "ABC")

Remarque

Les tableaux imbriqués sont aplatis en une seule liste de valeurs. Par exemple, x in (dynamic([1,[2,3]])) devient x in (1,2,3).

Pour plus d’informations sur d’autres opérateurs et pour déterminer l’opérateur le plus approprié pour votre requête, consultez les opérateurs de chaîne de type de données.

Les opérateurs insensibles à la casse sont actuellement pris en charge uniquement pour le texte ASCII. Pour une comparaison non-ASCII, utilisez la fonction tolower().

Astuces pour les performances

Remarque

Les performances dépendent du type de recherche et de la structure des données. Pour connaître les meilleures pratiques, consultez les meilleures pratiques relatives aux requêtes.

Syntaxe

Expression T | where col ... !in (,)

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Requise Description
T string ✔️ Entrée tabulaire à filtrer.
col string ✔️ Colonne par laquelle filtrer.
expression scalaire ou tabulaire ✔️ Expression qui spécifie les valeurs pour lesquelles effectuer une recherche. Chaque expression peut être une valeur scalaire ou une expression tabulaire qui produit un ensemble de valeurs. Si une expression tabulaire a plusieurs colonnes, la première colonne est utilisée. La recherche prend en compte jusqu’à 1 000 000 valeurs distinctes.

Retours

Lignes dans T dont le prédicat est défini sur true.

Exemple

Liste des scalaires

La requête suivante montre comment utiliser !in avec une liste séparée par des virgules de valeurs scalaires.

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

Sortie

Count
54291

Tableau dynamique

La requête suivante montre comment utiliser !in avec un tableau dynamique.

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

Sortie

Count
54291

La même requête peut également être écrite avec une instruction let.

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

Sortie

Count
54291

Expression tabulaire

La requête suivante montre comment utiliser !in avec une expression tabulaire inline. Notez qu’une expression tabulaire inline doit être placée entre parenthèses doubles.

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

Sortie

State Count
KANSAS 3166
IOWA 2337
NEBRASKA 1766
OKLAHOMA 1716
DAKOTA DU SUD 1 567
... ...

La même requête peut également être écrite avec une instruction let. Notez que les parenthèses doubles fournies dans le dernier exemple ne sont pas nécessaires dans ce cas.

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

Sortie

State Count
KANSAS 3166
IOWA 2337
NEBRASKA 1766
OKLAHOMA 1716
DAKOTA DU SUD 1 567
... ...