Sdílet prostřednictvím


operátor in

Platí pro: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Filtruje sadu záznamů pro data pomocí řetězce citlivého na malá a velká písmena.

Následující tabulka obsahuje porovnání in operátorů:

Operátor Popis Rozlišovat malá a velká písmena Příklad (výnosy true)
in Rovná se jednomu z prvků. Ano "abc" in ("123", "345", "abc")
!in Nerovná se žádnému z prvků. Ano "bca" !in ("123", "345", "abc")
in~ Rovná se některému z prvků. No "Abc" in~ ("123", "345", "abc")
!in~ Nerovná se žádnému z prvků. No "bCa" !in~ ("123", "345", "ABC")

Poznámka:

Vnořené matice jsou zploštěny do jednoho seznamu hodnot. Například z x in (dynamic([1,[2,3]])) se stane x in (1,2,3).

Další informace o jiných operátorech a určení, který operátor je pro váš dotaz nejvhodnější, najdete v tématu operátory řetězce datového typu.

Operátory nerozlišující malá a velká písmena se v současné době podporují jenom pro text ASCII. Pro porovnání jiného typu než ASCII použijte funkci tolower().

Tipy týkající se výkonu

Poznámka:

Pokud se používá více než 128 hledaných termínů, je optimalizace vyhledávání v textovém indexu zakázaná, což může vést ke snížení výkonu dotazů.

Poznámka:

Výkon závisí na typu vyhledávání a struktuře dat. Osvědčené postupy najdete v tématu Osvědčené postupy pro dotazy.

Syntaxe

Výraz T|wherecol ...in(,)

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Type Požadováno Popis
T string ✔️ Tabulkový vstup pro filtrování.
průsmyk string ✔️ Sloupec, podle kterého chcete filtrovat.
výraz skalární nebo tabulkový ✔️ Výraz, který určuje hodnoty, pro které se mají hledat. Každý výraz může být skalární hodnota nebo tabulkový výraz , který vytváří sadu hodnot. Pokud má tabulkový výraz více sloupců, použije se první sloupec. Hledání považuje až 1 000 000 jedinečných hodnot.

Návraty

Řádky v T , pro které je truepredikát .

Příklady

Seznam skalárů

Následující dotaz ukazuje, jak se používá in se seznamem skalárních hodnot.

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

Výstup

Počet
4775

Dynamické pole

Následující dotaz ukazuje, jak se používá in s dynamickým polem.

let states = dynamic(['FLORIDA', 'ATLANTIC SOUTH', 'GEORGIA']);
StormEvents 
| where State in (states)
| count

Výstup

Počet
3218

Tabulkový výraz

Následující dotaz ukazuje, jak se používá in s tabulkovým výrazem.

let Top_5_States = 
    StormEvents
    | summarize count() by State
    | top 5 by count_; 
StormEvents 
| where State in (Top_5_States) 
| count

Stejný dotaz lze napsat pomocí vloženého tabulkového výrazu.

StormEvents 
| where State in (
    StormEvents
    | summarize count() by State
    | top 5 by count_
    ) 
| count

Výstup

Počet
14242

Nahoře s jiným příkladem

Následující příklad identifikuje prvních pět stavů s bleskovými událostmi a používá funkci iff() a operátor in ke klasifikaci událostí blesku podle prvních pěti stavů, označených názvem státu a všech ostatních označených jako "Ostatní".

let Lightning_By_State = materialize(StormEvents
    | summarize lightning_events = countif(EventType == 'Lightning') by State);
let Top_5_States = Lightning_By_State | top 5 by lightning_events | project State; 
Lightning_By_State
| extend State = iff(State in (Top_5_States), State, "Other")
| summarize sum(lightning_events) by State 

Výstup

State sum_lightning_events
ALABAMA 29
WISCONSIN 31
TEXAS 55
FLORIDA 85
GEORGIA 106
Jiný důvod 415

Použití statického seznamu vráceného funkcí

Následující příklad počítá události z tabulky StormEvents na základě předdefinovaného seznamu zajímavých stavů. Zajímavé stavy jsou definovány funkcí InterestingStates().

StormEvents 
| where State in (InterestingStates()) 
| count

Výstup

Počet
4775

Následující dotaz zobrazí, které stavy jsou považovány za zajímavé funkcí InterestingStates().

.show function InterestingStates

Výstup

Název Parametry Text Složka DocString
Zajímavé stavy () { dynamic(["WASHINGTON"; "FLORIDA", "GEORGIA", "NEW YORK"]) }