PowerBIの年/月など日付英語表記を日本語に変換したいときはないでしょうか。
けど、そんな中で悩むことは、
・PowerBIの年/月を日本語に変換する方法が難しくて実現できない
ですよね。
今回はそんなお悩みを解決する
についてまとめます!
もくじ
はじめに
PowerBIはビジネスインテリジェンスツールとして広く使用されていますが、ベースは英語となります。
そのため標準でグラフを設定すると軸の表記は英語になるのですが、日本国内で利用する場合は、やはり日付は日本語に変換しないと少々わかりにくいですね。
この記事では、PowerBIで日付データを日本語に変換する方法をかんたんに説明します。
完成のイメージとしては、年月をはじめ、日や曜日まで日本語に変換します。
また新たなデーターセットを追加しても、ちょっとした設定だけで同じく日付を日本語表記に変換することができます。
基本コピペですので、サクッと実装してためしてみましょう!
サンプルデータの作成
まずはグラフを作るためにサンプルデータをPowerBIへ取り込みましょう。
サンプルデータはエクセルで、架空の2023年売り上げデータとし、
項目及び内容は以下のようにしました。
シート名は「2023年_売上データ」にするようお願いします。
金額、商品名はランダムにいれてあります。
以下のExcel数式を入れると簡単にダミーデータが作成できますのでぜひご利用ください。
A列:=SEQUENCE(365,,DATE(2023,1,1),1)
B列:=RANDBETWEEN(5000, 20000) ※下までドラッグ
C列:=CHOOSE(RANDBETWEEN(1, 3), "商品A", "商品B", "商品C") ※下までドラッグ
PowerBIに戻り、リボンメニューのエクセルアイコンをクリックし、
ファイルを選択し、
読み込みボタンを押して取り込みます。
日本語表記カレンダーテーブルの作成
次に日本語表記のカレンダーテーブルを作成します。
左ペインの「テーブルビュー」をクリックします。
リボンメニューの「新しいテーブル」をクリックします。
数式フィールドに以下DAX式をコピペします。
日本語変換カレンダー =
var CenterYear = 2023 // 中心の年を設定
var StartDate = DATE(CenterYear - 1, 1, 1) // 中心の年の1年前を設定
var EndDate = DATE(CenterYear + 1, 12, 31) // 中心の年の1年後を設定
var MotoCalendar = CALENDAR(StartDate, EndDate)
RETURN
GENERATE(
MotoCalendar,
var MotoDate = [Date]
RETURN ROW(
"年", FORMAT(MotoDate, "yyyy年"),
"月", FORMAT(MotoDate, "MM月"),
"日", FORMAT(MotoDate, "dd日"),
"曜日", FORMAT(MotoDate, "aaa"),
"年月", FORMAT(MotoDate, "yyyy年MM月")
)
)
以下のように表示されたらカレンダーテーブルの実装は完了です。
また、必要に応じて追加のカスタマイズを行います。
データテーブルとカレンダーテーブルを関連付ける
仕上げにデータテーブルとカレンダーテーブルを関連付けていきましょう。
左ペインの「モデルビュー」をクリックします。
データテーブルとカレンダーテーブルの日付列を関連付けます。
サンプルでは売り上げデータテーブルの「日付」を日本語変換カレンダーテーブルの「Date」へドラッグします。
ラインがつながればテーブル間のリレーションが作成されたことになります。
日本語変換の日付をグラフを設定
日本語変換の日付をグラフを設定してみましょう。
月を日本語表示にする
月を日本語表示にしてみましょう。
日本語変換カレンダーの「月」をグラフのX軸に設定します。
月が日本語にかわりましたね!
年月を日本語表示にする
年月を日本語表示にしてみましょう。
日本語変換カレンダーの年月をグラフのX軸に設定します。
こちらも日本語表記になりました。
並び順を年月の昇順にしています。
曜日を日本語表示にする
曜日を日本語表示にしてみましょう。
日本語変換カレンダーの曜日をグラフのX軸に設定します。
曜日が日本語で表示されていますね!
追加テーブルに日本語表記カレンダーテーブルを関連付ける
次は追加したテーブルに日本語表記カレンダーテーブルを関連付けてみましょう。
サンプルデータは2024年の売上データとしました。
PowerBIに戻り、リボンメニューのエクセルアイコンをクリックし、
ファイルを選択し
読み込みボタンを押して取り込みます。
次はデータテーブルとカレンダーテーブルを関連付けていきましょう。
左ペインの「モデルビュー」をクリックします。
データテーブルとカレンダーテーブルの日付列を関連付けます。
2024年売り上げデータテーブルの「日付」を日本語変換カレンダーテーブルの「Date」へドラッグします。
ラインがつながればテーブル間のリレーションが作成されたことになります。
では追加したテーブルを日本語表示の年月でグラフにだしてみましょう。
レポートビューに戻り、棒グラフを追加し、X軸を「年月」にします。
はい、追加したテーブルも同じく日付が日本語表記になっていますね!
DAX式の説明
日本語表記カレンダーのDAX式について説明をします。
カレンダーは3年分作る仕様としていまして、その真ん中の年を設定します。
var CenterYear = 2023 // 中心の年を設定
2023年~2025年の期間で作りたい場合は「2024」に設定をしてください。
中心の年の前後の年を設定します。
var StartDate = DATE(CenterYear - 1, 1, 1) // 中心の年の1年前を設定
var EndDate = DATE(CenterYear + 1, 12, 31) // 中心の年の1年後を設定
中心の年を基準にして前後1年間の日付を含むカレンダーテーブルを生成します。
var MotoCalendar = CALENDAR(StartDate, EndDate)
RETURN MotoCalendar
FORMAT 関数を使用して、年を「yyyy年」の形式に変換します。
"年", FORMAT(MotoDate, "yyyy年")
月も同様に「MM月」の形式に変換します。
"月", FORMAT(MotoDate, "MM月")
日付は「dd日」の形式で表示されます。
"日", FORMAT(MotoDate, "dd日")
FORMAT 関数を用いて曜日を日本語の略称(例:月、火、水)で表示します。
"曜日", FORMAT(MotoDate, "aaa")
年と月を組み合わせた形式(例:2023年01月)で表示します。
"年月", FORMAT(MotoDate, "yyyy年MM月")
さいごに
いかがでしょうか。
今回は、
についてまとめました。
また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。
コメントを残す