May 2, 2018

SQL as a Visualization


GW中にヒマだったので作っているプチBIツールです。まだまだ作り途中なんんですが、SQLを書いてそのまま可視化できるので何気に便利です。コメントの部分の--visualize=Xでどんなグラフを表示するかを指定し、その後ろで必要なパラメータを入力します。今のところは素のテーブル、棒グラフ、折れ線グラフ、パイチャート、バブルチャート、ゲージチャートは可視化できるようにしてあります。

--visualize=line,x=custkey,y=sumprice
select 
 custkey
 ,sum(totalprice) as sumprice
from tpch.tiny.orders
group by 1
order by 1
;

中身としてはフレームワークはRailsでグラフの部分はHighchartにしました。最初はRubyで簡単にグラフを出せるChartkickを使っていたんですが、描画できる種類が限られているので、Highchartに変更しています。

実運用や利便性を考えると、以下のようなポイントを実装していく必要があるかなと考えています。
  • アクセス権の制御
  • クエリの実行ユーザーの制御
  • クエリ編集時のサジェスチョン
  • パラメータを使用した実行
  • スケジューリング実行
  • 結果のメール配信