Power BIで「日付」を使ったグラフを作成するとき、英語表記になってしまいます。また、日付データは1月〜12月で集計されてしまうといったデメリットがあります。
そのデメリット、「日付テーブル」をつくり、会計年度で表示することで解決することができます。
Power BIの弱点
Power BIではいろんな角度からのグラフをサッとつくることができます。
ツールの内容、ダウンロードはこちらの記事から。
Power BI入門 データをグラフでサクッと分析するツール。 – GO for IT 〜 税理士 植村 豪 Official Blog
ただ、Power BIならではのデメリットもあります。
たとえば、
- 月が英語表示
- 暦年でのデータ管理
といったこと。
例えば、「1月」「2月」「3月」としたいのに「January」「February」「March」と表示されます。

外資系の会社ならそのままでも問題ないでしょうが、通常は「January」より「1月」のほうが見やすいでしょう。
さらに、フリーランスや12月決算の会社なら、1月から12月までという期間でいいのですが、会社の場合は決算月を基準に表示させたいわけです。
アメリカをベースとしたPower BIだからでしょうが、これはちとイタイ…。
ただ、Power BIならではの使いやすさもあり、

会社の決算にあった表示にさせたい、というのが今回のはなしです。

Power BIに日付テーブルをつくることで、決算月をもとにした会計年度にあった表示にすることができます。
決算月に対応するための準備
前述したとおり、Power BIの日付のデータ型の設定は、「1月〜12月」ですし、日付も英語です。
では、3月決算の会社を前提として「4月〜3月」という表示にしたい場合、どうすればいいか?
これを4月からはじまり、3月で終わるという日付情報のテーブルをつくっておき、集計したいデータとリンクさせるわけです。
日付テーブルをつくる
日付テーブルをつくっておくことで
- 日付の英語表記を日本での日付に変換できる
- 会計年度(3月決算など)に設定できる
といったことができます。
次のようにつくります。
左端のアイコンをグラフからデータ画面に切り替え、リボンにある「新しいテーブル」をクリックし、

関数 CALENDARAUTO(カレンダーオート)を使います。
テーブル名(ここでは名前「テーブル」)= が表示されたら「ca…」と入力すると、候補の関数が表示されます。これはマクロと同じようなしくみです。

次に「会計期間の決算月を入れてちょ」という表示がでるので、ここでは3月決算の「3」を入れてみましょう。(5月決算なら「5」です)

すると、1行目に4月からのデータが表示されます。

時間はいらないので、データ型を「日付」に

書式はお好みで変えることもできます。

このテーブルに1列ずつデータを追加して、日付テーブルを完成させるわけです。
新しい列を追加するを選び、

1行目に”年”=year([Date])とすると、

見出し「年」とそのデータ列が表示されます。

ただ、これを1つずつやっているのはタイヘンなので、関数でまとめましょう。
テーブルがまっさらの状態で、数式窓に下の関数をコピペします。
項目ごとに使うデータをまとめたものです。(使いそうなものだけをいくつか。)

決算月が変わると、年度、四半期などの式は少し変わりますが、基本の考えは同じです。
1 2 3 4 5 6 7 8 9 10 | Date = ADDCOLUMNS ( CALENDARAUTO(3), "年度",IF(QUARTER([Date])=1,YEAR([Date])-1,YEAR([Date])), "月数", FORMAT( [Date], "M"), "月", FORMAT ( [Date], "M"&"月"), "年/月",FORMAT ( [Date], "YYYY/M" ), "四半期",IF(MONTH([Date])<4,"4Q",IF(MONTH([Date])<7,"1Q",IF(MONTH([Date])<10,"2Q","3Q"))), "曜日", IF(FORMAT ([Date], "ddd")="Sun","日",IF(FORMAT ([Date], "ddd")="Sat","土",IF(FORMAT ([Date], "ddd")="Mon","月",IF(FORMAT ([Date], "ddd")="Tue","火", IF(FORMAT ([Date], "ddd")="Wed", "水",IF(FORMAT ([Date], "ddd")= "Thu", "木", IF(FORMAT ([Date], "ddd")="Fri","金"))))))) ) |

拡大するとこんな感じです。
「Date」を昇順にすると4月からで並び替えされます。
日付テーブルはこれで終わりです。
シートごとに日付テーブルが必要ですが、初回に上記の関数をコピペすれば、それ以後はファイル保存でテーブルは残りますから、それほど手間はかかりません。
リレーションシップを忘れずに
日付テーブルをつくったらデータに項目ができているのですが、実はこれでは機能しません。

リレーションシップ(関係づけ)が必要です。
- 集計したいもとデータの日付
- 日付テーブルの日付
の2つをつなげるわけです。
左のアイコンから「モデル」を選び、
販売データの「販売日」の項目を「Date」にドラッグ+ドロップすると、線でつながったのがわかります。

線上をクリックすると、内容を確認できます。「1:1」→「*:1」にしておきましょう。

あとは、グラフを選びX軸には、もとデータの販売日ではなく、今回追加でつくった日付データの項目を入れます。リレーションシップでつなげていれば、正しく表示されるはずです。

四半期を入れないと、どうにも順番に表示されないので、四半期を入れています。

と、このようなグラフをつくることができます。X軸の表示形式はお好みの項目で。

階層を上げれば、「四半期」→「年」といったグラフに変えることもできます。

その階層を設定することができます。
階層をつくる
階層をつくらなくてもX軸に上から順番に「年度」→「四半期」→「月」とドラッグすることでデータ表示はできますが、フィールドの年度を階層にまとめることもできます。

年度を一番上にするなら、年度の右側「…」をクリックして、階層の作成を。

するとこのように階層ができます。

次に「四半期」「月」を順番に

階層に追加していきます。

と、このような階層にすることができます。

階層にすれば、階層ごとX軸にドロップしてドリルダウンで階層を下げることもできます。


ということで参考にしていただければ。
【編集後記】
昨日はオフ。朝、長男(7)と散歩を。その道中に前日のサッカーの試合の話を教えてくれました。どうやってゴールを決めたか、〇〇くんからパスが来たなど、楽しそうに話してたので聞くこと、質問することに徹しました。本人気づかずに3kmをブーブー言わずに歩いてくれました。
【昨日の1日1新】
※「1日1新」→詳細はコチラ
Power BI リレーションシップ