前回までのあらすじ
バイト結果を入力するフォームとそれを蓄積するスプレッドシートはできたが、自分が作ったFormから取得したデータではバイトのステージ情報やブキ情報が欠けている状態なので、別テーブルでいいからステージ情報とブキ情報を取得してあとでマージで切るようにしたい。
手動で作るのはだるいからスクリプトとかで勝手にできるといいなあ。
ステージ情報取得
結論から言うと、https://spla2.yuu26.com/ のサイトでJSONで情報配信してくれてるので(感謝!)、それを取得してスプレッドシートに書き込むGAS(Google Apps Script)を書いて、1日1回実施するようにした。GASってのは、まあたぶんExcelにおけるVBAみたいなものだと思ってる、正直分からんけど。
転職してから仕事ではあんまりこういうのやらないし、仕事以外でもやってる暇なかったので(ビリヤードとゲームばかり)、ひさびさなのでだいぶ手間取ったがどうにか完成した。たのちい。
このたび参考にしたサイトは以下。
AJSON取り出しと書き込み
https://tonari-it.com/gas-json-weather/
https://qiita.com/drunkerfk3/items/094859247fd0d8a32a2d
https://qiita.com/tentatsu/items/8ec2766361e70db2429a
https://t-avant.blogspot.jp/2017/08/gas-json-json-google-drive.html
https://teratail.com/questions/71773
try catch
https://tonari-it.com/gas-error-try-catch/
イベントとトリガ(定期実行)
https://tonari-it.com/gas-trigger-set/
取り込んだJSON配列へのアクセス方法がわからず若干苦戦したが、結論以下でできた(できてるが正解かどうかはわからない)
//JSON取得と変数取り込み var json = UrlFetchApp.fetch(url1).getContentText(); var jsonData = JSON.parse(json); //変数配列の値の取り込み方 var etime = jsonData.result[1].end; // 例 2018-04-01T21:00:00 var name0 = jsonData.result[0].stage.name; // 例 トキシラズいぶし工房 var name1 = jsonData.result[1].stage.name; // 例 海上集落シャケト場
そんなわけでステージ情報を取得してスプレッドシートに書き込むまではできた。次に必要なのは、蓄積したデータの集計である。
正直こういう集計あんまやらないので、とはいえIT屋のはしくれとして、ピボットテーブルとか使えばいいんでしょ?くらいのことはわかる。そして初めてピボット使ってみると、おおおこれすごーい!おもしろーい!とか言いながらいじっている。まあまあたのしい。うん、まあまあ楽しいんだけど、はっきり言ってやっててよくわかってない。たぶんどっかにこういうのうまいことやってくれるツールあるんだろうなー、どっかにないかなーとググってみると、いわゆるBIツールがこういう分析には向いているっぽいことがわかった。だったらBIツールも勉強してやろうじゃないの、ということで、次回 BIツールでデータ分析編 へつづく。
※と言いたいところだが、全然調べられてないので永遠に続きがこない説濃厚。そしていまデータ取ってるだけで楽しくて十分満足しちゃってるしね。。。
Comments (0)