Les analytics engineers gèrent déjà leurs modèles, tests et documentation sous forme de code dans dbt. Le tableau de bord faisait exception : il vit dans un outil de BI, construit à coups de clics, sans historique ni revue. dbt Charts, annoncé en bêta publique au dbt Summit 2026 à Las Vegas en septembre, comble ce manque. Un tableau de bord devient un fichier YAML dans votre projet dbt, généré par un petit outil en ligne de commande et vérifié contre votre entrepôt avant que quiconque ne voie un graphique cassé.
Pourquoi des tableaux de bord en code ?
Tableau construit à la souris
Aujourd'hui- Aucun historique : qui a changé ce filtre, et quand ?
- Logique recopiée à la main d'un tableau à l'autre
- Casse en silence quand une colonne est renommée
Rapide à démarrer, lent à maintenir.
Tableau en code
dbt Charts- Revu dans les pull requests, avec historique complet et retour arrière
- Modifier un filtre sur des dizaines de tableaux d'un coup
- Les renommages de colonnes repérés avant le déploiement
- Facile à lire et à écrire pour des agents IA
Plus de mise en place, beaucoup plus simple à garder juste.
À quoi ressemble un tableau
Un tableau comporte un titre, une source de données, des requêtes SQL nommées, des graphiques qui pointent vers ces requêtes et une mise en page. Voici un exemple simplifié, fondé sur la structure documentée :
# 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]Deux choix de conception ressortent. D'abord, les graphiques n'agrègent ni ne réordonnent jamais les lignes : c'est le SQL qui fixe la granularité et l'ordre, donc vous voyez exactement ce que renvoie la requête. Ensuite, les appels ref() sont vérifiés par rapport aux colonnes de vos modèles dbt lors de dbt parse : une colonne renommée casse le build, pas la réunion.
Les briques de base
- Requêtes
- Du SQL nommé, une requête par granularité utile. Les graphiques les appellent sous la forme queries.nom.
- Graphiques
- 16 types : barres, histogramme, spark bar, courbe, aires, nuage de points, secteurs, anneau, tableau, carte de chaleur, KPI, encart, carte, carte à points, carte à bulles et geoshape.
- Graphiques composés
- Lollipop, bullet, slope, bump, dot plot et steamgraph, construits à partir des types de base.
- Variables
- Des filtres affichés sous forme de listes déroulantes, de sélections multiples, de plages de dates, de curseurs ou de cases à cocher. Chacun est un paramètre d'URL, donc une vue filtrée est un lien partageable.
- Liens
- Cliquez sur une barre ou une ligne pour filtrer le tableau sur place ou ouvrir un autre tableau.
- Mise en page
- Les lignes empilent les graphiques, les colonnes les placent côte à côte, avec des onglets, des sections repliables et des blocs de texte markdown.
- Thèmes
- Changez l'apparence de tout le tableau en une ligne.
La validation : la vraie raison de s'y intéresser
L'outil en ligne de commande s'appelle dct et lit vos fichiers dbt_project.yml et profiles.yml existants : aucune nouvelle connexion à configurer.
dct validate # vérifie la structure de chaque tableau
dct validate --warehouse # exécute chaque requête sur l'entrepôt
dct impact # liste les tableaux qui lisent une colonne
dct render # génère les tableaux, avec des avertissements visuelsdct impact est celui que les équipes data vont adorer : avant de supprimer ou de renommer une colonne, vous voyez tous les tableaux de bord qui en dépendent. Placez dct validate --warehouse dans la CI à côté de dbt build, et les tableaux cassés n'arrivent plus chez les parties prenantes.
Conçu pour les agents IA
Comme un tableau est du texte brut avec un vocabulaire réduit, les agents IA peuvent le lire et l'écrire de façon bien plus fiable qu'ils ne cliquent dans un outil de BI. C'est un argument central de dbt Labs. Le bac à sable en ligne play.dbtcharts.com inclut un assistant qui modifie le YAML pour vous.
Limites actuelles
- Pas encore de lien avec le Semantic Layer : les requêtes sont du SQL simple, donc une métrique définie dans le dbt Semantic Layer peut être calculée différemment sur un tableau. Gardez la logique dans vos modèles et le SQL des tableaux léger.
- Fichiers longs : les grands tableaux deviennent de longs fichiers YAML difficiles à parcourir. Découpez-les en plusieurs tableaux.
- Bêta publique : ni tarifs, ni formules, ni date de GA n'ont été annoncés. dbt Labs organise des sessions virtuelles les 28 et 29 octobre.
Faut-il l'essayer ?
À essayer maintenant
Bien adapté- Tableaux de bord internes gérés par l'équipe data
- Équipes qui font déjà de la revue de code sur dbt
- Beaucoup de tableaux similaires qui finissent par diverger
À attendre
Pas encore- Tableaux de bord de direction qui exigent un design au pixel près
- Libre-service pour des utilisateurs métier qui n'utilisent pas Git
- Métriques qui doivent venir du Semantic Layer
Testez vos connaissances
1/3Où vit un tableau dbt Charts ?
Les tableaux sont des fichiers de votre projet dbt, versionnés dans Git.
2/3Qui décide de la granularité et de l'ordre des données d'un graphique ?
Les graphiques lisent les colonnes et ne réagrègent ni ne réordonnent jamais les lignes.
3/3Quelle commande liste les tableaux qui dépendent d'une colonne ?
Lancez-la avant de renommer ou supprimer des colonnes.
Vous avez 0 bonne(s) réponse(s) sur 3.
Vous débutez avec dbt ? Commencez par votre premier projet dbt, puis lisez ce qui change avec dbt v2 et ce que signifie la fusion de Fivetran et dbt Labs.
Sources : la documentation du langage dbt Charts (dbtcharts.com), « dbt Charts: first look » de The Information Lab (21 septembre 2026) et le blog de dbt Labs. dbt Charts est en bêta publique : syntaxe et fonctionnalités peuvent évoluer.
