Escritura de consultas SQL
Dashboard Studio utiliza SQL para recuperar datos de los esquemas de IoT Query. Usted escribe SQL en dos contextos: editores de paneles, donde las sentencias impulsan visualizaciones, y el SQL Editor independiente para la exploración de datos. Esta página explica cómo escribir SQL eficaz para ambos contextos, con énfasis en los requisitos de visualización, ya que tienen restricciones estructurales específicas.
Dónde se utiliza SQL
Dashboard Studio proporciona dos entornos SQL para diferentes propósitos. Comprender cuándo usar cada uno le ayuda a trabajar de manera más eficiente.
Consultas de visualización impulsan paneles individuales en informes. Usted escribe estas sentencias en la pestaña Consulta SQL tab. Cada panel ejecuta una sentencia que debe devolver datos en una estructura específica que coincida con el tipo de visualización. Estas sentencias se ejecutan cuando los informes se cargan o se actualizan, por lo que el rendimiento importa para la experiencia del usuario. El SQL de visualización no puede modificar datos; todas las sentencias se ejecutan como operaciones SELECT de solo lectura en los esquemas de IoT Query.
Informes utilizan el mismo enfoque de SQL de visualización que los paneles del dashboard. Un informe ejecuta una consulta que impulsa tres vistas simultáneamente: la tabla de datos, el gráfico y el mapa de ubicación. La sentencia debe devolver todas las columnas necesarias en los tres componentes, así que incluya columnas de coordenadas, tiempo y métricas juntas en un único SELECT.
SQL Editor admite exploración y exportación de datos. Acceda al SQL Editor desde la barra lateral izquierda en Tools. Escriba cualquier sentencia SELECT para examinar la estructura de los datos, validar supuestos o exportar resultados como CSV. El SQL Editor muestra tablas de resultados completas con ordenación de columnas y proporciona métricas de ejecución. Úselo para probar lógica antes de agregar SQL a los paneles de visualización, o para extracción ad hoc de datos que no necesita visualización.
Cómo escribir SQL para visualizaciones

El SQL de visualización debe devolver cantidades específicas de columnas y tipos de datos. Dashboard Studio no puede renderizar un gráfico de barras a partir de tres columnas ni un mosaico de estadísticas a partir de datos de texto. Revise la sección Dataset Requirements en la pestaña SQL Query para ver exactamente qué espera la visualización elegida antes de escribir la sentencia. La tabla siguiente contiene los tipos de visualización admitidos:
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
Las consultas de informes siguen las mismas reglas estructurales que las consultas de visualización en paneles de dashboard. Debido a que una sola sentencia impulsa la tabla de datos, el gráfico y el mapa de ubicación en conjunto, es posible que necesite combinar columnas que se escribirían como consultas de paneles separadas en un dashboard. Por ejemplo, una consulta de panel de gráfico de barras que devuelve dos columnas no es suficiente para un informe que también necesita coordenadas GPS para el mapa de ubicación. Incluya todas las columnas requeridas para cada componente en una sola sentencia. La lógica principal de filtrado y JOIN sigue siendo la misma que en las consultas de paneles; solo la cláusula SELECT necesita ser más amplia.
Cómo escribir SQL para informes
Un informe ejecuta una consulta SQL que impulsa tres componentes simultáneamente: la tabla de datos, el gráfico y el mapa de ubicación. A diferencia de los paneles del dashboard, donde cada panel tiene su propia consulta específica, una consulta de informe debe devolver todas las columnas necesarias en cada componente en una sola sentencia SELECT.
Requisitos de columnas por componente
Cada componente del informe tiene requisitos específicos de columnas. Su consulta debe satisfacer todos los componentes que haya habilitado.
Tabla de datos
Cualquier columna
Todas las columnas devueltas aparecen como columnas de tabla
Gráfico
Al menos una columna de tiempo o categoría, al menos una columna numérica
Las columnas de los ejes se seleccionan en la configuración del gráfico
Mapa de ubicación
Latitud y longitud como grados decimales
Dashboard Studio detecta automáticamente las columnas de coordenadas
Como la tabla de datos acepta cualquier columna, no impone restricciones adicionales. El gráfico y el mapa de ubicación determinan la mayoría de las decisiones estructurales.
Combinación de componentes en una consulta
Una consulta que devuelve solo las columnas necesarias para un gráfico (dos columnas: categoría y valor) no también puede impulsar un mapa de ubicación. Debe incluir todas las columnas requeridas juntas.
El siguiente ejemplo devuelve columnas para los tres componentes: una columna de tiempo y una columna numérica para el gráfico, columnas de coordenadas para el mapa de ubicación y atributos adicionales que aparecen en la tabla de datos.
En esta consulta, device_time y speed sirven al gráfico, latitude y longitude sirven al mapa de ubicación, y todas las columnas aparecen en la tabla de datos.
Adaptación de consultas de paneles de dashboard para informes
Cualquier consulta de panel de un dashboard es un punto de partida válido para un informe. El ajuste necesario depende de qué componentes desea habilitar.
Si la consulta del panel ya es una visualización de tabla que devuelve varias columnas, puede que ya incluya todo lo necesario. Agregue columnas de coordenadas si se requiere el mapa de ubicación.
Si la consulta del panel es una consulta de gráfico de barras o mosaico de estadísticas que devuelve resultados agregados, probablemente carece del detalle a nivel de fila necesario para la tabla de datos y el mapa de ubicación. En ese caso, elimine la agregación y trabaje a partir de los datos subyacentes sin procesar o de la capa Silver.
SQL Recipe Book contiene ejemplos de consultas listos para usar para análisis comunes de flotas. Las recetas del libro pueden adaptarse para informes agregando columnas de coordenadas donde se necesite el mapa de ubicación. La lógica principal de WHERE y JOIN se transfiere directamente; ajuste solo la cláusula SELECT para cubrir todos los componentes requeridos.
Cómo usar variables globales
Las variables globales proporcionan valores reutilizables en múltiples sentencias SQL. Defina variables en Settings > Configuration > Global Variables, y luego consúltelas usando la sintaxis ${variable_name} .

Defina variables para valores que cambian periódicamente pero permanecen consistentes en varios paneles: rangos de fechas de análisis, filtros de tipo de vehículo o valores umbral. Cuando estos valores cambien, actualice la definición de la variable una sola vez en lugar de editar sentencias SQL individuales.
Las variables almacenan valores de texto. Conviértalas al tipo adecuado en SQL: '${variable_name}'::date para fechas, '${variable_name}'::integer para números.
Para parámetros específicos de la sentencia que cambian con frecuencia, puede usar bloques de parámetros CTE 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 de Raw data, Transformation e Insight. Comprender qué capa usar ahorra tiempo y mejora la claridad del SQL. Para obtener detalles completos del esquema, consulte IoT Query Schema Overview.
Capa de datos sin procesar contiene puntos de seguimiento sin procesar de los dispositivos: bronze.tracking_data_core almacena cada posición GPS con marcas de tiempo, coordenadas y lecturas de sensores. Use Raw data para análisis a nivel de punto o cuando necesite valores de sensores sin procesar que no se hayan procesado en capas superiores.
Capa de transformación proporciona entidades procesadas: silver.trips agrega puntos de seguimiento en registros de viajes con horas de inicio/fin, distancia y duración. silver.zone_visits registra cuándo los dispositivos entran y salen de geocercas. silver.idle_events identifica períodos en los que los vehículos permanecen estacionarios con los motores encendidos. Use Transformation para la mayoría de las necesidades de visualización, ya que proporciona estructuras listas para el análisis.
Capa Insight ofrece métricas preagregadas y modelos dimensionales para análisis complejos. Use Insight para estadísticas de toda la flota o análisis multidimensionales que requerirían joins complejos con tablas Silver.
Haga referencia a las tablas usando el formato schema.table : 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. Agregue estos filtros al principio de las cláusulas WHERE para reducir el volumen de datos procesados.
Cómo usar el SQL Editor
Acceda al SQL Editor desde la barra lateral izquierda en Tools. Úselo para tres propósitos principales: probar lógica antes de agregarla a los paneles, explorar esquemas de datos para comprender las columnas disponibles y exportar datos que no necesitan visualización.

El SQL Editor admite múltiples pestañas para diferentes sentencias. Escriba SQL en las pestañas, ejecútelo con el botón "Execute Query" y vea los resultados en la tabla de abajo. Los resultados muestran métricas de ejecución (tiempo de ejecución, filas devueltas) y admiten ordenación de columnas para un examen rápido de los datos.
Exporte los resultados como CSV usando el botón "Export CSV". Esto funciona para informes ad hoc o extracciones de datos para análisis externos. El SQL Editor no tiene límite de filas de resultados, a diferencia del SQL de visualización que debería devolver conjuntos de datos específicos.
Pruebe el SQL de visualización en el SQL Editor antes de agregarlo a los paneles. Escriba la sentencia, verifique que devuelva las columnas y tipos de datos esperados, luego cópiela a la pestaña SQL Query del editor de paneles. Este flujo de trabajo detecta problemas estructurales antes de que configure los ajustes 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 SQL falla
Los fallos de ejecución se dividen en tres categorías: incompatibilidades estructurales con los requisitos de visualización, errores de sintaxis SQL o filtros que no devuelven datos.
Incompatibilidades 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. Revise Dataset Requirements 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 nombres de columnas o conversión incorrecta de fechas. Pruebe las sentencias en SQL Editor para ver mensajes de error detallados con números de línea.
Resultados vacíos
A pesar de una ejecución correcta, indican que los filtros excluyen todos los datos. Pruebe el SQL sin cláusulas WHERE en SQL Editor para verificar que la tabla contiene datos y luego agregue filtros de manera incremental para identificar qué condición excluye los resultados esperados.
Problemas de rendimiento
Si las sentencias se ejecutan lentamente o agotan el tiempo de espera, agregue filtros de rango de fechas a las cláusulas WHERE. Las operaciones que escanean tablas completas procesan millones de filas innecesariamente:
Para obtener orientación adicional sobre rendimiento, consulte Cómo acceder a los esquemas de IoT Query para conocer las 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 ralentí y métricas de flota. Cada receta incluye la sentencia SQL completa, explicación de la lógica y resultados de muestra.
Adapte ejemplos de 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 agregando GROUP BY y agregación COUNT. Una sentencia que calcula métricas por vehículo puede convertirse en un mosaico de estadísticas agregando SUM en todos los vehículos.
Solo necesita:
Copiar ejemplos de Recipe Book al Editor de Dashboard Studio.
Probar con sus datos reales.
Verificar los resultados y luego modificar la cláusula SELECT para su visualización de destino.
La lógica principal de WHERE y JOIN sigue siendo la misma; usted ajusta solo la estructura de salida.
Para obtener detalles del esquema, consulte IoT Query Schema Overview. Esta referencia explica las tablas disponibles, las definiciones de columnas y las relaciones entre las capas Raw data, Transformation e Insight.
Última actualización
¿Te fue útil?