Udostępnij za pośrednictwem


!in, operator

Dotyczy: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Filtruje zestaw rekordów dla danych bez ciągu z uwzględnieniem wielkości liter.

Poniższa tabela zawiera porównanie operatorów in :

Operator opis Uwzględniana wielkość liter Przykład (plony true)
in Równa się jednemu z elementów Tak "abc" in ("123", "345", "abc")
!in Nie równa się żadnej z elementów Tak "bca" !in ("123", "345", "abc")
in~ Równa się dowolnemu elementowi Nie. "Abc" in~ ("123", "345", "abc")
!in~ Nie równa się żadnej z elementów Nie. "bCa" !in~ ("123", "345", "ABC")

Uwaga

Zagnieżdżone tablice są spłaszczone w jedną listę wartości. Na przykład, x in (dynamic([1,[2,3]])) staje się x in (1,2,3).

Aby uzyskać więcej informacji na temat innych operatorów i określić, który operator jest najbardziej odpowiedni dla zapytania, zobacz operatory ciągów typu danych.

Operatory bez uwzględniania wielkości liter są obecnie obsługiwane tylko w przypadku tekstu ASCII. W przypadku porównania innego niż ASCII użyj funkcji tolower().

Wskazówki dotyczące wydajności

Uwaga

Wydajność zależy od typu wyszukiwania i struktury danych. Aby uzyskać najlepsze rozwiązania, zobacz Najlepsze rozwiązania dotyczące zapytań.

Składnia

Wyrażenie kolumny ( !in T ... | where ,)

Dowiedz się więcej na temat konwencji składni.

Parametry

Nazwisko Type Wymagania opis
T string ✔️ Dane wejściowe tabelaryczne do filtrowania.
Col string ✔️ Kolumna, według której ma być filtrowany.
wyrażenie skalarny lub tabelaryczny ✔️ Wyrażenie określające wartości, dla których mają być wyszukiwane. Każde wyrażenie może być wartością skalarną lub wyrażeniem tabelarycznym tworzącym zestaw wartości. Jeśli wyrażenie tabelaryczne zawiera wiele kolumn, zostanie użyta pierwsza kolumna. Wyszukiwanie będzie uwzględniać maksymalnie 1000 000 unikatowych wartości.

Zwraca

Wiersze w języku T , dla których predykat to true.

Przykład

Lista skalarów

Poniższe zapytanie pokazuje, jak używać !in z rozdzielaną przecinkami listą wartości skalarnych.

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

Wyjście

Count
54291

Tablica dynamiczna

Poniższe zapytanie pokazuje, jak używać z !in tablicą dynamiczną.

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

Wyjście

Count
54291

To samo zapytanie można również napisać za pomocą instrukcji let.

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

Wyjście

Count
54291

Wyrażenie tabelaryczne

Poniższe zapytanie pokazuje, jak używać z !in wbudowanym wyrażeniem tabelarycznym. Zwróć uwagę, że wbudowane wyrażenie tabelaryczne musi być ujęte w nawiasy podwójne.

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

Wyjście

Stan Count
KANSAS 3166
IOWA 2337
NEBRASKA 1766
OKLAHOMA 1716
SOUTH DAKOTA 1567
... ...

To samo zapytanie można również napisać za pomocą instrukcji let. Zwróć uwagę, że podwójne nawiasy, jak podano w ostatnim przykładzie, nie są w tym przypadku konieczne.

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

Wyjście

Stan Count
KANSAS 3166
IOWA 2337
NEBRASKA 1766
OKLAHOMA 1716
SOUTH DAKOTA 1567
... ...