Redash v8の導入と使い方(ちょこっと)


レポート画面を作るのがめんどくさかったので、
しばらくの間、SQLを叩いてCSV出力して提出していたのですが、
とうとうめんどくさくなったので、Redash で代用してみました。

初めてBIツールを使ってみたのですが、結構いい感じに利用できたので、
ざっくりとした使用感を含め導入方法をまとめていきたいと思います!

Redashってなに?

(ざっくりですが)SQLクエリからレポート画面が作れるものです。
グラフを表示したり、WHERE句用にパラメータ埋め込みも簡単にできます。
CSV、エクセルファイルも簡単に出力でき、外部連携にも優れています。

実行例

データ表示をするだけなら、クエリを実行するだけで簡単にできます!

SELECT * FROM `users`

インストール方法

Redash が公式で配布されてる setup.sh 叩いたら、
dockerとnginx, postgres, redis のインストールから設定まですべてやってくれました。

ぜひ、空のubuntu を立ち上げてインストールしてみてください。

getredash/setup: Setup scripts for Redash Cloud Images
https://github.com/getredash/setup

% git clone https://github.com/getredash/setup
% cd setup
% sh ./setup.sh
% curl localhost:80 # 動作確認

AMIやDockerイメージ等、別のやり方を検討したい場合はこちらをご参照ください

Setting up a Redash Instance
https://redash.io/help/open-source/setup

使い方

データソースとしてDBの設定を入力して、Query作成でSELECT文を書くだけで簡単にデータが表示できます。
画像付きで説明していきます。

データソースとしてDB追加

右上のメニューから Data Sources を選んで…

いい感じに入力するだけ!

Queryの作成

ここから Query を選択

Query(SELECT文)を書いて、再生ボタン▶を押せばテーブルが出ます

こんなかんじ

パラメータ埋め込み

日付でサマリしたい、ユーザ名で絞り込みたい場合ってやっぱり出てきますよね。
そういうときは、 クエリにパラメータを仕込む ことができます。

SELECT * FROM USER
WHERE `created_at` BETWEEN "{{ date.start }} 00:00:00"
                   AND "{{ date.end }} 23:59:59"

パラメータ設定

クエリ入力画面に、パラメータ追加ボタンがあるのでこちらをクリックすると

パラメータ入力画面がでます。今回は Date Range を選択しました。

そうすると date フォームが出てきます

クリックすると日付フォームが…!

これで、クエリ文中に {{ date.start }}, {{ date.end }} と入力すると変数として使用することができるようになります。これでクエリへの日付組み込みが楽にできそうですね!

さいごに

ざっくりと導入から使い方まで紹介してみましたが、いかがだったでしょうか。
Redashのインストールから欲しかったレポートが表示できるまで、大体2-3時間ぐらいでできたので、楽に導入できるかと思います。

簡単なレポート作成画面が必要であれば、ぜひ使ってみてください!