背景
Power BIでカレンダーテーブルを作成する際、一般的にCALENDAR
関数を使用します。しかし、CALENDAR
関数では手動で日付範囲を指定する必要があり、データ更新時にメンテナンスが必要となるため、手間がかかります。この問題を解決する方法を見つけたので、投稿しておきます。
※カレンダーテーブル作成手順については、下記参考リンクを参照お願いします。
解決策
CALENDARAUTO
関数を使用することで、日付範囲を手動で指定する必要がなくなります。この関数は、Power BIのモデル内で使用されている日付型の最小日付と最大日付を自動的に検出し、その範囲を基にカレンダーテーブルを作成します。これにより、日付範囲を手動で設定する手間が省け、データ更新時も自動的に対応できます。
CALENDAR、CALENDARAUTO関数の比較
CALENDAR関数
- 手動設定で開始日と終了日を指定します。
- 日付範囲が固定されるため、データの日付範囲が変わったとき、手動で修正する必要があります。
日付テーブル =
VAR StartDate = "2025/01/01"
VAR EndDate = "2025/12/31"
VAR BaseCalendar = CALENDAR(StartDate, EndDate)
RETURN
ADDCOLUMNS(
BaseCalendar,
"年月_yyyyMM",FORMAT([Date],"yyyyMM")
)
CALENDARAUTO関数
- 自動的に範囲を決定するため、開始日と終了日は設定しません。
- モデル内の日付型の最小・最大日付を自動で取得し、それに基づいてカレンダーテーブルが生成されます。
日付テーブル =
VAR BaseCalendar = CALENDARAUTO()
RETURN
ADDCOLUMNS(
BaseCalendar,
"年月_yyyyMM",FORMAT([Date],"yyyyMM")
)
まとめ
CALENDARAUTO
関数を使用することで、手動で日付範囲を設定する必要がなくなり、データの更新や変更に対応するためのメンテナンス作業を大幅に減らすことができます。カレンダーテーブルを作成する際には、CALENDARAUTO
関数の使用を検討することをおすすめします。
この記事が皆さんの役に立てば幸いです!
疑問点何かありましたら、コメントいただけると幸いです。
記事をご覧いただきありがとうございます。