Redashハンズオンをやってみました

Redashとは



オープンソースで提供されているダッシュボード作成ツールです。
データを集計して可視化してくれます。
また、数多くのデータソースに対応していて無料で使えます。




データ分析にとても興味があったのでRedashハンズオンをやってみました。

github.com



手順通りにgithubリポジトリをクローンしてきて

docker-composeコマンドを実行します。



docker-composeとは



docker runのオプションなどを書いといて、

複数のイメージをまとめてビルド、コンテナを作って実行するところまでやってくれるラッパーツール。



docker-compose up



でイメージをビルドしてコンテナ生成して起動までやってくれる。




docker-compose down



でコンテナを停止して破棄してくれるらしいです。



とりあえず手順通りに下記コマンドを実行。

DBを作ってくれている気配。少し時間がかかりました。



docker-compose -f docker-compose.yml run --rm server create_db





終わったら下記のコマンドを実行。



docker-compose -f docker-compose.yml up





succeededと表示されたので下記にアクセス。

http://localhost


redashが起動できました。

ユーザーやDBの設定をしたらすぐにクエリの作成ができます。




COUNT



select count(*)で取得した、指定列の指定行の値を表示できます。

Visualization TypeをCOUNTにしてグラフにすると件数が表示されます。
目標値とか達成値と現在の数値に表示させると、可視化されて見やすそうです。




Pie Chart



Visualization TypeをChart、Chart TypeをPieにしてグラフを作成すると
円グラフにして表示することができます。




Bar Chart



Visualization TypeをChart、Chart TypeをBarにしてグラフを作成すると
棒グラフにして表示することができます。

ただ、X AXIS(X軸の尺度)の設定を変更しないとグラフが表示されません。

今回は手順通りに下記に設定しました。




  • Scale -> Category


  • Sort Values -> OFF






デフォルトだと日付ごとになっていたのでCategoryごとにデータを集計するようにして、
SortはY軸でやりたいのでX軸をOFFにするのではないかと思いました。




ダッシュボード



ダッシュボードに作成したグラフを複数配置することができます。

Widget SizeをDoubleにすると1列いっぱいに表示されて、
Regularにすると反面のみに表示されるようです。

また、元のクエリを変更すると、このダッシュボードにも反映してくれるようです。

一度に違う角度からのデータが見れて便利です。



パラメータ付きクエリ



変数名を {{}} で囲うと、その部分がパラメータになります。
Dropdown Listにして選べるようにする方法がとても便利でした。
値を忘れてしまったときや入力ミスに役に立ちそうです。

設定できるタイプを一通りいじってみました。




  • Text -> 入力した値


  • Number -> 上下のボタンで数値を選択


  • Dropdown List -> 設定した値をドロップダウンで選択


  • Date -> カレンダーから日付を選択、上下のボタンで年月日を選択


  • Date and Time -> カレンダーから日付を選択、上下のボタンで年月日時を選択


  • Date and Time (with seconds) -> Date and Timeに加えて秒数も選択








フィルタ



カラム名に::filter、または::multi-filterを付けてクエリを実行すると、
表の上部にドロップダウンリストが表示され、出力結果をフィルターできるようになります。

私としてはパラメータ付きクエリよりも便利だと感じました。




スニペット



よく使うクエリを保存できます。
Triggerにどんな文字列が入力されたときにスニペットで補完するかを指定できます。
Descriptionは必須ではないようですが説明を書いたほうが良さそうです。
Snippetに補完したいSQLを書きます。
${1:table} と書くとテーブル名のプレースホルダーになります。

複数指定することもできて、タブで移動できました。




クエリ結果に色を付ける



SQLの条件にHTMLを埋め込めます。

CASE文に下記のような条件を入れると色が変わりました。



WHEN Population > 1000000000 THEN '<div class="bg-success p-30 text-center">AAA</div>'



クエリの結果が更に見やすくなって便利です。




リンク集をつくる



クエリ結果がURLになると、自動的にリンクにしてくれます。
作成したダッシュボードのリンク集などを作っておくと便利そうです。




クエリ結果をダウンロードする



クエリを開いて「Download Dataset」ボタンを押すと、
CSVファイルまたはExcelファイルとしてダウンロードできます。
Excelで集計結果を出さなければいけないとき、
この機能を使えば簡単に出すことができそうです。




フォーク機能



既存のクエリを開いて「Show Source」ボタンを押すことで、
既存のクエリを流用して、新しいクエリを作成することができます。




Redashを初めて使ってみた感想



python使ってごにょごにょするイメージがあったのですが、
SQLで集計結果を出力して設定を少しいじるだけで綺麗に可視化してくれるので、
非常に便利だと感じました。(pythonも使えるみたいですが)



他にもいろいろ機能ありそうなのでいじってみたいのと

可視化した結果を実際の業務や改善などに活かしていきたいと思いました。



ハンズオン資料がとても丁寧でわかりやすかったので、途中でつまることなく楽しく進められました。



ありがとうございました。