月の〆日

時間は人間のためにつくられており、
人間が時間のためにつくられているわけではない。

一般的に月末というと、月の最後の日を意味します。しかし、ときには月末を20日や25日とする場合もあるでしょう。例えば給料の支払日や、金額の請求日を月の末日としたいとき等が考えられます。

今回はTableauで月末の日を任意に調整するための方法をご紹介します。


完成イメージ

完成イメージは以下のようなテーブルになります。

日付日付の月20日〆の日付の月
2020/1/12020年1月2020年1月
2020/1/22020年1月2020年1月
2020/1/32020年1月2020年1月
2020/1/42020年1月2020年1月
2020/1/52020年1月2020年1月
2020/1/62020年1月2020年1月
2020/1/72020年1月2020年1月
2020/1/82020年1月2020年1月
2020/1/92020年1月2020年1月
2020/1/102020年1月2020年1月
2020/1/112020年1月2020年1月
2020/1/122020年1月2020年1月
2020/1/132020年1月2020年1月
2020/1/142020年1月2020年1月
2020/1/152020年1月2020年1月
2020/1/162020年1月2020年1月
2020/1/172020年1月2020年1月
2020/1/182020年1月2020年1月
2020/1/192020年1月2020年1月
2020/1/202020年1月2020年1月
2020/1/212020年1月2020年2月
2020/1/222020年1月2020年2月
2020/1/232020年1月2020年2月
2020/1/242020年1月2020年2月
2020/1/252020年1月2020年2月
2020/1/262020年1月2020年2月
2020/1/272020年1月2020年2月
2020/1/282020年1月2020年2月
2020/1/292020年1月2020年2月
2020/1/302020年1月2020年2月
2020/1/312020年1月2020年2月

例えば20日〆の場合、20日までは当月の月として扱い、21日以降は翌月として扱います。


〆日を調整した日付のつくり方

では実際〆日を調整した日付を計算フィールドでつくってみましょう。

20日〆にしたい場合、1日~20日までは当月、21日以降は翌月(つまり当月に+1ヶ月した月)となれば良いわけです。計算式は以下のようになります。

20日〆日付
IF DAY([日付])>20
THEN DATEADD('month', 1, [日付])
ELSE [日付]
END

まず、DAY([日付])の値に応じて条件を分岐させます。20日〆の場合は「20」という数字が分岐点になります。20という部分をパラメータにすれば、任意の〆日に切り替えることも可能です。

そして20日以降(つまり日が20より大きい場合)であれば、日付に+1ヶ月します。日付に特定の値を足す(または引く)場合はDATEADD関数を使用します。

図1



以下のように、20日以降は翌月の月に設定することができました。
図2


まとめ

今回は、月の〆日を調整した日付をつくってみました。ぜひ使ってみてください!


Tableau Public : https://public.tableau.com/views/21345/sheet0?:display_count=y&:origin=viz_share_link