辛いやつ食べた.辛いやつ食べると汗びっしょりになるけど辛いやつはおいしい.
今週は連日飲み会が続いていて,連日めちゃくちゃに飲みすぎていた.
毎日懲りずに二日酔いになっていてさすがに懲りたので,飲酒の実績や統計情報が一目で分かるダッシュボードを作ることにした.
データの蓄積によって次に取るべきアクションを得られたり,飲みすぎる前にやめましょうと判断できるようになれば,来たるべきビッグデータ時代が到来するはず.
ダッシュボードを作るにあたって,Google データスタジオを使うことにする.これまではベータ版だったけど,今日正式版がリリースされた.仕事で開発しているサービスのKPIダッシュボードも最近Google データスタジオで作っていたので,同じ調子で作ってみる.
analytics-ja.googleblog.com
簡単3ステップでダッシュボードを作ることができる.
日ごとに,飲んだ酒の種類や量,帰宅時間,翌朝二日酔いになったかどうか,良かった点,悪かった点,次に取りたいアクション,などを入力していく.
集計するのがなるべく簡単になるように,簡単な数字に落とし込めるものは単純な形式の数字にするのがよい.
最初は「ビール4缶とワイン」とか書いてたけど,自然文で書くと集計できなくなるので,ワインのセルとビールのセルを分けた.ビールも,缶ビールと生ビールで分けることにした.理由は後述する.
データソースは,レポートに表示するためのデータ.Spreadsheetの値を流しこめるほかに,データソース側で流しこんだ値を計算して,新しいフィールドを作ることができる.Google データスタジオにアクセスして作る.
Spreadsheetには飲んだ缶の本数を記録しておき,飲んだ本数からアルコール量を計算することにした.
こんな形で,缶の本数に350(ml)をかけて,0.05(5%)をかけると,飲んだ缶の本数からアルコール量を計算できる.生ビールと缶ビールで容量がちがうので,セルを分けることにした.
飲んだアルコールの合計はこんな感じで足していく.
これは飲酒時間の式で,定時の19時から帰宅まで1秒も休まず飲んだと仮定して飲酒時間の秒数を計算している.0:12 とか書きたかったけど,集計スキルが低くてうまくいかなかったので,Spreadsheet側で,帰宅時と帰宅分にセルを分けることにした.式を見ると分かるけど,0時や1時って書くとマイナスになるので,24時と書いて運用でカバーしている.
こちらが完成したレポートです.いろんなグラフや表が載っているけど,すべて僕の飲酒に関する情報.こんな詳細に飲酒についての集計情報を見ることはあまりないと思う.
レポートを作るにあたっては,最終的に見たい情報や,こういう情報を見て,こういうときはこういうことが分かりそう,ということをイメージしながらSpreadsheetやデータソースを準備しておくのが大切で,ほしいデータが足りなかったら表に戻ったり,式を直したりする.1方向に組み立てて完成ではなく,行ったり来たりしながらブラッシュアップしていく.
完成したレポートを見るといろんなことが分かる.
グラフはインタラクティブで,動的に期間を変えたり,マウスカーソルをホバーすると具体的な値を見れたり,フィルタ機能をつかって二日酔いになった日だけに表示するデータを絞り込んだりできる.
知りたい情報にドリルダウンしていけるようなダッシュボードは良いダッシュボードだと思う.
プリセットのテーマには白いのと黒いのがあって,黒っぽい背景にすることもできる.テーマを変えると,重要なサーバーでも監視してそうなハッカーっぽいレポートが完成する.
「悲劇を繰り返さないために」というコーナーを設けていて,ここで次のアクションを検討できるようになっている.Spreadsheetに毎日感想を書いていって,それを集計すると,自然と次のアクションを取れるはず.
これによって分かることは
プロトタイプとしては良いものができたと思う.データが集まってくれば,先週と比べて飲酒量がどうなっていたか比べることができる.
今はおもしろがってデータを入力しているけど,今後更新が面倒になってくることが予想される.Google Apps Scriptを使えばPOSTリクエストを送ってシートを操作できるので,ビールを飲んだら押すボタンを作って簡単に記録できるようにしたり,別の情報源から帰宅時間を自動で入れたりして,運用コストを下げることも検討したい.
ふだん酒飲みすぎているために健康状況はめちゃくちゃで,血液検査で引っかかったり,しばらく酒を控えたら数値が元に戻ったりしているので,長期的にデータが集まってきたら,健康診断のレポートもあわせて,一週間あたり何ml以上アルコールを摂取すると上がるとか,これくらいに控えればOKとか,ウコンは本当に効果があるのかとか,そういった実験もできるようになりたい.
今住んでいる部屋を探すときもGoogle Spreadsheetを使って効率的に探すことができた.こちらもおすすめです.
blog.sushi.money
英語でコードレビューなどしていると,日本語で書いているときよりは語彙が減るので,「こういうことも考えるので,こうしてみてはどうですか?」って書きたいのに「直しなさい」てなったり,「お返事ください」って書きたいところで「私はあなたの返信を待っています」みたいになってしまって,表現が硬くて,全然そんなテンションじゃないのに,剛速球でボールを投げて相手にぶつけるみたいになってしまう.
英語書くの苦手なので絵文字だけでコードレビューを乗り切ろうとしようとしている https://t.co/np93CPiD9G pic.twitter.com/MLUysb4RZ0
— 趣味はマリンスポーツです (@hitode909) 2017年2月2日
英語苦手なのでGoogle翻訳でコードレビューを乗り切れるかためしている pic.twitter.com/Ywikbz5IpE
— 趣味はマリンスポーツです (@hitode909) 2017年2月2日
1時に帰ってきて,洗濯するには,2時まで起きてないといけなくて困っていたのだけど,冷静に考えるとタイマー機能があるはず ,なぜなら,炊飯器にもタイマーがあるから,ということを考えたら,たしかにタイマーがあって,朝に洗濯されるように設定できて便利だった.朝起きて干して,タオルや靴下など,どうでもいいものは乾燥かけて終わり.最高.
使わない機能には無頓着で,洗濯機買ってから1年以上気付いてなかった.ソフトウェア使ってても,使ってない便利機能がたくさんありそう.
飲みすぎチェッカー君,5回くらい使ったら壊れてしまったので,オープンソースなもので自作したい.朝起きたときにボタンを押したらSpreadsheetに記録していくとか,Raspberry Piにセンサーをつないで値を取るとか,そういう世界観.