Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

「分析SQLそのまま可視化したい」を叶えるツールを作った

Avatar for nk nk
December 08, 2025
27

 「分析SQLそのまま可視化したい」を叶えるツールを作った

このスライドで紹介しているリンク:
- miniplot: https://github.com/nkwork9999/miniplot
- SQL2VIZ: https://github.com/nkwork9999/sql2viz
- Zenn記事: https://zenn.dev/amana/articles/ed29af54a1b1c6

Avatar for nk

nk

December 08, 2025
Tweet

Transcript

  1. 簡単にSQLの可視化をしたい だけど… • BIツール → 導入大変、ライセンス、学習コスト • Streamlit → 毎回起動?python依存

    • Excel→行制限&手作業 やりたいこと :SQLの結果をサッとグラフで見たいだけ ...なのに →じゃあ作ろう!
  2. miniplot(DuckDB拡張) コンセプト: SQLっぽい書き方でグラフを生成 • DuckDBの拡張機能として追加(C++) • SQL関数としてグラフ作成 • Plotlyベースでインタラクティブ •

    CLIベースでもSQLからグラフ生成できる。 • 対応グラフは棒グラフ・折れ線グラフ・散布図・エリアチャート・3D散布図など...
  3. miniplot(DuckDB拡張) インストール &構文 pip install duckdb INSTALL miniplot FROM community;

    LOAD miniplot; SELECT bar_chart( list(category), list(value), 'Sales Chart' ) FROM sales;
  4. miniplot(DuckDB拡張) 現状の課題 1. list() で囲む必要がある • SELECT bar_chart( list(category), list(value),

    'Sales Chart' ) FROM sales; 2. HTMLファイルが勝手に保存される & ブラウザが自動で開く • HTMLファイルがtmpに保存されてそれを開いている。(回避策:パス指定やHTML文字列取得も可能) 3.オンライン環境が必要 4.グラフ種類や軸の変更にSQL書き直しが必要 → これらを解決するためにSQL2VIZを作った
  5. SQL2VIZ(OSS) コンセプト:生 SQLを渡すだけで GUIが立ち上がる • Rustで作ったスタンドアロンツール • Pythonから簡単に使える • オフラインで動作

    • GUIでインタラクティブに操作可能 • 対応グラフは棒グラフ・折れ線グラフ・散布図・エリアチャート・3D散 布図など...
  6. SQL2VIZ(OSS) インストール &構文 pip install sql2viz import duckdb import sql2viz

    # シンプルな使い方 duckdb.sql("SELECT category, sales FROM sales_data").viz() # チャート設定を指定 duckdb.sql("SELECT month, revenue FROM sales").viz( chart_type="Line", x_column="month", y_column="revenue" )