@kyanny's blog

My thoughts, my life. Views/opinions are my own.

re:dash Line Chart の作り方

f:id:a666666:20151229031058p:plain

  • Visualization Type: Chart
  • Chart Type: Line
  • X Column: date(日付など、横軸にしたいカラム)
  • Y Columns: cnt(グループ分けごとの件数を表すカラム)
  • Group by: is_archived(グループ分けしたいカラム、これで分割してそれぞれ別の折れ線グラフが描かれる)
SELECT DATE(created_at) date, is_archived, COUNT(*) count
FROM queries
WHERE created_at >= CURRENT_DATE - INTERVAL '6 weeks'
GROUP BY date, is_archived

考え方

  • X 軸(横)は日付にしたいことが多いので created_at のようなカラムに対して DATE() で日付をとる
    • その上で日付で GROUP BY する
  • ある条件で分割(segment)した複数の折れ線グラフを一度に描きたい場合は、日付とその条件のカラムで GROUP BY する
    • 順番は DATE(created_at), is_archived
  • さらに COUNT() でそれぞれの、日付と条件で分割されたグループに何件ずつあるかを計算する
  • 結果データセットのテーブルのカラムは 日付 条件 件数 の三つあればよい

会社の re:dash だと違うところ

  • Group by ではなくて Series というのでグループ分けする条件のカラムを指定する

f:id:a666666:20151229031947p:plain

https://demo.redash.io/queries/931

会社の re:dash と demo のやつはバージョンが違うので見た目がちょっと異なるが、考え方は同じ。