本文へスキップ
株式会社オブライト
Software Development2026-09-15約8分で読めます

dbt Chartsとは — YAMLでダッシュボードを書くOSSの使い方

dbt Labsは2026年9月14日、ダッシュボードをYAMLで宣言的に書けるOSS「dbt Charts」をApache-2.0で公開した。SQLでデータ、YAMLでチャートと配置を定義し、init・validate・serve・renderの4手順で使う。Evidenceなど既存BIツールとの違いも整理する。


dbt Chartsとは、dbt Labsが2026年9月14日にオープンソース化した、ダッシュボードをYAMLで宣言的に記述するための言語・エンジン・CLI(dct)の総称である。結論から言うと、SQLでデータを定義しYAMLでチャートとレイアウトを定義することで、1つのYAMLファイルがそのままバージョン管理可能な対話式ダッシュボードになる、というのが最大の特徴だ。

dbt Chartsとは

dbt Labsは2026年9月14日、ブログ記事「Charts built for Chat」でdbt Chartsを発表した。公開されたのはYAML言語仕様、レンダリングエンジン、CLIツールdctの3点で、いずれもApache-2.0ライセンスの完全なオープンソースである。これに加えて、ホスティング版のdbtCharts.comもパブリックベータとして同時公開されたが、料金は2026年9月時点で未公開である。Hacker Newsでは投稿がフロントページ入りし、約232ポイントを集めるなど関心を集めた。

dbt Chartsのコンセプトは「SQLを取り囲む宣言的なYAML構文でダッシュボードを作る」ことに尽きる。クエリ(データ)はSQLで書き、チャートの種類・軸・フィルタ・行/列レイアウトはYAMLで書く。1つのYAMLファイルに両方が収まるため、ダッシュボード全体が1個のテキストファイルとして監査可能になる。テキストファイルであることのメリットはそのままGitの強みに直結する。バージョン管理下に置けて差分がdiffで読め、プルリクエストでレビューできる。dbtのモデルディレクトリの隣にcharts/ディレクトリを置く運用が想定されており、データ変換とダッシュボードを同じリポジトリ・同じブランチ・同じCIパイプラインで扱える。

何ができるか

dbt Chartsは2026年9月時点でベータ版(pre-1.0)であり、Python 3.10〜3.13上で動作する。レンダリングにはVega-Liteを採用しており、チャート表現力の土台はVega-Lite由来である。対応するチャートタイプは、棒グラフ・ヒストグラム・折れ線・エリア・散布図・ヒートマップ・円/ドーナツ・KPIカード・テーブル・ポイントマップ・バブルマップ・コロプレス・ジオシェイプ・コールアウト・スパークバーの16種のコアタイプに加え、ロリポップ・ブレット・スロープ・バンプ・ドットプロット・積み上げ棒・正規化棒・ストリームグラフ・ファネルなど13種のセマンティックタイプがあり、合計29種類に及ぶ。

データソースとしては、ローカルのCSV・Parquet・JSON・DuckDBに加え、dbtのアダプタ経由でBigQuery・Databricks・PostgreSQL・Redshift・Snowflake・Spark・Trinoといった主要ウェアハウスに接続できる。見た目のテーマは、デフォルトのclarityのほかpapervividneonstarkが用意されており、YAMLでカスタムテーマを定義することも可能だ。

データソースとSQLクエリ、AIエージェントが書くYAMLボードが合流し、dct CLIがvalidate→serve→renderで処理してHTML/PDF/PNGを書き出す一方、YAMLボードはGit/PRレビューで審査されるワークフロー図

インストールと料金

dbt Charts本体(YAML言語・エンジン・dct CLI)は無料・オープンソース(Apache-2.0)で、uv tool install dbt-chartsまたはpip install dbt-chartsでインストールできる。特定ウェアハウス向けの依存関係をまとめてインストールする場合は、例えばuv tool install "dbt-charts[bigquery]"のようにextrasを指定する。ホスティング版のdbtCharts.comはパブリックベータ提供中で、料金体系は2026年9月時点で未公開である。今後はdbt CLI本体への統合と、dbtのセマンティックレイヤーとの連携が計画されている。

# コア本体のインストール
uv tool install dbt-charts
# もしくは
pip install dbt-charts

# BigQuery向けextrasを含めたインストール例
uv tool install "dbt-charts[bigquery]"

# チュートリアルの起動
dct skills intro

使い方 — 最短手順

基本的な流れは、プロジェクトの初期化(dct init)→YAMLの検証(dct validate)→ローカルプレビュー(dct serve)→書き出し(dct render)の4ステップである。dct validateはウェアハウスに接続せずYAMLの構文とクエリ参照の整合性だけを検証できるため、CI上での事前チェックに向いている。dct serveはフィルタが実際に効く状態でのライブプレビューを立ち上げる。

# プロジェクトを初期化
dct init

# 特定ファイルのYAMLを検証(ウェアハウスに接続しない)
dct validate charts/growth.yml

# ライブプレビュー(フィルタも動作する)
dct serve --port 8080

# 静的ファイルとして書き出し
dct render growth --format html
dct render growth --format pdf
dct render growth --format png

# データソースに直接クエリを投げる
dct query db 'SELECT 1'

# ボード内を検索 / 列変更の影響範囲を確認
dct search revenue
dct impact status

実際のYAMLは次のような形になる。sourceでデータソースを指定し、variablesでフィルタ用の変数を宣言、queriesにSQLを書き、chartsでチャート種別と軸を指定、最後にrowsでレイアウト(どのチャートをどの順に並べるか)を組む。1ファイルの中でSQLとチャート定義が完結している点が、他のBIツールのGUI操作と大きく異なる部分だ。

source: db
variables:
  status:
    column: dundersign.documents.status
queries:
  documents: |
    SELECT DATE_TRUNC('month', created_at) AS month,
           SUM(COUNT(*)) OVER (ORDER BY month) AS documents
    FROM dundersign.documents
    WHERE {{ filter('status', status) }}
    GROUP BY 1
charts:
  growth:
    title: Documents created, all time
    type: area
    query: documents
    x: month
    y: documents
rows:
  - growth

AIエージェント連携 — skillsとMCP

dbt Chartsは設計段階からAIエージェントとの親和性を重視している。dctには、生成AIがダッシュボードYAMLを書く際に参照できるバンドル済みのagent skillsが同梱されており、dct docsコマンドでトピック別のドキュメントを直接参照させることもできる。加えてローカルMCPサーバーが同梱されており、VS CodeやClaude Desktopなど、MCP対応のクライアントから直接dbt Chartsのプロジェクトを操作できる。YAML+SQLという構造化された宣言的フォーマットは、フリーフォームのコード生成に比べてLLMが少ないトークンで妥当な出力を作りやすく、dct validateによる機械的な検証と組み合わせることで、生成されたダッシュボードの誤りを早期に検出できる設計になっている。VS Code(Open VSX含む)向けの「dbt Charts」拡張機能も公開されている。

既存ツールとの違い

BI・ダッシュボードツールの中でdbt Chartsがどこに位置するかは、コードベースかGUIベースか、Gitで管理できるかという軸で整理すると分かりやすい。Evidence.devはMarkdown+SQLでレポートを書くコードベースのツールという点でdbt Chartsに近い設計思想を持つ。LightdashはdbtのセマンティックレイヤーをGUIで探索するタイプのBIツールである。Rillは「BI-as-code」を掲げ、YAML的な設定でダッシュボードを定義する点でdbt Chartsと重なる領域がある。Observable FrameworkはJavaScriptベースで自由度が高い代わりにコードを書く量が多い。MetabaseやLookerに代表されるGUI型BIはノーコードで扱える反面、定義がアプリ内の状態として保存されバージョン管理と相性が悪いことが多い。

ツール定義方法Git管理位置づけ
dbt ChartsSQL+YAML標準対応dbtネイティブの宣言的ダッシュボード
Evidence.devMarkdown+SQL標準対応コードベースのレポーティング
Lightdashdbtセマンティックレイヤー+GUI一部対応dbt連携のセルフサービスBI
RillYAML設定標準対応BI-as-code、リアルタイム分析寄り
Observable FrameworkJavaScript標準対応高自由度のコードベース可視化
Metabase / Looker型GUI BIGUI操作弱いノーコードのセルフサービスBI

注意点・現時点の制約

dbt Chartsは2026年9月時点でまだベータ版(pre-1.0)であり、破壊的変更が入る可能性がある。Hacker Newsでの反応では、可読性・決定論的な出力・監査性・AIとの相性の良さが評価される一方、YAMLという構文自体の表現力の限界、GUI型BIツールに比べたインタラクティブなフィルタリングの弱さ、権限管理やガバナンス機能がまだ組み込まれていない点が懸念点として挙げられている。本番のダッシュボード基盤として全面採用する前に、想定する利用規模でのアクセス制御要件を満たせるか確認しておく必要がある。

FAQ

dbt Chartsは無料ですか。

YAML言語・エンジン・dct CLIはApache-2.0ライセンスの完全なオープンソースで無料です。ホスティング版のdbtCharts.comはパブリックベータで、料金は2026年9月時点で未公開です。

dbt Charts vs Evidenceの違いは何ですか。

どちらもコードベースでGit管理できる点は共通です。Evidence.devはMarkdown+SQLでレポートを書く設計、dbt ChartsはSQL+YAMLでチャートとレイアウトを宣言的に定義する設計という違いがあります。

dbt ChartsとLightdashはどう違いますか。

LightdashはdbtのセマンティックレイヤーをGUIで探索するセルフサービスBIツールです。dbt ChartsはGUI操作ではなく、YAMLファイルとしてダッシュボードそのものを直接記述する点が異なります。

AIエージェントでダッシュボードを自動生成できますか。

dctにはバンドル済みのagent skillsとローカルMCPサーバーが同梱されており、Claude DesktopやVS CodeなどMCP対応クライアントからYAMLダッシュボードの生成・検証を行えます。dct validateで機械的な整合性チェックも可能です。

まとめ

dbt Chartsは、ダッシュボードをコードとして扱いたいチームにとって選択肢の一つになるOSSである。SQLとYAMLだけで完結する構造はGitでのレビュー・差分管理と相性がよく、AIエージェントによる生成・検証にも向いている。一方でまだベータ版であり、GUI型BIツールが備える対話的なフィルタリングやガバナンス機能は発展途上だ。既存のダッシュボード運用をすぐに置き換えるというより、小規模なプロジェクトやAI生成前提のワークフローから試してみるのが現実的な第一歩になるだろう。

この記事に関連する無料ツール(登録不要・その場で結果)

お気軽にご相談ください

お問い合わせ