【Tableau】日付関数入門 月初・月末の日付を求める

【Tableau】日付関数入門 月初・月末の日付を求める | Tableau-id Press -タブロイド-
tableau-logo-1200x630-960x504-1-e1628055423558

今回は、Tableauの日付関数入門として、DATETRUNC関数とDATEADD関数を利用した月初日・月末日の求め方をご紹介します!
2つの関数は、ざっくり説明すると次のようなことができる関数です。(詳しい説明はTableau公式ヘルプの日付関数をご参照ください。)

DATETRUNC
日付を指定した単位(年、月など)で切り捨てる関数

DATEADD
日付に指定した単位(年、月など)と指定した数で加算(減算)する関数

では早速やってみましょう~。

月初日・月末日を求める数式

数式 説明
当月月初日
(1日)
DATETRUNC(‘month’, TODAY()) 当日を月単位’month’で丸めると、[当月月初日(1日)]になります。
TODAY()は本日を返す関数です。
今回は[当月月初日(1日)]をベースに、他の日付も求めていきます!
翌月月初日
(1日)
DATEADD(‘month’, 1, DATETRUNC(‘month’, TODAY())) 上で求めた[当月月初日]にDATEADDで1月足せば、[翌月月初日(1日)]になります。
前月月初日
(1日)
DATEADD(‘month’, -1, DATETRUNC(‘month’, TODAY())) 上で求めた[当月月初日]にDATEADDで1月引くと、[前月月初日(1日)]になります。
加算減算する数を変えると好きな月の月初が求められます。
当月月末日 DATEADD(‘day’, -1, DATEADD(‘month’, 1, DATETRUNC(‘month’, TODAY()))) ここからは月末日を計算していきます。
当月の月末=翌月1日の1日前 なので、
上で求めた[翌月月初日]からDATEADDで1日引くと[当月月末日]が求められます。
前月月末日 DATEADD(‘day’, -1, DATETRUNC(‘month’, TODAY())) 前月月末=前月1日の1日前 なので、
上で求めた[当月月初日]からDATEADDで1日引くと[前月月末日]が求められます。
翌月月末日 DATEADD(‘day’, -1, DATEADD(‘month’, 2, DATETRUNC(‘month’, TODAY()))) 翌月月末=2か月後の1日の1日前 なので、
[2か月後の月初日(1日)]をDATEADDとDATATRUNCを使って計算し、さらに1日引くと
[翌月月末日]が求められます。

 

日付計算結果

結果は上の図のようになりました。
本日は2022年4月13日なので、どれも正しく求められていますね!


おわりに

当月月初日(1日)の計算結果を元に、いろいろな月初日月末日を求めてみました。一つ覚えると、そこから発展していろいろな日付が求められるので楽しいですね!
今回はTableau Desktopでやってみましたが、Tableau Prepでも同じ関数が使えます。

弊社ブログの人気記事「Tableau入門: 関数はまずこれを覚えましょう ~その2 文字列・日付関数編~」でも日付関数の紹介をしていますので、Tableau初心者の方はぜひご覧ください!