1
Help us understand the problem. What are the problem?

posted at

updated at

SPSS ModelerのCLEM式でよく使う「日付と時刻」関数

SPSS ModelerのCLEM式でよく使う「日付と時刻」の関数を取り上げました。ここでは、SPSS Modeler18.2.2のフィールド作成ノードを使用しています。

ストリームの実行日を基準日として利用したい場合

@TODAY
datetime_now

たとえば、生年月日の情報からストリーム実行時の年齢を得たいとします。
その場合、2種類の関数を使うことができます。
図では、わかりやすいように「実行日_xxx」フィールドを作成していますが、実際にはこのフィールドの作成は不要です。

① @TODAY
image.png
② datetime_now
image.png

得られる結果は同じなのでどちらを使ってもよいのですが、SQLプッシュバック機能を活用する際には、頭文字に@が付く関数はSPSS Modelerの特殊関数のため利用範囲が制限される場合があることから②の利用が推奨されます。

日付や時刻の差を求めたい場合

date_{A}_ difference(DATE1, DATE2) A = years, months, weeks, days
time_{A}_ difference(TIME1, TIME2) A = secs, mins, hours

たとえば、調査開始日(日付1)から終了日(日付2)までの期間を日数で得たいとします。

image.png

日付や時刻を年,月,日や時,分,秒に分解したい場合

datetime_{A}(TIME) A = years, months, days, weekday, secs, mins, hours

たとえば、生年月日から生まれ年、生まれ月、生まれた日に加えて生まれた曜日を得たいとします。

image.png

image.png

※ 生まれた曜日は、1が日曜日です。値ラベルをつけるとよりわかりやすくすることができます。

個別の年,月,日,時,分,秒を日付や時刻に統合したい場合

datetime_date(YEAR, MONTH, DAY)
datetime_time(HOUR, MINUTE, SECOND)
datetime_timestamp(YEAR, MONTH, DAY, HOUR, MINUTE, SECOND)
datetime_timestamp(DATE, TIME)

たとえば、生まれ年、生まれ月、生まれた日から生年月日を得たいとします。

image.png

ストレージを日付や時刻に変更したい場合

to_date(ITEM)
to_time(ITEM)
to_datetime(ITEM)
to_timestamp(ITEM)

たとえば、2つの日付情報から期間を得るためにはデータのストレージを日付や時刻、タイムスタンプにしておく必要があります。

0時からの経過時間を求めたい場合

time_in_{A} A = secs, mins, hours

たとえば、0時からの経過時間を分単位で得たいとします。

image.png

2つの日付や時刻を比較して前後を判別したい場合

date_before(DATE1,DATE2)
time_before(TIME1, TIME2)

たとえば、保守継続予定日(日付1)が保守満了日(日付2)より前日かどうかを得たいとします。

image.png

ある日付や時刻のxx日後やzz分後を作成したい場合

date_in_{A}(DATE) A = days, months, years,
time_in_{A}(TIME) A = secs, mins, hours
datetime_{A}(ITEM) A = date, time, timestamp

たとえば、誕生日から100日後の日付を得たいとします。
この場合、いくつか方法はありますが今回は次の手順で進めます。
①誕生日のストリーム基準日(デフォルト1900年1月1日)からの経過日数を求めます。
image.png
②①で求めた基準日からの経過日数を経過秒数に単位を変えて求めます。
日数×1日:24時間×1時間:60分×1分:60秒
image.png
③②で求めた基準日からの経過秒数を日付に変えます。
image.png
①〜③をまとめて1つの式で表すこともできます。
image.png

<時間の例>
https://www.ibm.com/support/pages/clem%E5%BC%8F%E3%81%A730%E5%88%86%E5%BE%8C%E3%81%AE%E6%99%82%E9%96%93%E3%82%92%E8%A8%88%E7%AE%97%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95

まとめ

よく使う日付と時刻の関数はここまでで、次は文字列関数のご紹介を予定しています。
SPSS Modeler活用にお役立ていただければ幸いです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
1
Help us understand the problem. What are the problem?