業務改善 web開発 programming 旅行系記事多め。

【Yearweek(YYYYWW)を日付(YYYY/MM/DD)に変換】アナリティクス自動更新API

yyyywwをyyyymmddにGoogleAnalytics
前回の記事では、スプレッドシートでのアドオンの導入から設定までをご紹介しました。
 
 
今回は、それを週次で完全に自動更新する方法と、
Yearweek(YYYYWW)を日付(YYYY/MM/DD)に変換する関数について書き残しておきたいと思います。
 
 
 
 

週次レポートの作り方

 
 
◆希望の内容
期間:3ヶ月前の第1週から先週までのデータ
(これが勝手に1週間ずつ更新されるイメージ)
週始まり:月曜日
 
 
◆入力する内容
StartDate: =Today()-WEEKDAY(Today(), 3)-19*7
EndDate: =Today()-WEEKDAY(Today(), 2)
Dimensions:【後から追加】ga:yearweek
 
startdate enddate
以上を入力して、「アドオン」→「Google Analytics」→「Run reports」をクリックします。
 
 
 
週次PVUUにデータが反映される
「週次PVUU」タブにデータが反映されていることを確認します。
 
 
 
 

完全自動更新化にする作業

 


「アドオン」→「Google Analytics」→「Schedule reports」を選択。

 
 
 
「Enable reports to run automatically」にチェックを入れます。
「every hour(毎時間)」「every day(毎日)」「every week(毎週)」「every month(毎月)」の中から希望の更新タイミングを選びます。
1つのビューからAPIリクエストを送信できる件数には上限があるため、every hourは不必要に選ばないようにしましょう。
 
 
 
週次データなので、ぱらげの場合はeveryweekを選択しました。
すると、曜日と時間帯の選択枠が現れます。
前日のデータだと正確に反映されていない可能性があるので、
週の締め日が日曜とすると、更新タイミングはTuesday(火曜日)あたりがいいかもしれません。
時間は特にこだわりがないのでデフォルトの「4a.m.-5a.m.」のままにしました。
 
 

 

saveを押すと、指定した時間帯に自動的にデータが反映されます。
 
 
 
 

別タブに「サマリ」シートを作成

 

サマリシートを作成
サマリシートを作っておくと、シート上でグラフなどデータ表示方法を自由にカスタマイズできるようになるのでとても便利です。

 
タイトル部分をコピペ
まず「週次PVUU」タブのタイトル部分を「サマリ」のA1、B1、C1、D1までをコピペします。
 
 
横に数式をコピー
A2の数式バーに「=’週次PVUU’!A16」(週次PVUUタブのデータが開始される行)を入力します。
A2を選択した状態で、B2、C2、D2までドラッグし、数式をコピーします。(それぞれデータが表示されたことを確認します)
 
 
 
A2、B2、C2、D2を選択した状態で、一番下までドラッグします。
 

 

 

Yearweek(YYYYWW)を日付(YYYY/MM/DD)に変換

 
この内容は地味に書かれている記事がほとんど見当たらなかったので、困っている人は是非参考にしてください。
 
 
変な数字
B列「ga:yearweek」のデータをみてみると、「201824」とかいうように変な数字になっていますね。
Dimensionsで指定したyearweekは(YYYYWW)と表記されるようです。しかし、これだといつ頃の日付かわかりませんよね。
 
 
そこで、関数でYearweek(YYYYWW)を日付(YYYY/MM/DD)に変換される列を新たに作りたいと思います。
 
 
 
 
A列左に変換用の新たな列を挿入します。
 
 
 
 
 
A1に適当にタイトルを入れます。(日付とか)
A2の数式バーに下記の関数をいれます。
 
=IF(C2=“”,“”,IF(MID(C2,5,2)=“01”,TEXT(DATE(MID(C2,1,4),1,1),“YY/MM/DD”),TEXT(DATE(MID(C2,1,4),1,1)+7*(MID(C2,5,2)2)+7WEEKDAY(DATE(MID(C2,1,4),1,1))+1,“YY/MM/DD”))&“~”&IF(MID(C2,5,2)=“53”,TEXT(MID(C2,1,4)&“/12/31”,“YY/MM/DD”),IF(MID(C2,5,2)=“01”,TEXT(DATE(MID(C2,1,4),1,1)+7*(MID(C2,5,2)2)+7WEEKDAY(DATE(MID(C2,1,4),1,1))+7,“yy/mm/dd”),TEXT(DATE(MID(C2,1,4),1,1)+7*(MID(C2,5,2)2)+7WEEKDAY(DATE(MID(C2,1,4),1,1))+7,“yy/mm/dd”))))
 
※IFから始まる上記の関数の中に「C2」と書いているセル番号を全て探してください。このセルが「ga:yearweek」列の先頭セルであることを確認します。(場合によっては「ga:yearweek」の列がB列だったりするため→その場合は「C2」を「B2」に全て書き換えます)
 
 
数式をしたまでコピーする
日付が入ったことを確認し、A2セルを一番下までコピーします。
 
 
 
これで、もし下にデータが増えたとしても自動的に反映されるようになります。
 
 
 
意味不明な数値表示から、わかりやすい1週間ごとの日付で表示されるようになりました!
 
 
 

 

コメント

タイトルとURLをコピーしました