Power BIでデータ分析を行う際カレンダーテーブルは不可欠な存在です。日付データを管理し時間軸での分析をスムーズにするだけでなく、祝日や営業日、週末の考慮も可能になります。今回は基本のカレンダーテーブルを作成し、別途インポートした祝日リストから祝日情報を追加する方法まで説明します。
なぜカレンダーテーブルが必要なのか?
カレンダーテーブルがないと起こる問題:
✅ 売上データに「日付」列があっても、月別の集計や前年同月比の比較が難しい
✅ 週末や祝日を考慮した分析(営業日ベースの計算)ができない
✅ 日付の欠落(例えば、売上がない日はデータが存在しない)
そこで、 カレンダーテーブルを作成することで、これらの課題を解決 し、より正確なデータ分析が可能になります。
Power BIでカレンダーテーブルを作成する方法
Power BIではDAX関数を使ってカレンダーテーブルを作成できます。まずは基本形を作成し、次に応用として祝日・営業日ロジックを組み込みます。
(1) 基本のカレンダーテーブルを作成
🛠 手順 1:新しいテーブルを作成する
- Power BI Desktopを開く
- 「データ」または「レポート」ビューを開く
- 「モデリング」タブ →「新しいテーブル」をクリック

以下のDAXコードをPower BIの「新しいテーブル」で実行すると、 CalendarTable
というカレンダーテーブルが作成されます。
CalendarTable =
ADDCOLUMNS (
CALENDAR (DATE(2024, 1, 1), DATE(2025, 12, 31)),
"Year", YEAR([Date]),
"Month", FORMAT([Date], "YYYY-MM"),
"Weekday", FORMAT([Date], "dddd"),
"IsWeekend", IF(WEEKDAY([Date],2) >= 6, TRUE, FALSE)
)

✅ CALENDAR関数 で2024年1月1日~2025年12月31日までの日付リストを作成
✅ Year, Month, Weekdayを追加 し、後の分析に活用
✅ IsWeekend列 で土日を判定(WEEKDAY関数の第2引数を2にすると、月曜日=1, 日曜日=7になる)
(2) 祝日情報を追加する
日本の祝日データをエクセルやCSVで準備し、Power BIに HolidaysList
という名前でインポートします。

インポートが完了したら、HolidaysList
テーブルの日付のデータ型が日付型になっていることを確認します。

次に、先程のカレンダーに祝日情報を追加します。方法は幾つかありますが、ここではDAXを使ってカスタム列として祝日情報をカレンダーテーブルに追加する方法を説明します。
カレンダーテーブルに新しいカスタム列を追加し、カレンダーテーブルのDateとHolidaysList
テーブルの日付が一致する場合に祝日名を表示するDAX式を作成します。以下のような式を使います:
Holiday =
LOOKUPVALUE(
HolidaysList[祝日名],
HolidaysList[日付],
CalendarTable[Date]
)

まとめ
本記事では、DAXを使って基本的なカレンダーテーブルを作成する方法を解説しました。また、日本の祝日リストをインポートし、カレンダーテーブルに祝日情報を追加する方法も紹介しました。これにより、より正確で柔軟な時間軸分析が可能になります。
コメント