Tableauの会計年度と閏年(うるうどし)について
会計年度(うるう年対策) + 上期下期対応が必要な方はこちらをクリック
問題の所在
① Tableauの標準機能である「会計年度の開始」を使う場合、年ずれが発生する
② DATEADD(“year”,-1,[年月日])や、DATE(DATEADD(“month”,-12,[年月日]))を使うと、なんとなく上手くいったように見えるが閏年(2016/02/29)のメジャーの値がどうやら2016/02/28側に丸め込まれてしまう。
これらをちゃんと解決できるようにしたい。
*今回、 Tableauテクニカルサポートチームのご支援により解決手段をご提示いただきました。
まずは、現象の確認から
会計年度実験 実験用ファイルはこちらからダウンロード
(1)年度ずれの確認
(2)閏年の問題を確認するその①
計算フィールドを用意: 年月日(year-1) : DATEADD(“year”,-1,[年月日])
一見すると上手くいったように見えるが…
2016/02/29がなくなっている(2/28に丸められている)
(3)閏年の問題を確認するその②
計算フィールドを用意: 年月日(month-12) : DATEADD(“month”,-12,[年月日])
こちらも一見すると上手くいっているように見えますが…
同様に、2016/02/29がなくなっている(2/28に丸められている)
では、解決手段は?
手順は下記3つとなります。
年度が4月始まりの場合
1. 「年月日(会計年度)」の計算式を作成
IF MONTH([年月日])>=4 THEN STR(YEAR([年月日]))+”年度”
ELSE STR(YEAR([年月日])-1)+”年度” END
2. 年月日をカスタム日付で、年月日(四半期)、年月日(月)、年月日(日)をそれぞれ用意
会計年度の開始月を4月にそれぞれ設定
3. 階層化
4. 「年月日(会計年度)」「年月日(四半期)」「年月日(月)」を行に配置
5. 行に配置した[年月日(月)]を右クリック > [並べ替え]をクリックし、「手動」を選択して4月から3月の順に並び替え
それではやってみましょう。
①「年月日(会計年度)」の計算式を作成
②年月日をカスタム日付で、年月日(四半期)、年月日(月)、年月日(日)をそれぞれ用意。会計年度の開始月を4月にそれぞれ設定
年月日(四半期)、年月日(月)、年月日(日)の会計年度の開始をそれぞれ4月に設定する
③階層化する
階層化:年月日(会計年度)、年月日(四半期)、年月日(月)、年月日(日)を選択して右クリック
④ 「年月日(会計年度)」「年月日(四半期)」「年月日(月)」を行に配置
下記のように、閏年も正しく表示されるようになりました。
2019年2月追記)さらに上半期と下半期を対応するには?
下記サイトの上期下期判定式を作成すると良いです。
IF MONTH([オーダー日])>=4 AND MONTH([オーダー日])<10
THEN “上半期”
ELSE “下半期”
END
結果)上半期でフィルタした状態
参考サイト)http://tableaujpn.blogspot.com/2016/04/blog-post.html
まとめ
Tableauの日本リージョンにおける会計年度の話と閏年の話は昔からあるようです。
根本解決が待ち遠しいところですがしばらくは上記のような対応が必要そうです。