(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa

Cómo filtrar datos con el operador where en KQL: ejemplo

João Barros 05 de July de 2026 4 min de lectura

El operador where es la forma más común de filtrar datos en KQL: conserva solo las filas que cumplen una condición y descarta el resto. Como las tablas de Real-Time Analytics crecen cada segundo, un buen filtro es la diferencia entre una consulta rápida y otra que recorre millones de registros sin necesidad. A continuación verás ejemplos prácticos con números, texto y fechas.

Requisitos previos

  • Una base de datos KQL en Microsoft Fabric (Real-Time Intelligence) o en Azure Data Explorer.
  • Una tabla con datos para consultar. En los ejemplos usamos una tabla Telemetria con las columnas Timestamp, SensorId, Regiao y Temperatura.
  • Nociones básicas de cómo abrir un KQL Queryset y ejecutar una consulta.

Paso 1: Filtrar por un valor numérico

Empieza por el caso más sencillo: mostrar solo las lecturas en las que la temperatura supera los 30 grados. Escribe el nombre de la tabla, el pipe | y la condición después de where.

Telemetria
| where Temperatura > 30

El resultado tiene exactamente las mismas columnas que la tabla original, pero solo con las filas donde la condición es verdadera. Puedes usar los operadores >, >=, <, <=, == (igual) y != (distinto).

Paso 2: Combinar varias condiciones

Para aplicar más de un criterio a la vez, une las condiciones con and (todas deben ser verdaderas) u or (basta con una). Así puedes, por ejemplo, aislar las temperaturas altas de una sola región.

Telemetria
| where Temperatura > 30 and Regiao == "Norte"

Puedes encadenar varios where seguidos: el efecto es el mismo que usar and y a menudo resulta más legible.

Telemetria
| where Temperatura > 30
| where Regiao == "Norte"

Paso 3: Filtrar texto (has, contains y startswith)

Al filtrar columnas de texto, el operador que elijas afecta al rendimiento. El operador has busca palabras completas y usa el índice de términos, por lo que es rápido. El contains busca cualquier fragmento de texto (una subcadena); es más flexible pero más lento, porque recorre todos los valores.

Telemetria
| where SensorId has "porta"
| where Regiao startswith "N"

Buena práctica: prefiere has siempre que busques una palabra completa; reserva contains para cuando de verdad necesites parte de una palabra. Cuidado con las mayúsculas: == distingue mayúsculas de minúsculas, mientras que =~ y el propio has las ignoran.

Paso 4: Filtrar por fecha y hora

En Real-Time Analytics es muy habitual querer solo los datos más recientes. La función ago() se refiere a un periodo contando desde ahora: ago(1h) significa "hace una hora".

Telemetria
| where Timestamp > ago(1h)

Para un intervalo fijo, usa between con dos fechas. El operador .. separa el inicio del final.

Telemetria
| where Timestamp between (datetime(2026-07-01) .. datetime(2026-07-05))

Paso 5: Filtrar pronto para ganar velocidad

El orden importa. Coloca where lo más pronto posible en la consulta, antes de join, summarize o sort. Al reducir enseguida el número de filas, todas las operaciones siguientes trabajan sobre menos datos y la consulta se ejecuta más rápido.

Telemetria
| where Timestamp > ago(24h) and Temperatura > 30
| summarize Leituras = count() by Regiao

Comprobar el resultado

Para confirmar que el filtro funcionó, cuenta las filas antes y después. Ejecuta primero la tabla solo con | count y luego con tu where seguido de | count: el segundo número debería ser menor. También puedes usar | take 10 para ver una muestra y confirmar que todas las filas cumplen la condición que definiste.

Telemetria
| where Temperatura > 30
| count

Conclusión

Ya sabes filtrar datos en KQL por números, texto y fechas, y por qué el orden y la elección entre has y contains marcan la diferencia. El siguiente paso natural es combinar where con summarize para agregar los datos filtrados, o con render para visualizarlos en un gráfico. ¿Cuál será el primer filtro que necesitas aplicar a tus datos de telemetría?