!in~, opérateur
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Filtre un jeu d’enregistrements pour les données sans chaîne non 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.
Si possible, utilisez la casse !in.
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 |
---|
54,291 |
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 |
... | ... |