はじめに
今年もアドベントカレンダーはじまりました!
この記事はNE Advent Calendar 2022のカレンダー1枚目1日目の記事です。
NE株式会社のエンジニアが自分の興味あるテーマについて自由に書いていきます。
毎年一緒に参加して盛り上げてくれる皆さんに感謝です
動機
業務で扱っているデータにおいてデイリーで集計しグラフ化し毎日監視できる状態にしたかった。
今回は例として各企業毎にあるスコアがあり、それの日別の推移を見ていきたいとします。
BigQuery
既にBigQuery上に業務データが蓄積されており、それを加工してスコア化して別テーブルにデイリーで保持することにします。
SELECT
company_id,
target_date,
score
FROM hoge
WHERE
target_date >= DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)
AND target_date < CURRENT_DATE
GROUP BY
1, 2
ORDER BY
1, 2
;
hogeテーブルに蓄積データがあり、こちらから前日分のデータを取得するクエリ。
こちらをBigQueryの機能でスケジュール実行し別テーブルに蓄積します。
スコアデータ
Data Studio
次にData Studio側にて先程のデータを呼び出します。
グラフ化
後はこれを欲しい形に加工していきましょう。
横軸を時間にして縦軸をスコア、企業毎に遷移が見たいので以下のような設定になります。
イメージ通りのグラフが作れました。
BigQuery側でデイリー集計しているため、後は放っておいても自動でデータが更新されていきます、便利。
ぷちポイント
- スコアを加工する場合は「フィールドを追加」から計算式を書くといける
- 系列の数は20までしかいけず、企業が20以上あると1度には表示できない
- スコアいくつ以上いくつ以下とかでフィルタすると見たい部分が見やすくなる
まとめ
- BiqQueryにてグラフ用のデータをスケジュール実行
- それをData Studioにて呼び出し
- グラフ化の設定
ができました。
数値の可視化と監視は重要なので覚えておきたい知識ですね!
おわりに
今年も完走目指して頑張りましょー!
この後もNEのアドカレをお楽しみに!!