The case-sensitive in string operator

Learn how to use the in operator to filter data with a case-sensitive string.

Filters a record set for data with a case-sensitive string.

Performance tips

Syntax

T | where col in (expression,)

Parameters

NameTypeRequiredDescription
Tstring✔️The tabular input to filter.
colstring✔️The column by which to filter.
expressionscalar or tabular✔️An expression that specifies the values for which to search. Each expression can be a scalar value or a tabular expression that produces a set of values. If a tabular expression has multiple columns, the first column is used. The search considers up to 1,000,000 distinct values.

Returns

Rows in T for which the predicate is true.

Examples

List of scalars

The following query shows how to use in with a list of scalar values.

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

Output

Count
4775

Dynamic array

The following query shows how to use in with a dynamic array.

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

Output

Count
3218

Tabular expression

The following query shows how to use in with a tabular expression.

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

The same query can be written with an inline tabular expression statement.

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

Output

Count
14242

Top with other example

The following example identifies the top five states with lightning events and uses the iff() function and in operator to classify lightning events by the top five states, labeled by state name, and all others labeled as “Other.”

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 

Output

Statesum_lightning_events
ALABAMA29
WISCONSIN31
TEXAS55
FLORIDA85
GEORGIA106
Other415

Use a static list returned by a function

The following example counts events from the StormEvents table based on a predefined list of interesting states. The interesting states are defined by the InterestingStates() function.

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

Output

Count
4775

The following query displays which states are considered interesting by the InterestingStates() function.

.show function InterestingStates

Output

NameParametersBodyFolderDocString
InterestingStates(){ dynamic([“WASHINGTON”, “FLORIDA”, “GEORGIA”, “NEW YORK”]) }