Gli analytics engineer tengono già modelli, test e documentazione come codice in dbt. La dashboard di solito era l'eccezione: vive in uno strumento di BI, costruita a colpi di clic, senza storico e senza revisione. dbt Charts, annunciato in beta pubblica al dbt Summit 2026 a Las Vegas a settembre, colma questo vuoto. Una dashboard diventa un file YAML nel tuo progetto dbt, generato da un piccolo strumento a riga di comando e verificato sul data warehouse prima che qualcuno veda un grafico rotto.
Perché le dashboard come codice?
Dashboard costruita a clic
Oggi- Nessuno storico: chi ha cambiato quel filtro, e quando?
- Logica copiata a mano tra una dashboard e l'altra
- Si rompe in silenzio quando una colonna cambia nome
Veloce da iniziare, lenta da mantenere.
Dashboard come codice
dbt Charts- Revisionata nelle pull request, con storico completo e rollback
- Cambi un filtro su decine di board in un colpo solo
- I cambi di nome delle colonne emergono prima del deploy
- Facile da leggere e scrivere per gli agenti AI
Più lavoro iniziale, molto più facile restare corretti.
Com'è fatta una board
Una board ha un titolo, una sorgente dati, query SQL con un nome, grafici che puntano a quelle query e un layout. Ecco un esempio semplificato basato sulla struttura documentata:
# 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]Due scelte di design spiccano. Primo, i grafici non aggregano né riordinano mai le righe: è l'SQL a decidere granularità e ordine, quindi vedi esattamente ciò che restituisce la query. Secondo, le chiamate ref() vengono controllate rispetto alle colonne dei modelli dbt quando gira dbt parse, così una colonna rinominata rompe la build, non la riunione.
I mattoni
- Query
- SQL con un nome, una per ogni granularità che ti serve. I grafici le richiamano come queries.nome.
- Grafici
- 16 tipi: barre, istogramma, spark bar, linee, aree, dispersione, torta, ciambella, tabella, heatmap, KPI, callout, mappa, mappa a punti, mappa a bolle e geoshape.
- Grafici composti
- Lollipop, bullet, slope, bump, dot plot e steamgraph, costruiti dai tipi base.
- Variabili
- Filtri mostrati come menu a tendina, selezioni multiple, intervalli di date, cursori o caselle. Ognuno è un parametro dell'URL, quindi una vista filtrata è un link condivisibile.
- Link
- Clicca una barra o una riga per filtrare la board sul posto o aprirne un'altra.
- Layout
- Le righe impilano i grafici, le colonne li affiancano, con schede, sezioni comprimibili e blocchi di testo in markdown.
- Temi
- Cambia l'aspetto dell'intera board con una riga.
Validazione: il vero motivo per interessarsene
Lo strumento a riga di comando si chiama dct e legge i tuoi dbt_project.yml e profiles.yml esistenti, quindi non c'è nessuna nuova connessione da configurare.
dct validate # controlla la struttura di ogni board
dct validate --warehouse # esegue ogni query sul data warehouse
dct impact # elenca le board che leggono una colonna
dct render # genera le board, con avvisi visividct impact è quello che i team dati ameranno: prima di eliminare o rinominare una colonna puoi vedere ogni dashboard che ne dipende. Metti dct validate --warehouse nella CI accanto a dbt build, e le dashboard rotte smettono di arrivare agli stakeholder.
Pensato per gli agenti AI
Poiché una board è testo semplice con un vocabolario ridotto, gli agenti AI possono leggerla e scriverla in modo molto più affidabile di quanto riescano a cliccare in uno strumento di BI. È una parte importante della proposta di dbt Labs. Il playground online su play.dbtcharts.com include un assistente che modifica lo YAML per te.
Limiti attuali
- Nessun collegamento al Semantic Layer per ora: le query sono semplice SQL, quindi una metrica definita nel dbt Semantic Layer può essere calcolata in modo diverso su una board. Tieni la logica nei modelli e l'SQL delle board leggero.
- File lunghi: le board grandi diventano file YAML lunghi e difficili da navigare. Dividile in più board.
- Beta pubblica: prezzi, piani e data di GA non sono stati annunciati. dbt Labs organizza sessioni virtuali il 28 e 29 ottobre.
Conviene provarlo?
Provalo ora
Adatto- Dashboard interne gestite dal team dati
- Team che fanno già code review su dbt
- Tante board simili che finiscono per divergere
Aspetta
Non ancora- Dashboard per il management che richiedono un design perfetto al pixel
- Self-service per utenti di business che non usano Git
- Metriche che devono arrivare dal Semantic Layer
Verifica cosa hai capito
1/3Dove vive una board di dbt Charts?
Le board sono file nel tuo progetto dbt, versionati in Git.
2/3Chi decide granularità e ordine dei dati di un grafico?
I grafici leggono le colonne e non riaggregano né riordinano mai le righe.
3/3Quale comando elenca le board che dipendono da una colonna?
Eseguilo prima di rinominare o eliminare colonne.
Hai risposto correttamente a 0 domande su 3.
Nuovo a dbt? Parti dal tuo primo progetto dbt, poi leggi cosa è cambiato in dbt v2 e cosa significa la fusione tra Fivetran e dbt Labs.
Fonti: la documentazione del linguaggio dbt Charts (dbtcharts.com), "dbt Charts: first look" di The Information Lab (21 settembre 2026) e il blog di dbt Labs. dbt Charts è in beta pubblica, quindi sintassi e funzioni possono cambiare.
