2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Power BI]カレンダーテーブル作成で使用するCALENDAR関数

Posted at

背景

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関数の使用を検討することをおすすめします。
この記事が皆さんの役に立てば幸いです!
疑問点何かありましたら、コメントいただけると幸いです。
記事をご覧いただきありがとうございます。

参考リンク

カレンダーテーブル作成手順
CALENDARAUTO関数

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?