![見出し画像](https://assets.st-note.com/production/uploads/images/92355575/rectangle_large_type_2_8887d318baa891911618526a7f62cf47.png?width=1200)
知っておくと絶対役立つ!「Redash」の便利機能3選(初級編)
いろいろな場所にあるデータソースを一箇所で可視化できるツール「Redash(リダッシュ)」。SQLを書いたり共有したりするのにとても役立ちますよね。
そんなRedashを活用している方に向けて、知っておくと絶対役立つ便利機能をご紹介します。私自身もよく使う機能ばかりなので、ぜひ覚えていってください。
こんな方におすすめ💡
・Redashを最近使いはじめた
・SQLでとるデータを定期的に確認したい
・Redash上の実行結果を見やすくしたい
この記事は、SQLがすき&勉強中の非エンジニア(Webディレクター)が書いています。ディレクターがどんどんSQLを書けるようになりますように。
📍書き終わったSQLを見やすく自動整形する(FormatQuery)
大文字・小文字、改行やインデントの "統一" って地味にめんどくさいですよね・・・。そんな時に便利なのが FormatQuery という機能。記述しているときは気にせずにばばばーっと書いて、最終的にワンクリックするだけで、最適な見栄えのSQLになおしてくれます。
![](https://assets.st-note.com/img/1669806448602-gxpThg2IJZ.png?width=1200)
例えばこんな適当に書いたガタガタなクエリも😂
select *
FROM user
join databese
on user.id = databese.user_id
where user.id = 111
FormatQueryをワンクリックでピッときれいに!😍
長いクエリであるほど大活躍します♪
SELECT *
FROM user
JOIN database ON user.id = databese.user_id
WHERE user.id = 111
エディタには基本ある機能なのかも?
特に使いはじめたばかりという人は場所を知っておくと便利です。
(個人的にBigQueryのFormat機能は改行が多すぎて見づらいので、Redashの画面を使ってコピペする、ということがよくあります)
📍クエリを定期実行する(Refresh Schedule)
最新値を定期的に知りたい場合は、Refresh Schedule を設定しましょう。
以下の単位で自動実行が可能です。
分単位
時間単位
日単位(1日、30日)
週単位(1週間、2週間)
設定手順
クエリ画面の左下にこのような表示があります。
![](https://assets.st-note.com/img/1669875603876-J1NQQNAUQw.png?width=1200)
「Naver」をクリックすると、スケジュール設定のモーダルが開きます。プルダウンメニューから実行頻度を選択しましょう。
※対象クエリの「作成者」でない場合はモーダルが開きません。作成者に代理で設定してもらうか、編集権限をもらいましょう。
![](https://assets.st-note.com/img/1669808315779-1YYUrnDD4W.png?width=1200)
日単位、週単位を選択した場合はOn time(実行タイミングの時間)も設定できます。また、Ends(終了日)は必要に応じて設定しておくと、無駄なクエリ実行を防止できます。
![](https://assets.st-note.com/img/1669875303386-z3uZN2FDxC.png?width=1200)
「OK」をクリックすると設定完了!
左下に表示されていた「Naver」の部分が、設定したスケジュールに切り替わっているはずです。
![](https://assets.st-note.com/img/1669875518290-1A1hP2zuDb.png?width=1200)
📍実行結果を見やすくする(Visualization Editor)
URLをハイパーリンクにする
抽出データの中にURL形式の列が含まれていたとしても基本はただのテキスト状態で表示されますが、Visualization Editor でリンク状態にすること可能です。気になるURLがあればシュッとリンク先をチェックできるのは地味に便利です。
![](https://assets.st-note.com/img/1669874413315-Lu7ObEk3TN.png?width=1200)
設定手順
保存済みのクエリを開き、下部の「Edit Visualization」をクリックします。
※保存していない状態(New Query)だとメニューは出ません。
![](https://assets.st-note.com/img/1669888761947-Er5uKPsNP9.png?width=1200)
有効にしたいカラムの「Highlight links」のチェックボックスにチェックを入れて「Save」して完了です。
![](https://assets.st-note.com/img/1669888651766-Aa53uocCM8.png?width=1200)
カラム名を日本語に変更する
MySQLならAS句で日本語指定が可能ですが、BigQueryの場合は英語指定でないとエラーになります。データベースを理解している人なら英語で問題ない場合が多いかもしれませんが、そうでない誰かに実行結果を共有したい場合、英語の意味もあわせて伝えないと分かりにくいシーンがよくあります。
日本語のカラム名設定を覚えておくと、このコミュニケーションが省略できたり、第三者が見ても理解しやすいデータになります◎
設定手順
保存済みのクエリを開き、「Edit Visualization」をクリックします。カラム名の部分がテキストフォームになっているので、差し替えたい文字に編集し「Save」して完了です。
![](https://assets.st-note.com/img/1669877394058-jm58HylBoa.png?width=1200)
数字のカンマを外す
Redashでは数字データに自動でカンマ(,)をつけてくれるやさしい機能が備わっていますが、例えばユーザーIDなど、数字のデータだけどカンマは必要ないことがあります。これもVisualization Editor、もしくはSQLで外すことが可能です。
![](https://assets.st-note.com/img/1669886060910-9H9SMFYPky.png?width=1200)
設定手順
保存済みのクエリを開き、「Edit Visualization」をクリックします。
Display asのプルダウンから「Text」を選択し「Save」して完了です。
![](https://assets.st-note.com/img/1669886207913-lSiLq8ZF1F.png?width=1200)
SQLでカンマを外す方法
スマートにSQLで別のデータ型に変換する方法もあります。
今回はユーザーID(INTEGER型)を例として動作確認をしました。
1) MySQLの場合
CASTをつかって、INTEGER型をchar型に変換します。
SELECT CAST(カラム名 AS char) AS カラム名
参考:
2)BigQueryの場合
BigQueryの場合はchar型への置き換えは対応していないようですが、NUMERIC型やBIGNUMERIC型への置き換えでカンマが外すことができました。
SELECT CAST(カラム名 AS NUMERIC) AS カラム名
参考:
変換関数 | BigQuery | Google Cloud
スキーマの指定 - Google 標準 SQL データ型 | BigQuery | Google Cloud
まとめ
今回はRedashを活用している方に向けて、知っておくと絶対役立つ3つの便利機能をご紹介しました。
(1)書き終わったSQLを見やすく自動整形する FormatQuery
(2)クエリを定期実行する Refresh Schedule
(3)実行結果を見やすくする Visualization Editor
ひとつでも知らなかった、参考になった機能があったならうれしいです。
最後に
記事を書くために、これまでふわっと認識していたデータ型をちゃんと調べてみたりして、学びになりました。本当はSQLの汎用性を高める {{}} とか__filterをメインに書こうと思っていたのですが、長くなったのでここまでにします。笑
需要がありそうだったら第2弾を考えますので、よかったらスキやコメントなどなどリアクションお待ちしています♪
この記事はGMOペパボディレクター Advent Calendar 2022、2日目の投稿でした☺️