七日間移動平均を「Power BI Desktop」と「Tableau Public」、「Google Data Portal」で集計・可視化


**移動平均**を表題の3種類のツールで求めてみました。
使ったデータは、[気象庁・過去の気象データダウンロード](https://www.data.jma.go.jp/gmd/risk/obsdl/)のサイトから取得した函館の平均気温です。

##Power BI Desktopで可視化

取得データは以下のような日毎の平均温度推移です。

<img width="500" alt="移動平均1" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/85a68eeb-6530-8606-ef39-3464282220b9.png">

数値確認用に、Excelで**AVERAGE関数**を使い、**移動平均**を計算しました。
集計対象日を先頭とし、7日間の平均を計算しました。

<img width="500" alt="移動平均2" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/a5791dc7-e462-39e9-a5c0-e0ecf4464bd4.png">

まず、**Power BI Desktop**でデータを取り込み、折れ線グラフを描きます。

<img width="800" alt="移動平均3" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/2ce8fba3-6443-2bf5-e6cc-e38b61632c9b.png">

**フィールド**パネルをの項目の右端をクリックし、**「新しいクイックメジャー」**を選びます。

<img width="300" alt="移動平均4" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/35d7f476-1f46-9626-a1ab-737ab89f146f.png">

**「移動平均」**の設定をします。

<img width="500" alt="移動平均5" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/5fdce331-318e-5455-b599-e80f175c1dd1.png">

**「基準値」に「平均気温」**、**「日付」に「年月日」（取得した時間軸列）**を配置します。
当日より**「前期の間」**として**「6」**、今回は当日より後の期間は対象としないので、**「後の期間」**に**「0」**を設定しました。

<img width="500" alt="移動平均6" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/e14fdd55-76b0-29cb-255a-9c2a3fb2671c.png">

その設定が反映されたフィールドが追加されます。

<img width="300" alt="移動平均7" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/c888f361-cfab-824b-ac59-294c9aecf242.png">

先ほど作った折れ線グラフに追加します。

<img width="800" alt="移動平均8" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/7a3e631b-94db-3f4a-ffe0-b2f65df4dbdc.png">

ただ、集計最終日の数字+6日目の数字までが集計範囲と認識されるようで、平均気温が記録されていない日にちも計算されています。
表形式にするとわかりやすくなり、対処法も見えてきました。
取得したデータ**「平均気温」**が**「空白でない」**とすることで、移動平均も集計最終日までの計算で終えることができました（表示範囲を変更することができました）。

<img width="800" alt="移動平均9" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/3b8c6767-5fd1-dc0a-d808-7a211355370a.png">

<img width="700" alt="移動平均10" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/ffad0121-f627-8abc-0544-55e6579aed56.png">

##Tableau Publicで可視化

次に、**「Tableau Public」**にデータを取り込みます。
**「null」**が入り込みましたが、今回のケースでは無視して描画できるので、先に進みます。

<img width="700" alt="移動平均11" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/57f4999a-2a3f-a620-a99a-d5f4dc252250.png">

**「列」に「年月日」を配置**します。
**年単位**の軸になっているので、**●年●月●日**形式の軸に変更します。

<img width="700" alt="移動平均12" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/5a7b72ab-1445-f877-2920-18f164746950.png">

**「行」に「「平均気温」を配置**し、折れ線グラフを選んで描画します。

<img width="800" alt="移動平均13" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/0ee3d23b-d53c-b114-c776-44e5e43aa99d.png">

**移動平均**のグラフを用意します。
**行の「平均気温」**をクリックし、**「簡易表計算」→「移動平均」**を選択します。

<img width="700" alt="移動平均14" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/5daafe2f-ce83-c9d4-69c8-88f0c76657d3.png">

このままでは**2日間の移動平均**なので、今度は**「シェルフでの編集」**を選んで設定値を変更します。

<img width="700" alt="移動平均15" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/cc4d24bb-e81e-6777-ca74-71a4004c2c3d.png">

**「-2」を「-6」**に変えます。

<img width="700" alt="移動平均16" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/4ac4485a-3d31-64c3-1013-20c2364e3cd7.png">

<img width="700" alt="移動平均17" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/29ae1a1a-f3b0-0e12-0e39-d25d9dcb1f7a.png">

移動平均のグラフが描かれます。
左パネルから**「平均気温」**を再度ドラッグすると、平均気温と移動平均の2つのグラフが並びます。

<img width="700" alt="移動平均18" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/5fb083a8-f172-482e-13db-4205f3e0f1a0.png">

##Google Data Portalで可視化

最後に**「Google Data Portal」**で可視化します。
Portalの場合、Googleスプレッドシートにデータを取り込みます。

<img width="500" alt="移動平均19" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/271e8d69-6223-d100-1da7-64899a62997e.png">

「Google Data Portal」には、移動平均の関数はないようなので、Googleスプレッドシートを利用します。
冒頭のExcel同様に平均を求める関数で移動平均を計算します。

<img width="500" alt="移動平均20" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/1b3f2ba7-f4c1-41cf-d22d-147881b7ed58.png">

Google Data Portalから、上記Googleスプレッドシートのデータを取り込みます。

<img width="500" alt="移動平均20" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/946dc687-14fc-ac0a-9004-b34cad49632a.png">

取り込んだ直後の画面です。

<img width="800" alt="移動平均21" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/b1c988a4-2d6f-2eb9-60a6-12647a2030c5.png">

折れ線グラフを選び、**「指標」に「平均気温」とGoogleスプレッドシートで計算した「移動平均」**をドラッグします。
折れ線グラフの完成です。

<img width="800" alt="移動平均22" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/d65438ad-16d6-7585-e5e7-665e805633b7.png">

**了**