operator has_any
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Filtruje zestaw rekordów dla danych przy użyciu dowolnego zestawu ciągów bez uwzględniania wielkości liter. has_any
wyszukuje indeksowane terminy, w których indeksowany termin ma co najmniej trzy znaki. Jeśli termin ma mniej niż trzy znaki, zapytanie skanuje wartości w kolumnie, co jest wolniejsze niż wyszukiwanie terminu w indeksie terminów.
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.
Wskazówki dotyczące wydajności
Uwaga
Gdy jest używanych więcej niż 128 terminów wyszukiwania, optymalizacja wyszukiwania indeksu tekstowego jest wyłączona, co może prowadzić do zmniejszenia wydajności zapytań.
Składnia
Wyrażenie kolumny (
has_any
T ... |
where
,
)
Dowiedz się więcej na temat konwencji składni.
Parametry
Uwaga
Wbudowane wyrażenie tabelaryczne musi być ujęte w nawiasy podwójne. Zobacz przykład.
Zwraca
Wiersze w języku T , dla których predykat to true
.
Przykłady
Lista skalarów
Poniższe zapytanie pokazuje, jak używać has_any
z rozdzielaną przecinkami listą wartości skalarnych.
StormEvents
| where State has_any ("CAROLINA", "DAKOTA", "NEW")
| summarize count() by State
Wyjście
Stan | liczba_ |
---|---|
NEW YORK | 1750 |
NORTH CAROLINA | 1721 |
SOUTH DAKOTA | 1567 |
NEW JERSEY | 1044 |
SOUTH CAROLINA | 915 |
DAKOTA PÓŁNOCNA | 905 |
NOWY MEKSYK | 527 |
NEW HAMPSHIRE | 394 |
Tablica dynamiczna
Poniższe zapytanie pokazuje, jak używać z has_any
tablicą dynamiczną.
StormEvents
| where State has_any (dynamic(['south', 'north']))
| summarize count() by State
Wyjście
Stan | liczba_ |
---|---|
NORTH CAROLINA | 1721 |
SOUTH DAKOTA | 1567 |
SOUTH CAROLINA | 915 |
DAKOTA PÓŁNOCNA | 905 |
POŁUDNIE ATLANTYCKIE | 193 |
PÓŁNOC ATLANTYCKIA | 188 |
To samo zapytanie można również napisać za pomocą instrukcji let.
let areas = dynamic(['south', 'north']);
StormEvents
| where State has_any (areas)
| summarize count() by State
Wyjście
Stan | liczba_ |
---|---|
NORTH CAROLINA | 1721 |
SOUTH DAKOTA | 1567 |
SOUTH CAROLINA | 915 |
DAKOTA PÓŁNOCNA | 905 |
POŁUDNIE ATLANTYCKIE | 193 |
PÓŁNOC ATLANTYCKIA | 188 |
Wyrażenie tabelaryczne
Poniższe zapytanie pokazuje, jak używać z has_any
wbudowanym wyrażeniem tabelarycznym. Zwróć uwagę, że wbudowane wyrażenie tabelaryczne musi być ujęte w nawiasy podwójne.
StormEvents
| where State has_any ((PopulationData | where Population > 5000000 | project State))
| summarize count() by State
Wyjście
Stan | liczba_ |
---|---|
TEKSAS | 4701 |
ILLINOIS | 2022 |
MISSOURI | 2016 |
GEORGIA | 1983 |
MINNESOTA | 1881 |
... | ... |
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 has_any (large_states)
| summarize count() by State
Wyjście
Stan | liczba_ |
---|---|
TEKSAS | 4701 |
ILLINOIS | 2022 |
MISSOURI | 2016 |
GEORGIA | 1983 |
MINNESOTA | 1881 |
... | ... |