今回は経営に関わるダッシュボードなどを作成するときによく出てくる、会計年度を「4月」に変更する方法を紹介します。
「え?既定のプロパティから会計年度の開始を4月に変更すればいいんじゃない?そんなの知ってるよ」
もちろん、それは最もメジャーかつ簡単なやり方です。
一方で、上記の方法には欠点もあります。
その欠点とは、計算フィールドで指定した会計年度を条件として使用できないということです。
Tableauの公式ヘルプには下記のように記載されています。
日付関数は、構成された会計年度の開始を考慮しません。日付関数を参照してください。
たとえば、会計年度を4月に設定した上で下記のような計算式を実行したらどんな値が返されるでしょうか?
IF year([オーダー日]) = 2022 then [売上] end
この場合、会計年度を4月に設定していても「2022年1月~12月」の売上が結果として返されます。
「2022年4月~2023年3月」の売上ではないのです!
では、どうすれば「年度」を計算式で使用することができるのでしょうか?
今回は、その方法をご紹介したいと思います。
最新年度と前年度の売上を比較する
今回は、最新年度と前年度の売上を比較するというお題に沿って解説していきます。

上記のグラフを作成する手順は下記の通り。
①今年度の開始日を作成
②今年度の範囲を求める
③今年度の売上を作成
④昨年度の範囲を求める
⑤昨年度の売上を作成
⑥並び替え用のフィールドを作成
順番に解説していきます。
Step1:今年度の開始日を作成
最初に、今年度の開始日を作成します。
計算式としては下記の通り。

DATE(DATETRUNC(‘month’,{MAX(IF MONTH([オーダー日])=4 then [オーダー日] END)}))
こちらの計算式を実行した結果、データ内に格納されている最新年度の「4/1」の値が返されます。

Step2:今年度の範囲を求める
次にStep1で作成した計算式を基にして、今年度の範囲を求めます。
計算式としては、下記の通りです。

DATEDIFF(‘month’,[FYの開始月],[オーダー日]) >= 0
上記の結果をクロス集計表に入れて確認してみましょう。

まず、上記のように指定した条件に当てはまらない「オーダー日」は「偽」になります。

一方で、指定した期間に当てはまる「オーダー日」は「真」になります。
Step3:今年度の売上を作成
Step2で作成した条件式に基づいて、今年度の売上を作成していきましょう。

F [今年のFY] then [売上] END
結果をクロス集計表で確認しましょう。

Step2で作成した条件に当てはまらない「オーダー日」については、空欄になっています。

Step2で作成した条件に当てはまる「オーダー日」については、しっかりと「売上」の値が入っています。
以上の3ステップにて「今年度の売上」の値を切り出すことに成功しました。
Step4:昨年度の範囲を求める
続いて「昨年度の売上」を切り出していきましょう。
方法は「今年度の売上」を切り出す方法と同様です。
まずは「今年度の範囲」を基にして「昨年度の範囲」を求めます。

DATEDIFF(‘month’,[FYの開始月],[オーダー日]) < 0
and
DATEDIFF(‘month’,[FYの開始月],[オーダー日]) >= -12
上記の結果をクロス集計表で確認してみます。

昨年度の範囲が「真」となっています。

一方で、昨年度の範囲外の「オーダー日」は「偽」になっています。
Step5:昨年度の売上を作成
Step4で作成した条件式を基に「昨年度の売上」を作成していきましょう。
計算式は下記の通り。

IF [昨年のFY] then [売上] END
上記の計算式の結果をクロス集計表で確認してみましょう。

このように「昨年度の売上」を切り出すことに成功しました。
Step6:並び替え用のフィールドを作成
最後に「今年度の売上」と「昨年度の売上」を線グラフで比較しましょう。

線グラフ上に落とし込むと、デフォルトではヘッダーが「1月~12月」の順番に並んでいると思います。
こちらを「4月~3月」に並べ替えていきましょう。
下記のような計算式を作成します。

(avg(MONTH([オーダー日]))+8) % 12
上記の結果をクロス集計表で確認してみましょう。

結果、4月に最小の値が入り、3月に最大の値が入ります。
これを並び替えの順序に設定しましょう。

上記のように「オーダー日」の並び替えを「今年度の並び替え」に設定し、順序を「昇順」にします。

すると、上記のように並び順を「4月~3月」に変更することができました。
まとめ
今回は、会計年度を計算式で制御する方法について解説しました。
年度の範囲で「売上」や「利益」を切り出す場面に出くわしたら、ぜひ今回学んだことを生かして実装してください。