日付の階層テーブルはアメリカ基準なので使いにくいのが難点です。
この記事では日付表示の基本と日本に合わせた設定への変更方法を解説していきます。
よくある質問の対応方法をまとめてますので、ぜひお読みください。
サンプルとして下記のデータをPower BIに取り込みます。
日付型 | 日本語 | 英語 | 英語1 | 英語2 | 値 |
---|---|---|---|---|---|
2020/1/1 | 2020年1月1日 | 01 Jan 2020 | 1/1/2020 | 1/1/2020 | 100 |
2020/1/2 | 2020年1月2日 | 02 Jan 2020 | 1/2/2020 | 2/1/2020 | 200 |
2020/1/3 | 2020年1月3日 | 03 Jan 2020 | 1/3/2020 | 3/1/2020 | 100 |
2020/2/1 | 2020年2月1日 | 01 Feb 2020 | 2/1/2020 | 1/2/2020 | 100 |
2020/2/2 | 2020年2月2日 | 02 Feb 2020 | 2/13/2020 | 13/2/2020 | 200 |
取り込みデータは下記の画面で確認できます。
日付を軸に使った時のデフォルトの棒グラフ表示です。
方法1 Power BI全部の取り込み設定を変更する
ファイルのオプション設定で、ロケールを変更します。
方法2 個別に項目の設定を変える
Power Queryのロケールの機能を使用します。
Power Queryを下記の手順で開きます。
ロケールから日/月/年の表記の国を選択します。
サンプルが表示されますので、それを元に選んでください。
データ型:日付
ロケール:英語(英国)
を選択しました。
次に項目の型をテキストから日付に変更します。
階層データを使用しないで、日付そのもの値を使います。
グラフが時系列表示に変わるのが確認できます。
自分で日付テーブルを作成して対応する必要があります。
詳細は次の
「年度の始まりを4月にするには?」
を参照してください。
ロケールの設定で解決するという記事もありますが2020年7月現在の私の環境では解決できませんでした。
日次の階層テーブルはPower BIが裏で日付テーブルを作成しています。
そのテーブルの四半期や月が英語で保存されているためこの問題が起きます。
日付のカスタムテーブルを作ります。
コード
年度 = VAR BaseCalendar =
CALENDAR ( DATE ( 2019, 4, 1 ), DATE ( 2022, 3, 31 ) )
RETURN
GENERATE (
BaseCalendar,
VAR BaseDate = [Date]
VAR FYDate = EDATE(BaseDate,-3 )
RETURN ROW (
"日付", BaseDate,
"年度", CONCATENATE(RIGHT(CONVERT(YEAR ( FYDate ),STRING),2),"年度"),
"四半期", CONCATENATE(CONCATENATE("第",QUARTER( FYDate )),"四半期"),
"月度", CONCATENATE(FORMAT ( BaseDate, "mm" ),"月"),
"日", FORMAT ( BaseDate, "dd" ),"曜日",SWITCH(WEEKDAY(BaseDate,1),1,"日",2,"月",3,"火",4,"水",5,"木",6,"金",7,"土"),
"年度-月", CONCATENATE(CONCATENATE(YEAR ( FYDate ),"-"), FORMAT(BaseDate,"mm"))
)
)
作成したテーブルのレイアウトを整えます。
作成した日付テーブルとリレーションシップを作ります
これでグラフの年度開始日を変更できました。
累積関数のTOTALYTDを使います。
TOTALYTD(SUM([累積値], [日付],"年度末日")
関数は覚えなくて済むように、クイックメジャーを利用した作成方法を説明します。
私の場合は下の計算式となりました。
クイックメジャーの計算式は年度末の指定が抜けているため追加します。
TOTALYTD(SUM('dataFormat'[値]), '年度'[日付],"3/31")
もっと複雑な条件で指定しないといけない方は「累積の作り方」の記事を参照してください。
カスタムで日付テーブルを作る場合はデフォルトの日付の階層テーブルは不要になります。
次のオペレーションで全部の日付階層を削除できます。
曜日の「新しい列」を追加します。
曜日 = SWITCH(WEEKDAY([日付型],1),1,"日",2,"月",3,"火",4,"水",5,"木",6,"金",7,"土")
今日のデータや、今年度のデータを表示したい事はよくあります。
スライサーには想定日付を指定できる機能があります
Power BIについてもっと詳しく知りたい方はPower BI記事のまとめから参照できますので、こちらもご参照ください。
についてまとめてあります。