Compartir a través de


Operador where

Se aplica a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Filtra una tabla para el subconjunto de filas que cumplen un predicado.

Los where operadores y filter son equivalentes

Sintaxis

T | where Predicate

Obtenga más información sobre las convenciones de sintaxis.

Parámetros

Nombre Type Obligatorio Descripción
T string ✔️ Entrada tabular cuyos registros se van a filtrar.
Predicado string ✔️ Expresión que se evalúa como una bool para cada fila de T.

Devoluciones

Las filas de T en las que Predicate es true.

Nota:

Todas las funciones de filtrado devuelven false cuando se comparan con valores NULL. Use funciones especiales compatibles con valores NULL para escribir consultas que controle valores NULL.

Consejos de rendimiento

  • Use comparaciones simples entre los nombres de columna y las constantes. ("Constant" significa constante de la tabla, por lo que now() y ago() son correctos, y también lo son los valores escalares asignados mediante una cláusula let).

    Por ejemplo, se prefiere where Timestamp >= ago(1d) a where bin(Timestamp, 1d) == ago(1d).

  • Primero los términos más simples: si tiene varias cláusulas unidas con and, coloque primero las cláusulas que impliquen una sola columna. Así pues, es mejor usar Timestamp > ago(1d) and OpId == EventId que al revés.

Para obtener más información, consulte el resumen de operadores de cadena disponibles y el resumen de operadores numéricos disponibles.

Ejemplos

Comparaciones de pedidos por complejidad

La consulta siguiente devuelve registros de tormenta que notifican la propiedad dañada, son inundaciones y comienzan y terminan en diferentes lugares.

Observe que colocamos la comparación entre dos columnas por última vez, ya que el operador where no puede usar el índice y fuerza un examen.

StormEvents
| project DamageProperty, EventType, BeginLocation, EndLocation
| where DamageProperty > 0
    and EventType == "Flood"
    and BeginLocation != EndLocation 

En la tabla siguiente solo se muestran los 10 resultados principales. Para ver la salida completa, ejecute la consulta.

DamageProperty EventType BeginLocation EndLocation
5000 Inundación FAYETTE CITY LOWBER
5000 Inundación MORRISVILLE WEST WAYNESBURG
10 000 Inundación COPELAND HARRIS GROVE
5000 Inundación GLENFORD MT PERRY
25000 Inundación EAST SENECA BUFFALO AIRPARK ARPT
20000 Inundación EBENEZER SLOAN
10 000 Inundación BUEL CALHOUN
10 000 Inundación GOODHOPE WEST MILFORD
5000 Inundación BOSQUE DUNKIRK
20000 Inundación FARMINGTON MANNINGTON

Comprobación de si la columna contiene una cadena

La consulta siguiente devuelve las filas en las que aparece la palabra "cow" en cualquier columna.

StormEvents
| where * has "cow"