in – operátor

Filtruje sadu záznamů pro data pomocí řetězce s rozlišováním velkých a malých písmen.

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

Operátor Popis Case-Sensitive Příklad (výnosy true)
in Rovná se jednomu z prvků Yes "abc" in ("123", "345", "abc")
!in Nerovná se žádnému z prvků. Yes "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á pole se zploštějí do jednoho seznamu hodnot. Například se změní na x in (dynamic([1,[2,3]]))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ězců datových typů.

Operátory nerozlišující malá a velká písmena jsou v současné době podporovány pouze pro text ASCII. Pro porovnání jiných než ASCII použijte funkci tolower().

Tipy pro zvýšení výkonu

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.

Syntax

T|whereColin(Výraz, ... )

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

Parametry

Název Typ Vyžadováno Popis
T string ✔️ Tabulkový vstup pro filtrování.
Col string ✔️ Sloupec, podle kterého chcete filtrovat.
expression skalární nebo tabulkové ✔️ Výraz, který určuje hodnoty, které se mají hledat. hodnoty, které se mají hledat. Každý výraz může být skalární hodnotou nebo tabulkovým výrazem , který vytváří sadu hodnot. Pokud má tabulkový výraz více sloupců, použije se první sloupec. Při hledání se bere v úvahu až 1 000 000 jedinečných hodnot.

Poznámka

Vložený tabulkový výraz musí být uzavřený do dvojitých závorek. Viz příklad.

Návraty

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

Příklady

Seznam skalárů

Následující dotaz ukazuje použití se in 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 použití 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 zapsat pomocí vloženého příkazu tabulkového výrazu.

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

Výstup

Počet
14242

Top with other example

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

Stav sum_lightning_events
ALABAMA 29
WISCONSIN 31
TEXAS 55
FLORIDA 85
GRUZIE 106
Jiné 415

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

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

Výstup

Počet
4775

Definice funkce.

.show function InterestingStates

Výstup

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