Operatore where
Si applica a: ✅Microsoft Fabric✅Azure Esplora dati✅ Azure Monitor✅Microsoft Sentinel
Filtra una tabella per trovare il subset di righe che soddisfano un predicato.
Gli
where
operatori efilter
sono equivalenti
Sintassi
T | where
Predicate
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
T | string |
✔️ | Input tabulare i cui record devono essere filtrati. |
Predicato | string |
✔️ | Espressione che restituisce un valore bool per ogni riga in T. |
Valori restituiti
Righe in T per cui Predicate è true
.
Nota
Tutte le funzioni di filtro restituiscono false rispetto ai valori Null. Usare funzioni speciali con riconoscimento dei valori Null per scrivere query che gestiscono valori Null.
Suggerimenti per incrementare le prestazioni
Usare confronti semplici tra i nomi di colonna e le costanti. 'Costante' significa costante sulla tabella, quindi
now()
eago()
sono validi, così come i valori scalari assegnati tramite un'istruzionelet
.Ad esempio, preferire
where Timestamp >= ago(1d)
awhere bin(Timestamp, 1d) == ago(1d)
.Prima i termini più semplici: se sono presenti più clausole unite con
and
, inserire prima le clausole che coinvolgono una sola colonna. QuindiTimestamp > ago(1d) and OpId == EventId
è meglio del contrario.
Per altre informazioni, vedere il riepilogo di operatori di stringa disponibili e il riepilogo di operatori numerici disponibili.
Esempi
Confronti degli ordini in base alla complessità
La query seguente restituisce i record delle tempeste che segnalano proprietà danneggiate, sono inondazioni e iniziano e terminano in posizioni diverse.
Si noti che il confronto tra due colonne viene inserito per ultimo, perché l'operatore where non può usare l'indice e forza un'analisi.
StormEvents
| project DamageProperty, EventType, BeginLocation, EndLocation
| where DamageProperty > 0
and EventType == "Flood"
and BeginLocation != EndLocation
La tabella seguente mostra solo i primi 10 risultati. Per visualizzare l'output completo, eseguire la query.
DamageProperty | EventType | BeginLocation | EndLocation |
---|---|---|---|
5000 | Alluvione | FAYETTE CITY LOWBER | |
5000 | Alluvione | MORRISVILLE WEST WAYNESBURG | |
10000 | Alluvione | COPELAND HARRIS GROVE | |
5000 | Alluvione | GLENFORD MT PERRY | |
25000 | Alluvione | EAST SENECA BUFFALO AIRPARK ARPT | |
20000 | Alluvione | EBENEZER SLOAN | |
10000 | Alluvione | BUEL CALHOUN | |
10000 | Alluvione | GOODHOPE WEST MILFORD | |
5000 | Alluvione | FORESTA DUNKIRK | |
20000 | Alluvione | FARMINGTON MANNINGTON |
Controllare se la colonna contiene una stringa
La query seguente restituisce le righe in cui la parola "cow" viene visualizzata in qualsiasi colonna.
StormEvents
| where * has "cow"