【PowerBI】データソースの日付データをもとにカレンダーテーブルを作成する方法


# 1. はじめに
こんにちわ。ATL加藤　初投稿です。


最近PowerBIDesktopで作業することが増えてきました～

すでにあるデータソース(csvファイル)にお客さんがデータを追加していったとき
カレンダーテーブルも更新されるレポートを作りたいんだけど、
どうすればいいんだろ～＞＜。


カレンダーテーブルの作り方はWebで調べると便利な方法や、かっこいい方法が色々掲載されていますが、
あまり難しく考えず、初心者でも理解しやすいカレンダーテーブルの記事があったらと思いまとめてみました。


**※免責事項(必ず、ご一読ください)**
本記事の情報により生じた、いかなる損害や損失についても、当社は一切の責任を負いかねます。また、誤情報が入り込んだり、情報が古くなったりすることもありますので、必ずしも正確性を保証するものではありませんのでご了承ください。

# 2. 概要
・PowerBI Desktop バージョン: 2.112.603.0 

**取込のサンプルデータ：**
今回は2つのcsvファイルを取り込みます。

①甲府の最低気温・最高気温.csv
　→年月日・最高気温・最低気温
年月日の範囲は、2022/10/22～2022/11/30
![スクリーンショット 2023-01-04 171310.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2326369/0f08224e-1ad4-04a3-4707-48780f4b1e34.png)


②甲府の天気.csv
　→年月日・昼天気・夜天気
年月日の範囲は、2022/10/01～2022/11/30
![スクリーンショット 2023-01-04 171355小.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2326369/24331fa3-3b4b-4155-9bd5-ac29d6d4a73b.png)


# 3. 手順
①csvデータ取込
②カレンダーマスタを作る。
③リレーションして、グラフを作成してみる。
④データを追加してカレンダーマスタに反映されるか確認する。
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
**①データ取込**
さっそくPowerBIDesktopに取り込んでいきます。
　→「データ変換」を選択

　同様に、甲府_天気.CSVも取り込みます。

![取込小.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2326369/10e8e761-2346-8fbf-9b9f-be62325ed326.png)

**②カレンダーマスタを作る手順**

［ホーム］→［クエリの追加］→［クエリを新規クエリとして追加］

![取込3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2326369/43d23cfc-cab7-4214-715e-e3b7864e7261.png)
![取込4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2326369/d2161263-93cd-309c-d07d-dd8a3eb3e4db.png)

右クリック→[名前の変更]からテーブルの名前を変更します。
今回は【M_カレンダー】とします。
![取込5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2326369/06a274b6-6be0-97b8-f029-f436abfb72be.png)

[年月日]以外の列を選択し、右クリック→[列の削除]
![取込6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2326369/3c51dab6-e4d9-8e5e-6e88-979aa7ea6d68.png)

右クリック→[重複の削除]
![取込7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2326369/5bbcc5b8-a17d-ce83-e78b-658085a2a083.png)



ここまでできたら[閉じて適用]

**③リレーションして、グラフを作成してみます。**

「モデル」→年月日をリレーションシップします。
![取込8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2326369/fba6e3ae-7b6d-9281-4d70-410468f0db49.png)
今回はこんな感じで作ってみました。
![キータ_カレンダー取込11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2326369/e6d5f3ef-888c-8741-1ce4-b15e7270aa77.png)
M_カレンダーの範囲は2022/10/01～2022/11/30となっています。
![キータ_カレンダー取込11_注目.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2326369/0aa4b51e-33a2-6cf6-653c-3fefa7f2b373.png)
**④データを追加してカレンダーマスタに反映されるか確認する**
データソース(甲府_気温.csv)ファイルに、12/1～12/10のデータを追加します。
![キータ_カレンダー取込14_追加.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2326369/caf90944-fe47-bfd2-add9-9141b52802af.png)

PowerBIDesktop[ホーム]→[更新]
![小取込_更新 .png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2326369/5bb38932-ec36-5ebf-f1a6-76990e94268e.png)
テーブルを確認すると勝手に増えています
![更新後_マスタ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2326369/6f2e7afa-88e9-d186-3526-932329ad2613.png)
グラフも更新されました
![更新後_キータ_カレンダー取込16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2326369/e955ba81-e9d7-b3de-2672-1f4810bad78c.png)
**おまけ**
カレンダーテーブルに追加すると便利な列
- 曜日 = FORMAT([年月日(列名)],"aaa","ja")
- 曜日NO = WEEKDAY([年月日(列名)],1)　
　※詳細はWEEKDAY関数を検索＾＾
# 4. まとめ
いかがでしたでしょうか？
難しい事はできるだけそぎ落として、シンプルにまとめてみました。
少しでも皆さんの参考になればと思います。
# 5. 参考資料
サンプルデータは↓のサイトから取得しました。
- [気象庁｜過去の気象データ・ダウンロード](https://www.data.jma.go.jp/gmd/risk/obsdl/)
# 6. 最後に
　最後まで読んでいただき、ありがとうございました！
　参考になりましたら、💖「いいね」していただけると励みになります＾＾

　弊社は**facebook**もしております！
[![f_logo_RGB-Blue_64.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1661584/81cb9432-5fc7-7dfd-0155-15a602114fa2.png)](https://www.facebook.com/atlsystems)