見出し画像

日付テーブル(カレンダーテーブル)を作成する

データ分析式 (DAX) のタイム インテリジェンス関数 を使用するには、前提条件となるモデル要件があります。モデルには少なくとも 1 つの "日付テーブル" が必要です。 日付テーブルとは、次の要件を満たすテーブルです。

"日付列" と呼ばれるデータ型 date (または date/time ) の列が必要です。
日付列には一意の値が含まれている必要があります。
日付列に空白を含めることはできません。
日付列に欠落している日付があってはなりません。
日付列は年間全体にわたっている必要があります。 1 年は必ずしも暦年 (1 月から 12 月) ではありません。
日付テーブルには日付テーブルとしてマークされている必要があります。

公式サイトに詳細がありますので、併せてご参照ください。
https://learn.microsoft.com/ja-jp/power-bi/guidance/model-date-tables

➀「新しいテーブル」を作成します。以下のいずれのパスからでも大丈夫です。

レポートビュー>一般>新しいテーブル
データビュー>テーブル ツール>新しいテーブル
モデルビュー>モデリング>新しいテーブル

➁入力フィールドに入力します。以下サンプルです。

カレンダー =
var BaseCalendar = CALENDAR(DATE (2020, 1, 1), DATE (2021, 12, 31))
// var BaseCalendar = CALENDARAUTO()
//var BaseCalendar = CALENDAR( MIN( 'トランザクションデータ'[Date] ), MAX( 'トランザクションデータ'[Date] ) )

RETURN
GENERATE(
    BaseCalendar,
    var BaseDate = [Date]
    var YearNumber = YEAR(BaseDate)
    var MonthNumber = MONTH(BaseDate)
    var DateNumber = DAY(BaseDate)
    var DayNumber = WEEKDAY(BaseDate, 1)
    RETURN
    ROW(
        "年", YearNumber,
        "月", MonthNumber,
        "日", DateNumber,
        "年月_番号", FORMAT(BaseDate, "yyyymm"),
        "年月", FORMAT(BaseDate, "yyyy年mm月"),
        "月日_番号", FORMAT(BaseDate, "yyyymmdd"),
        "月日", FORMAT(BaseDate, "mm月dd日"),
        "曜日_番号", DayNumber,
        "曜日", SWITCH(DayNumber, 1, "日", 2, "月", 3, "火", 4, "水", 5, "木", 6, "金", 7, "土",""),
        "相対月数", DATEDIFF(TODAY(), BaseDate, MONTH),
        "相対日数", DATEDIFF(TODAY(), BaseDate, DAY)
    )
)
入力したら、Enterで更新します。
以下のようにテーブルが作成されます。


この記事が気に入ったらサポートをしてみませんか?