見出し画像

Power BI の日付テーブルの作り方

こんにちは、アイシーティーリンクの藤井です。

本日は前回に引き続き、Power BI Desktop について書こうと思います。

前回のブログは下記になります。
Power BI をはじめよう|アイシーティーリンク株式会社 公式ブログ (note.com)

データソースに接続してレポートを作るにあたって、日付テーブルの作成が重要ですので、今回ご紹介いたします。

まず、Power BI Desktop の[ファイル]→[オプションと設定]→[オプション]をクリックします。

[データの読み込み]の[タイムインテリジェンス]のところにある、[新しいファイルの自動の日付/時刻]のチェックを外しておきます。

これにチェックが入っていると、自動で日付テーブルを作成してくれるのですが、月が January や February などの英語表記になってしまいます。

ですので、このチェックを外しておいて、カレンダーテーブルは自分で作りましょう。

作り方としては、先に販売テーブルなどのデータテーブルを取り込んだ後になりますが、[モデリング]メニューから[新しいテーブル]をクリックし、

下記のDAX式を貼り付けてENTERを押します。※FIRSTDATE関数とLASTDATE関数のテーブル名、日付カラム名は適宜修正してください

カレンダー = 
// VAR StartDate="2022/04/01"
// VAR EndDate="2029/3/31"
VAR Today =UTCTODAY()+9/24
VAR ThisFY = if(MONTH(Today)>3,YEAR(Today),YEAR(Today)-1)
VAR BaseCalendar = CALENDAR(FIRSTDATE('販売テーブル'[販売日]),LASTDATE('販売テーブル'[販売日]))
RETURN
ADDCOLUMNS(
    BaseCalendar,
    "年_数値", YEAR ( [Date] ),
    "年_yyyy年",FORMAT([Date],"yyyy年"),
    "月_数値", MONTH ([Date]),
    "月_MM月", FORMAT ([Date], "MM月" ),
    "日_数値", DAY ([Date]),
    "日_DD日", FORMAT([Date],"DD日"),
    "年月_数値", VALUE(FORMAT([Date], "yyyyMM" )),
    "年月", FORMAT ( [Date], "yyyy年MM月" ),
    "月日", FORMAT ( [Date], "MM月DD日" ),
    "月日曜", FORMAT ( [Date], "MM月DD日(aaa)" ),
    "年度_数値",if(MONTH([Date])>3,YEAR([Date]),YEAR([Date])-1),
    "年度",FORMAT(if(MONTH([Date])>3,YEAR([Date]),YEAR([Date])-1),"0年度"),
    "年度四半期_数値", if(MONTH([Date])<4,4,if(MONTH([Date])<7,1,if(MONTH([Date])<10,2,3))),
    "年度四半期_0Q", if(MONTH([Date])<4,"4Q",if(MONTH([Date])<7,"1Q",if(MONTH([Date])<10,"2Q","3Q"))),
    "週_数値", WEEKNUM([Date],2),
    "週_第00週", FORMAT(WEEKNUM([Date],2),"第00週"),
    "曜日番号月曜から_数値", WEEKDAY ( [Date],2),
    "曜日_aaa", FORMAT([Date],"aaa"),
    "日と曜日", FORMAT ( [Date], "DD(aaa)" ),
    "相対日付",DATEDIFF(Today,[Date],DAY),
    "相対月",DATEDIFF(Today,[Date],MONTH),
    "相対年度",if(MONTH([Date])>3,YEAR([Date])-ThisFY,YEAR([Date])-1-ThisFY)
    )

これでカレンダーテーブルが出来上がりました。

続いて、日付テーブルを右クリックし、[日付テーブルとしてマークする]をクリックします。

[日付テーブルとしてマーク]にチェックを入れ、日付列に Date を選択し、[保存]をクリックします。

最後に、モデルビューから[リレーションシップの管理]→[新規]をクリックし、販売テーブルの日付カラムとカレンダーテーブルの Date を選択して[OK]→[閉じる]をクリックします。

販売テーブルと日付テーブルがリレーションシップで繋がりました。

試しに、積み上げ縦棒グラフを作成し、X軸に[年月]、Y軸に[販売数]フィールドを入れてみると、月ごとの販売数合計を表示出来ました。簡単ですね。

こんな感じで、次回もレポートを作っていこうと思います。

それでは今日はこの辺で、またお会いしましょう。

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