Saltar al contenido principal
ClickStack admite visualizaciones basadas en consultas SQL directas. Esto te da un control total sobre la lógica de la consulta, sin dejar de integrarse con los intervalos de tiempo, los filtros y la representación de gráficos a nivel de dashboard. Las visualizaciones basadas en SQL son útiles cuando necesitas ir más allá del Chart Explorer integrado; por ejemplo, para hacer join entre tablas o crear agregaciones complejas que el chart builder no admite.

Creación de una visualización basada en SQL

Para crear una visualización basada en SQL, abra el editor de mosaicos de un dashboard y seleccione la pestaña SQL. Desde allí:
  1. Seleccione una conexión de ClickHouse en la que ejecutar la consulta.
  2. De forma opcional, seleccione una Source; esto permite aplicar filtros del dashboard a su gráfico mediante la macro $__filters.
  3. Escriba su consulta SQL en el editor, usando parámetros de consulta y macros para integrarla con el intervalo de tiempo y los filtros del dashboard.
  4. Haga clic en el botón play para obtener una vista previa de los resultados y, a continuación, en Save.

Parámetros de consulta

Los parámetros de consulta permiten que su SQL haga referencia al intervalo de tiempo y a la granularidad actuales del dashboard. Utilizan la sintaxis de consultas parametrizadas de ClickHouse: {paramName:Type}.

Parámetros disponibles

Los parámetros disponibles dependen del tipo de gráfico: Gráficos de líneas y barras apiladas: Gráficos de tabla, circular y numérico:

Macros

Las macros son atajos que se expanden en expresiones habituales de ClickHouse SQL. Llevan el prefijo $__ y se sustituyen antes de enviar la consulta a ClickHouse.

Macros de límites temporales

Estas macros devuelven una expresión de ClickHouse que representa la hora de inicio o de fin del dashboard. No aceptan argumentos.

Macros de filtro de tiempo

Estas macros generan un fragmento de cláusula WHERE que filtra una columna según el intervalo de tiempo del dashboard. Ejemplo de expansión de $__timeFilter(TimestampTime):

Macros de intervalos de tiempo

Estas macros agrupan una columna de marca de tiempo en intervalos que coinciden con la granularidad del dashboard. Normalmente se usan en las cláusulas SELECT y GROUP BY para gráficos de series temporales. Solo están disponibles para las visualizaciones Line y Stacked-bar. Ejemplo de expansión de $__timeInterval(TimestampTime):

Macro de filtro del dashboard

Cuando se selecciona una Source en el gráfico y los filtros del dashboard están activos, $__filters se expande a las condiciones WHERE de SQL correspondientes. Cuando no hay ninguna Source seleccionada o no se aplica ningún filtro, se expande a (1=1), por lo que siempre es seguro incluirlo en una cláusula WHERE.

Cómo se representan los resultados de la consulta

ClickStack asigna automáticamente las columnas del resultado a los elementos del gráfico en función de los tipos de columna. Las reglas de asignación varían según el tipo de gráfico.

Gráficos de líneas y de barras apiladas

Gráfico circular

Gráfico numérico

Gráfico de tabla

Todas las columnas del resultado se muestran directamente como columnas de la tabla.

Ejemplos

Acceso requerido a las tablas del sistemaDeberá especificar otel_v2.otel_logs o otel_v2.otel_traces si ejecuta los siguientes ejemplos en play-clickstack.clickhouse.com.

Gráfico de líneas — recuento de logs a lo largo del tiempo por servicio

Esta consulta cuenta los eventos de log por servicio, agrupándolos en intervalos de tiempo que se ajustan a la granularidad del dashboard.
  • ts (DateTime) se usa como la marca de tiempo del eje X.
  • count (numeric) se representa como el valor de la serie.
  • ServiceName (cadena) crea una línea independiente para cada servicio.

Gráfico de líneas — uso de macros

La misma consulta, escrita con macros para mayor brevedad:

Gráfico de barras apiladas — recuento de errores por severidad

Gráfico de tabla — los 10 endpoints más lentos

Gráfico circular — distribución de solicitudes por servicio

  • request_count (numérico) determina el tamaño de cada segmento.
  • ServiceName (cadena) identifica cada segmento.

Gráfico numérico — recuento total de errores

Se muestra el valor numérico único total_errors de la primera fila.

Notas

  • Las visualizaciones basadas en SQL se ejecutan con el modo readonly activado; solo se permiten consultas SELECT.
  • Las visualizaciones basadas en SQL deben consistir en una única consulta SQL; no se admiten varias consultas.
  • El editor SQL proporciona sugerencias de autocompletado tanto para los parámetros de consulta como para las macros.
  • Se debe seleccionar un source para aplicar los filtros del dashboard a las visualizaciones basadas en SQL. El source debe coincidir con la tabla consultada para que el filtrado sea preciso.
Última modificación el 19 de junio de 2026