Redacción de consultas SQL
Dashboard Studio utiliza SQL para recuperar datos de los esquemas de IoT Query. Usted escribe SQL en dos contextos: los editores de paneles, donde las sentencias alimentan las visualizaciones, y el Editor SQL independiente para la exploración de datos. Esta página explica cómo escribir SQL efectivo para ambos contextos, con énfasis en los requisitos de visualización ya que tienen restricciones estructurales específicas.
Dónde se usa SQL
Dashboard Studio proporciona dos entornos SQL para diferentes propósitos. Entender cuándo usar cada uno le ayuda a trabajar de forma más eficiente.
Consultas de visualización alimentan paneles individuales en los informes. Usted escribe estas sentencias en la pestaña SQL Query del editor de panel. Cada panel ejecuta una sentencia que debe devolver datos con una estructura específica que coincida con el tipo de visualización. Estas sentencias se ejecutan cuando los informes se cargan o actualizan, por lo que el rendimiento influye en la experiencia del usuario. El SQL para visualizaciones no puede modificar datos; todas las sentencias se ejecutan como operaciones SELECT de solo lectura contra los esquemas de IoT Query.
Editor SQL soporta la exploración y exportación de datos. Acceda al Editor SQL desde la barra lateral izquierda bajo Herramientas. Escriba cualquier sentencia SELECT para examinar la estructura de los datos, validar suposiciones o exportar resultados como CSV. El Editor SQL muestra tablas de resultados completas con ordenamiento de columnas y proporciona métricas de ejecución. Use esto para probar la lógica antes de añadir SQL a los paneles de visualización, o para extracción ad-hoc de datos que no necesita visualización.
La diferencia clave: el SQL de visualización debe coincidir con estructuras de columnas exactas, mientras que las sentencias en el Editor SQL pueden devolver cualquier formato de resultado. Pruebe la lógica compleja primero en el Editor SQL y luego adáptela para las visualizaciones.
Cómo escribir SQL para visualizaciones

El SQL de visualización debe devolver conteos de columnas y tipos de datos específicos. Dashboard Studio no puede renderizar un gráfico de barras a partir de tres columnas ni una ficha estadística a partir de datos de texto. Revise la sección Requisitos del conjunto de datos en la pestaña SQL Query para ver exactamente lo que su visualización elegida espera antes de escribir la sentencia. La tabla a continuación contiene los tipos de visualización compatibles:
Dos columnas: categoría, valor
SELECT column1, COUNT(*) FROM schema.table GROUP BY column1
Dos columnas: etiqueta, valor
SELECT category, SUM(value) FROM schema.table GROUP BY category
Fichas estadísticas
Las fichas estadísticas muestran valores numéricos únicos. Las sentencias deben devolver exactamente una fila con una columna numérica:
El nombre de la columna no importa, solo que el resultado sea un único valor numérico. Dashboard Studio muestra este valor con el formato que usted configure en Configuración de visualización.
Gráficos de barras
Los gráficos de barras requieren exactamente dos columnas: categoría (texto o fecha) y valor (numérico). La primera columna se convierte en el eje X, la segunda en la altura de las barras:
Use ORDER BY para controlar la secuencia de las barras. Ordene por valor para comparaciones clasificadas o por categoría para progresiones de series temporales.
Gráficos de pastel
Los gráficos de pastel requieren exactamente dos columnas: etiqueta (texto) y valor (numérico). La primera columna se convierte en las etiquetas de las porciones, la segunda determina el tamaño de las porciones:
Añada cláusulas LIMIT para categorías con muchos valores. Los gráficos de pastel con más de 20 porciones se vuelven ilegibles; limite a las 10-15 principales categorías.
Tablas
Las tablas aceptan cualquier número de columnas con cualquier tipo de dato. Seleccione las columnas que desea mostrar:
Los nombres de columna se convierten en los encabezados de la tabla. Use alias con espacios para encabezados legibles: distance_km as "Distance (km)".
Paneles de texto
Los paneles de texto muestran valores de texto únicos o cadenas formateadas. Las sentencias deben devolver una columna de texto:
Cómo usar variables globales
Las variables globales proporcionan valores reutilizables en múltiples sentencias SQL. Defina variables en Settings > Configuration > Global Variables, luego haga referencia a ellas usando ${variable_name} sintaxis.

Defina variables para valores que cambian periódicamente pero permanecen consistentes en varios paneles: rangos de fechas de análisis, filtros por tipo de vehículo o valores umbral. Cuando estos valores cambien, actualice la definición de la variable una vez en lugar de editar sentencias SQL individuales.
Las variables almacenan valores de texto. Conviértalas al tipo apropiado en SQL: '${variable_name}'::date para fechas, '${variable_name}'::integer para números.
Para parámetros específicos de una sentencia que cambian con frecuencia, puede usar bloques CTE de parámetros al inicio:
Este patrón combina variables globales (rangos de fechas) con parámetros específicos de la sentencia (umbrales), manteniendo todos los valores ajustables en la parte superior para facilitar el mantenimiento.
Cómo acceder a los esquemas de IoT Query
IoT Query organiza los datos en capas Bronze, Silver y Gold. Entender qué capa usar ahorra tiempo y mejora la claridad del SQL. Para detalles completos del esquema, vea el IoT Query Schema Overview.
Capa Bronze contiene puntos de rastreo sin procesar de los dispositivos: bronze.tracking_data_core almacena cada posición GPS con marcas temporales, coordenadas y lecturas de sensores. Use Bronze para análisis a nivel de punto o cuando necesite valores de sensores sin procesar que no estén transformados en capas superiores.
Capa Silver proporciona entidades procesadas: silver.trips agrega puntos de rastreo en registros de viaje con tiempos de inicio/fin, distancia y duración. silver.zone_visits registra cuando los dispositivos entran y salen de geocercas. silver.idle_events identifica periodos en los que los vehículos permanecen inmóviles con el motor en marcha. Use Silver para la mayoría de las necesidades de visualización ya que proporciona estructuras listas para análisis.
Capa Gold ofrece métricas preagregadas y modelos dimensionales para análisis complejos. Use Gold para estadísticas a nivel de flota o análisis multidimensional que requerirían joins complejos contra tablas Silver.
Referencie tablas usando schema.table formato: silver.trips, no solo trips. Incluya filtros de rango de fechas en las cláusulas WHERE para limitar los datos escaneados:
La mayoría de las sentencias SQL filtran por dispositivo, rango de tiempo o ambos. Añada estos filtros al inicio de las cláusulas WHERE para reducir el volumen de datos procesados.
Cómo usar el Editor SQL
Acceda al Editor SQL desde la barra lateral izquierda bajo Herramientas. Úselo para tres propósitos principales: probar la lógica antes de añadirla a los paneles, explorar esquemas de datos para entender las columnas disponibles y exportar datos que no necesitan visualización.

El Editor SQL soporta múltiples pestañas para diferentes sentencias. Escriba SQL en pestañas, ejecútelas con el botón "Execute Query" y vea los resultados en la tabla inferior. Los resultados muestran métricas de ejecución (tiempo de ejecución, filas devueltas) y permiten ordenar columnas para un examen rápido de los datos.
Exporte resultados como CSV usando el botón "Export CSV". Esto funciona para informes ad-hoc o extractos de datos para análisis externos. El Editor SQL no tiene límite de filas de resultado, a diferencia del SQL de visualización que debe devolver conjuntos de datos focalizados.
Pruebe el SQL de visualización en el Editor SQL antes de añadirlo a los paneles. Escriba la sentencia, verifique que devuelve las columnas y tipos de datos esperados, y luego cópiela a la pestaña SQL Query del editor de panel. Este flujo detecta problemas estructurales antes de configurar las opciones de visualización.
Patrón de exploración para datos nuevos:
Patrones SQL comunes
La mayoría del SQL de visualización sigue patrones similares. Copie estas estructuras y ajuste filtros, columnas y agregaciones para sus necesidades específicas.
Qué hacer cuando el SQL falla
Los fallos de ejecución se dividen en tres categorías: desajustes estructurales con los requisitos de visualización, errores de sintaxis SQL o filtros que devuelven sin datos.
Desajustes en la estructura de columnas
Ocurren cuando los resultados no coinciden con las expectativas de la visualización. Si seleccionó un gráfico de barras pero su SQL devuelve tres columnas, Dashboard Studio no puede renderizarlo. Consulte Requisitos del conjunto de datos en la pestaña SQL Query. El gráfico de barras necesita exactamente dos columnas (categoría, valor), así que ajuste su cláusula SELECT:
Errores de sintaxis SQL
Muestran mensajes de error específicos. Los problemas comunes incluyen prefijos de esquema faltantes (trips en lugar de silver.trips), errores tipográficos en los nombres de columna o conversión de fechas incorrecta. Pruebe las sentencias en el Editor SQL para ver mensajes de error detallados con números de línea.
Resultados vacíos
A pesar de la ejecución exitosa indican que los filtros excluyen todos los datos. Pruebe el SQL sin cláusulas WHERE en el Editor SQL para verificar que la tabla contiene datos, luego añada filtros incrementalmente para identificar cuál condición excluye los resultados esperados.
Problemas de rendimiento
Si las sentencias se ejecutan lentamente o agotan el tiempo, añada filtros de rango de fechas a las cláusulas WHERE. Las operaciones que escanean tablas completas procesan millones de filas innecesariamente:
Para orientación adicional sobre rendimiento, vea Cómo acceder a los esquemas de IoT Query para mejores prácticas sobre filtrado y selección de esquemas.
Dónde encontrar ejemplos de SQL
El SQL Recipe Book proporciona ejemplos completos para análisis telemáticos comunes. Estas recetas demuestran patrones para análisis de viajes, cálculos de visitas a zonas, detección de inactividad y métricas de flota. Cada receta incluye la sentencia SQL completa, explicación de la lógica y resultados de ejemplo.
Adapte los ejemplos del Recipe Book para visualizaciones ajustando la cláusula SELECT para que coincida con los requisitos de visualización. Una receta que devuelve registros detallados de viajes puede convertirse en un gráfico de barras añadiendo GROUP BY y la agregación COUNT. Una sentencia que calcula métricas por vehículo puede convertirse en una ficha estadística añadiendo SUM a través de todos los vehículos.
Solo necesita:
Copiar ejemplos desde Recipe Book al Editor de Dashboard Studio.
Probar con sus datos reales.
Verificar resultados, luego modificar la cláusula SELECT para su visualización objetivo.
La lógica principal de WHERE y JOIN permanece igual; usted ajusta solo la estructura de salida.
Para detalles del esquema, consulte el IoT Query Schema Overview. Esta referencia explica las tablas disponibles, definiciones de columnas y relaciones entre las capas Bronze, Silver y Gold.
Última actualización
¿Te fue útil?