Redash×GoogleSpreadSheet×Googleスライドで定例資料更新を半自動にする
週次や月次で行っている定例報告資料の作成、めんどくさくありませんか?特に、数字をただ記入するだけの作業や、エクセルなどにある数字をパワポに移動するだけの作業はただのコストですし、極力やりたくないですよね。
そこでこの記事では、Redash・GoogleSpreadSheet・Googleスライドの3つを利用して、定例資料のグラフ部分の更新を半自動にする方法について記載します。
この記事の前提はRedashが社内に導入されている・必要なデータがRedashで取り出せることです。
またこの記事の対象者は、何かしら定例資料の更新作業を行っている方です。
この記事に記載のものが実現できるようになれば、事象を分析し、示唆や施策を考えるところに集中できるようになります(無駄な作業はせずにすみます)。
Redashとは?
Redashとは、様々なデータソース(MySQLやBigQueryなど)に対応したダッシュボードツールです。自由にデータ抽出や加工、チャート化ができるのでKPI管理やデータ分析に非常に便利です。
定例報告資料を半自動にするメリット
メリットは下記だと考えます。
・更新作業分の工数削減
・工数が削減される分、他の重要な仕事に時間が使える
・万が一、自分がいなくなっても困らない(俗人化防止)
では、手順を説明していきます。
【1】報告が必要なKPIのデータ抽出クエリを作る
まずは報告に必要なデータを取り出せるクエリを作成します。
今回は、メディア系のサービスを運営しているとして「前月の日次PVを月次で報告する資料」を仮定してみます。※データはテキトーです。
(1)データソースのTABLEを確認する
まずはどのTABLEから何の数字を抽出したいのか考えます。今回は、下記のTABLEから、前月の日付ごとのPV数を抽出します。
(2)クエリを書く
例えばこのようにクエリを書いて、前月分だけ日付ごとのPageview数が集計されるようにします。グラフ化しやすいように日付昇順で並べています。
SELECT
Date,
SUM(Pageviews) AS PV
FROM query_652020
WHERE Date > DATE_FORMAT(CURDATE() - INTERVAL 1 MONTH)
GROUP BY Date
ORDER BY Date ASC
↓抽出結果
【2】定期更新の設定を行う
クエリができたら、それが定期的に更新されるようにします。現状のRedashでは、下記の期間での更新設定になるので「月初」という設定は残念ながらありません。
・1 Day
・30 Days
・1week
・2weeks
クエリの重さによりますが、そこまで重くないものであれば「1 Day」を選んでおけば、月初のタイミングでいつ確認しても最新の状態になります。ただ、負荷が大きいものに関しては「30 Days」や「1week」「2weeks」を選ぶか、更新ボタンは自分で押すようにする必要があります。
【3】更新するクエリのAPI Keyを取得する
次に、定期更新するクエリのAPI Keyを取得します。まずは、画面右上の「…」をクリックし、「Show API Key」をクリックします。
そうすると、このようにAPI Keyが表示されますので真ん中のCSV formatを選択しコピーします。これをGoogleSpreadSheetに連携します。
【4】GoogleSpreadSheetに連携
RedashのデータをGoogleSpreadSheetに反映させますために、先ほどのAPI Keyと合わせて「IMPORTDATA関数」を利用します(めっちゃ簡単です)。
=IMPORTDATA("<ここにAPI Keyを入れる>")
↓ このように関数を入れると…
このように、データが反映されます。Redash側を定期更新にしているので、データが更新される度にSpreadsheet側のデータも自動で更新されます。
【5】グラフを作成し、Googleスライドに埋め込み
あとは、好きなようにグラフ化し、Googleスライドに埋め込めばOKです。
例えば、今回は日次PV推移なので、折れ線グラフにします。
↓ これを「スプレッドシートにリンク」でGoogleスライドに埋め込み
↓ これでスライドが完成
※更新時はGoogleスライド上で「更新ボタン」が右上に表示されるので、それを押せばデータが最新になります。
これで、月初になれば半自動でスライドが1枚できあがる(更新される)ようになりました。あとは要因分析や打ち手などを考え、文章を入れればOKです。
1スライドあたりの更新時間は数分程度だったとしても、それが積み重なると数十分や数時間になることもあるのではないでしょうか。だからこそ、単純作業部分は少しでも自動化して、価値の高い仕事に集中したいですよね。
以上です。最後までお読み頂きありがとうございました。
------------------------------------
よかったらtwitterのフォローもどうぞ。
https://twitter.com/MasayukiAbe7
------------------------------------