Los analytics engineers ya mantienen sus modelos, pruebas y documentación como código en dbt. El panel solía ser la excepción: vive en una herramienta de BI, montado a base de clics, sin historial ni revisión. dbt Charts, anunciado en beta pública en dbt Summit 2026 en Las Vegas en septiembre, cierra ese hueco. Un panel se convierte en un archivo YAML dentro de tu proyecto de dbt, generado por una pequeña herramienta de línea de comandos y comprobado contra tu almacén de datos antes de que nadie vea un gráfico roto.
¿Por qué paneles como código?
Panel montado a clics
Hoy- Sin historial: ¿quién cambió ese filtro, y cuándo?
- Lógica copiada a mano entre paneles
- Se rompe en silencio cuando se renombra una columna
Rápido de empezar, lento de mantener.
Panel como código
dbt Charts- Revisado en pull requests, con historial completo y vuelta atrás
- Cambia un filtro en decenas de paneles a la vez
- Los renombrados de columnas se detectan antes del despliegue
- Fácil de leer y escribir para los agentes de IA
Más trabajo inicial, mucho más fácil mantenerlo correcto.
Así es un panel
Un panel tiene un título, una fuente de datos, consultas SQL con nombre, gráficos que apuntan a esas consultas y un diseño. Este es un ejemplo simplificado basado en la estructura documentada:
# charts/revenue.yml
title: Revenue overview
source: db
queries:
by_month: |
select date_trunc('month', order_date) as month,
sum(revenue) as revenue
from {{ ref('fct_orders') }}
group by 1
order by 1
by_channel: |
select channel, sum(revenue) as revenue
from {{ ref('fct_orders') }}
group by 1
order by 2 desc
charts:
revenue_trend:
query: queries.by_month
type: line
x: month
y: revenue
revenue_by_channel:
query: queries.by_channel
type: bar
x: channel
y: revenue
rows: [revenue_trend, revenue_by_channel]Destacan dos decisiones de diseño. Primero, los gráficos nunca agregan ni reordenan filas: el SQL decide la granularidad y el orden, así que ves exactamente lo que devuelve la consulta. Segundo, las llamadas ref() se comprueban contra las columnas de tus modelos de dbt al ejecutar dbt parse, de modo que una columna renombrada rompe el build, no la reunión.
Las piezas
- Consultas
- SQL con nombre, una por cada granularidad que necesites. Los gráficos las referencian como queries.nombre.
- Gráficos
- 16 tipos: barras, histograma, spark bar, líneas, áreas, dispersión, circular, anillo, tabla, mapa de calor, KPI, destacado, mapa, mapa de puntos, mapa de burbujas y geoshape.
- Gráficos compuestos
- Piruleta, bala, pendiente, bump, dot plot y steamgraph, construidos a partir de los tipos básicos.
- Variables
- Filtros mostrados como desplegables, selección múltiple, rangos de fechas, controles deslizantes o casillas. Cada uno es un parámetro de la URL, así que una vista filtrada es un enlace que se puede compartir.
- Enlaces
- Pulsa una barra o una fila para filtrar el panel en el sitio o abrir otro panel.
- Diseño
- Las filas apilan gráficos y las columnas los ponen uno al lado del otro, con pestañas, secciones plegables y bloques de texto en markdown.
- Temas
- Cambia el aspecto de todo el panel con una línea.
La validación: el verdadero motivo para interesarse
La herramienta de línea de comandos se llama dct y lee tus archivos dbt_project.yml y profiles.yml existentes, así que no hay que configurar ninguna conexión nueva.
dct validate # comprueba la estructura de cada panel
dct validate --warehouse # ejecuta cada consulta en el almacén
dct impact # lista los paneles que leen una columna
dct render # genera los paneles, con avisos visualesdct impact es el que encantará a los equipos de datos: antes de borrar o renombrar una columna, ves todos los paneles que dependen de ella. Pon dct validate --warehouse en la CI junto a dbt build y los paneles rotos dejarán de llegar a las partes interesadas.
Pensado para agentes de IA
Como un panel es texto plano con un vocabulario reducido, los agentes de IA pueden leerlo y escribirlo de forma mucho más fiable que hacer clic en una herramienta de BI. Es una parte central de la propuesta de dbt Labs. El entorno de pruebas en línea play.dbtcharts.com incluye un asistente que edita el YAML por ti.
Límites actuales
- Aún sin conexión con la Semantic Layer: las consultas son SQL normal, así que una métrica definida en la dbt Semantic Layer puede calcularse de otra forma en un panel. Mantén la lógica en tus modelos y el SQL de los paneles ligero.
- Archivos largos: los paneles grandes se convierten en archivos YAML largos y difíciles de recorrer. Divídelos en varios paneles.
- Beta pública: no se han anunciado precios, planes ni fecha de disponibilidad general. dbt Labs organiza sesiones virtuales el 28 y el 29 de octubre.
¿Merece la pena probarlo?
Pruébalo ya
Encaja bien- Paneles internos que gestiona el equipo de datos
- Equipos que ya revisan código en dbt
- Muchos paneles parecidos que acaban divergiendo
Espera
Todavía no- Paneles de dirección que exigen un diseño perfecto al píxel
- Autoservicio para usuarios de negocio que no usan Git
- Métricas que deben venir de la Semantic Layer
Pon a prueba lo que has aprendido
1/3¿Dónde vive un panel de dbt Charts?
Los paneles son archivos de tu proyecto de dbt, versionados en Git.
2/3¿Quién decide la granularidad y el orden de los datos de un gráfico?
Los gráficos leen columnas y nunca vuelven a agregar ni reordenan filas.
3/3¿Qué comando lista los paneles que dependen de una columna?
Ejecútalo antes de renombrar o borrar columnas.
Has acertado 0 de 3.
¿Empiezas con dbt? Arranca con tu primer proyecto de dbt y después lee qué cambia con dbt v2 y qué supone la fusión de Fivetran y dbt Labs.
Fuentes: la documentación del lenguaje de dbt Charts (dbtcharts.com), «dbt Charts: first look» de The Information Lab (21 de septiembre de 2026) y el blog de dbt Labs. dbt Charts está en beta pública, así que la sintaxis y las funciones pueden cambiar.
