Condividi tramite


Operatore in

Si applica a: ✅Microsoft Fabric✅Azure Esplora dati Azure MonitorMicrosoft Sentinel

Filtra un set di record per i dati con una stringa con distinzione tra maiuscole e minuscole.

Nella tabella seguente viene fornito un confronto degli in operatori:

Operatore Descrizione Distinzione maiuscole/minuscole Esempio (restituisce true)
in È uguale a uno degli elementi "abc" in ("123", "345", "abc")
!in Non è uguale a nessuno degli elementi "bca" !in ("123", "345", "abc")
in~ Uguale a uno qualsiasi degli elementi No "Abc" in~ ("123", "345", "abc")
!in~ Non è uguale a nessuno degli elementi No "bCa" !in~ ("123", "345", "ABC")

Nota

Le matrici annidati vengono appiattite in un singolo elenco di valori. Ad esempio, x in (dynamic([1,[2,3]])) diventa x in (1,2,3).

Per altre informazioni su altri operatori e per determinare quale operatore è più appropriato per la query, vedere Operatori stringa tipo di dati.

Gli operatori senza distinzione tra maiuscole e minuscole sono attualmente supportati solo per il testo ASCII. Per il confronto non ASCII, usare la funzione tolower().

Suggerimenti per incrementare le prestazioni

Nota

Quando vengono usati più di 128 termini di ricerca, l'ottimizzazione della ricerca dell'indice di testo è disabilitata, riducendo così le prestazioni delle query.

Nota

Le prestazioni dipendono dal tipo di ricerca e dalla struttura dei dati. Per le procedure consigliate, vedere Procedure consigliate per le query.

Sintassi

T | where col (in expression ...,)

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Digita Obbligatorio Descrizione
T string ✔️ Input tabulare da filtrare.
col string ✔️ Colonna in base alla quale filtrare.
expression scalare o tabulare ✔️ Espressione che specifica i valori per cui eseguire la ricerca. valori per i quali eseguire la ricerca. Ogni espressione può essere un valore scalare o un'espressione tabulare che produce un set di valori. Se un'espressione tabulare contiene più colonne, viene utilizzata la prima colonna. La ricerca considererà fino a 1.000.000 valori distinti.

Nota

Un'espressione tabulare inline deve essere racchiusa tra parentesi doppie. Vedere l'esempio.

Valori restituiti

Righe in T per cui il predicato è true.

Esempi

Elenco di scalari

La query seguente illustra come usare in con un elenco di valori scalari.

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

Output

Count
4775

Matrice dinamica

La query seguente illustra come usare in con una matrice dinamica.

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

Output

Count
3218

Espressione tabulare

La query seguente illustra come usare in con un'espressione tabulare.

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

La stessa query può essere scritta con un'istruzione di espressione tabulare inline.

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

Output

Count
14242

Top con un altro esempio

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

Provincia sum_lightning_events
ALABAMA 29
WISCONSIN 31
TEXAS 55
FLORIDA 85
GEORGIA 106
Altro 415

Usare un elenco statico restituito da una funzione

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

Output

Count
4775

La definizione della funzione.

.show function InterestingStates

Output

Nome Parametri Testo Cartella DocString
InterestingStates () { dynamic(["WASHINGTON", "FLORIDA", "GEORGIA", "NEW YORK"]) }