Power BI & Power Queryエディター を使い、新型コロナ陽性者数を曜日別集計

##月日から曜日列を作成します
[以前取得したNHKのオープンデータ](https://qiita.com/text_owleyes_0214/items/5f8a12a25638fecfeae0)をExcelのPower Queryで更新します。

<img width="700" alt="曜日別集計1" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/8b578b6c-b574-e563-4fe2-1a672da97527.png">

**「クエリと接続」**をクリックし、右側の**「1個のクエリ」**の下の、今回のクエリを右クリックして**「編集」**を選択し、**Power Queryエディター**を開きます。

<img width="800" alt="曜日別集計2" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/b4a7b16f-dcf0-f331-2edc-e397833b7663.png">

「日付」列をクリック（選択）し、**画面上の「列の追加」→「例からの列」→「選択範囲から」**を選びます。

<img width="700" alt="曜日別集計3" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/aece4318-ba02-da89-a8dc-2a8d4bde07eb.png">

追加された**例1**の列の最初のセルをダブルクリックします。

<img width="700" alt="曜日別集計4" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/9806db9a-00e0-5707-c375-b4d3ec42a085.png">

今回の場合**木曜日**をクリックします。

<img width="700" alt="曜日別集計5" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/6f6d69a8-ea09-821f-13bd-838b631f54d6.png">

**「OK」**を押すと、曜日名が入った列へと変わります。

<img width="700" alt="曜日別集計6" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/98821a8d-5b65-59c4-ad58-b41ad6ebf77a.png">

**「ホーム」→「閉じて読み込む」**で、Excelの表に反映させ、保存します。

<img width="500" alt="曜日別集計7" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/2b728296-504f-c9ac-1edc-938720dd9c40.png">

<img width="500" alt="曜日別集計8" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/45223a65-25dc-e240-76a9-11fd1b10f755.png">

##Power BIで凡例グラフを作成します
Excelを閉じてPower BIを（編集モードに切り替えて）更新します。
（更新ボタンを押さなくても更新されているかもしれません）

※更新されてない場合、手動更新が可能です。[→こちら参照](https://qiita.com/text_owleyes_0214/items/f3d4ee81dbc7a651873f)

<img width="500" alt="曜日別集計9" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/9a90558d-79f3-aecf-1b3e-075a9c5600ea.png">

表示された棒グラフを選択し、凡例を使って見やすい折れ線グラフに変更します。

<img width="500" alt="曜日別集計10" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/0c8d46fa-f2fa-1dcb-750d-80321d59d7c5.png">

<img width="700" alt="曜日別集計11" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/55b76eee-a170-41ae-d199-bbccb347eb17.png">

画面右の**「曜日」**フィールドを隣のパネルの**「凡例」**にドラッグします。

<img width="300" alt="曜日別集計12" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/537b4aa6-fd40-eccf-5898-896554100461.png">

曜日別の折れ線グラフが表示されます。

<img width="700" alt="曜日別集計13" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1143963/23a3bcc9-5e77-4393-5d0e-0dd6025dfe34.png">

左上の凡例表示の順番が曜日順ではありません。
このケースを取り上げているサイトをいくつか見たことがあります。
回避策はあるそうなので、別の機会に試すつもりです。

##スクリプトを書かずに曜日に変換できるのが便利でした
[Google Data Portal](https://datastudio.google.com/)でも曜日名フィールドを追加したことがあります。
その際は下記のようなスクリプトを使いました。

**日付を曜日番号に変換**

```SQL
WEEK_No =
WEEKDAY(YYYYMMDD,'DEFAULT_DECIMAL')
```

**曜日番号を曜日に変換**

```SQL
WEEKDAY =
CASE
WHEN WEEK_No = 0 THEN '日曜日'
WHEN WEEK_No = 1 THEN '月曜日'
WHEN WEEK_No = 2 THEN '火曜日'
WHEN WEEK_No = 3 THEN '水曜日'
WHEN WEEK_No = 4 THEN '木曜日'
WHEN WEEK_No = 5 THEN '金曜日'
WHEN WEEK_No = 6 THEN '土曜日'
ELSE 'other'
END
```

上記は恐らくこちらのサイトを参考にしました。
[Googleデータポータルでよく使う関数まとめ【コピペ利用可】](https://googleanalytics-laboratory.com/columns/5)

スクリプトを書かず変換できるのは便利です。
でも、スクリプトでできること理解した上で今回のPower BIの機能を使えた方が、後々応用が利くような気もしています。
Power Queryではマスで操作した手順をスクリプトで記録しています。
スクリプトを少し変えることで細かく振る舞いを変更でき、便利だと思うケースがいくつもありました。

**了**