目次
はじめに
こんにちは、新入社員のハヤシです。
効率化を常日頃求めるエンジニアならばサボることに対しても効率を求めるはず。
ということで、今回は効率良くサボるためにデータの可視化を実施しました。
AWS QuickSightとは
今回使用したサービスはタイトルのとおりAWS QuickSightです。
QuickSightはクラウドベースのBI(ビジネスインテリジェンス)ツールです。
データを解析するための環境がなくともデータさえ取り込めば、自動的にデータの集計・可視化をしてくれます。
データの参照先としてS3やRDSなどAWSデータソースも利用でき、シームレスに連携することが可能です。
やってみた
ということで早速データの可視化を実施してみます。
サボった時間を記録したデータを基に、月ごとに数値化しグラフにて表示させる想定で進めていきます。
S3でデータを取得する
まずは可視化するためのデータを用意します。
データは「月」「日」「サボった時間」の情報をCSV形式で取得していきます。
今回は仮で3カ月分のデータを取得した想定で以下CSVを用意しました。
▼data.csv
Month,Day,Hours
1,5,10
1,15,10
1,20,16
2,3,6
2,15,8
2,25,4
3,10,7
3,14,6
3,28,9
また、S3のデータをQuickSightで読み取るにはマニフェストファイルという
AWSリソースについての情報を記述したファイルが必要になります。
▼manifest.json
{
"fileLocations": [
{
"URIs": [
"https://xxxxxx" #S3のバケットURL
]
}
],
"globalUploadSettings": {
"format": "CSV",
"delimiter": ",",
"containsHeader": true
}
}
これら2つをS3に格納します。
QuickSightで可視化する
それでは用意したデータをQuickSightで可視化していきます。
まずはQuickSightからS3へのアクセスを許可させます。
[QuickSight の管理]の設定から[セキュリティとアクセス許可]を選択し
許可したいS3バケットを個別に指定します。
次にS3からQuickSightへデータをインポートします。
QuickSightのホームから[新しい分析]の[新しいデータセット]へ移動し[S3]を選択します。
このとき「データソース名」と「マニフェストファイルのアップロード」の入力が必要です。
マニフェストファイルのアップロードには、S3の画面からURLを取得して貼り付けるだけでOKです。
無事にS3と接続できたら、いよいよ可視化させていきます。
用途に適したビジュアルタイプを選択し(今回は「垂直積み上げ棒グラフ」にしました)
「X軸」「値」「グループ」にそれぞれ適切な項目を指定します。
そうしたら、あっという間にグラフができデータが可視化されました。
右側に表示されている[プロパティ]からラベル等の表示設定も適宜変更可能です。
QuickSightをWEBに埋め込む
最後にQuickSightで作成したグラフをWEBに埋め込みます。
先ほど作成したグラフを公開し[QuickSightの管理]の設定の[ドメインと埋め込み]から
送信元ドメインを明示的に許可する必要があります。
許可できたら先ほど作成したグラフのページに戻って[共有]ボタンから
[ダッシュボードの埋め込み]の[埋め込みコードをコピー]でコピーした以下のようなコードを貼り付けれはOKです。
<iframe
width="960"
height="720"
src="https://xxxxxx">
</iframe>
完成
あとはアプリとして成立させるためにカレンダーや記録入力機能なんかを足してやれば、
グラフを参考にサボタージュのスケジュールを計画できる「サボタージュール」の完成です!
サボり度合を可視化することで自分が頑張り過ぎてないか
はたまたサボり過ぎてないかを数値で判断でき
効率よく計画的にサボることが出来るのではないでしょうか。
以上、最後までお付き合いいただきありがとうございました。
それではよいサボりライフを~🈂️
新米エンジニア