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軸に[販売数]フィールドを入れてみると、月ごとの販売数合計を表示出来ました。簡単ですね。
こんな感じで、次回もレポートを作っていこうと思います。
それでは今日はこの辺で、またお会いしましょう。
この記事が気に入ったらサポートをしてみませんか?