1
0

日付の列からN日後の列を作成する(SPSS Modeler データ加工逆引き1-5)

Last updated at Posted at 2022-07-01

日付の列からN日後の列を作成(日付の加算)

スクリーンショット 2022-06-15 9.21.04.png

2023年12月にリリースしたModeler Ver18.5で直接利用可能な関数が追加されました。該当バージョン以降を利用する方は手順eから確認ください。

この記事は以下のブログをもとに作成されています。詳しく解説されていますのでご覧ください。

1.想定される利用目的

・入会日からN日後を特定し特徴量作成の材料にする
・部品が設備に取り付けられてからN日後のチェックポイントを求め特徴量の材料にする

2.サンプルストリームのダウンロード

3.サンプルストリームの説明

スクリーンショット 2024-01-12 13.25.32.png

a.入力するデータは以下の通りです。
スクリーンショット 2022-06-15 9.37.58.png

Ver18.4以前の方法

b.[フィールド作成]ノードを編集します。「Modelerデータ加工Tips#08」で説明されている通り、まず1900年1月1日を基準日(設定変更可能)として、そこから起算日が何秒経過しているのか[datetime_in_seconds(フィールド)]で求めます。次に7日分の秒数を加えて、最後に[datetime_day(フィールド)]で日付に戻します。
スクリーンショット 2022-06-15 9.38.58.png

式ビルダーの日付関数を利用すると簡単に入力できます。
スクリーンショット 2022-06-15 9.49.49.png

c.月をまたぐ場合にはうるう月の配慮が必要です。

スクリーンショット 2022-06-15 9.58.22.png

コード(CLEM式)は以下の通り。

d.月をまたぐ場合をスーパーノードでパラメータから利用できるようにします。

スクリーンショット 2022-06-15 10.02.25.png

スクリーンショット 2022-06-15 10.04.32.png

コード(CLEM式)は以下の通り。

[テーブル]を確認します。Nヶ月後は7ヶ月後で表示しています。
スクリーンショット 2022-06-15 10.08.14.png

Ver18.5以降の方法

e.[フィールド作成]ノードを編集します。関数date_add_daysを利用します。

スクリーンショット 2024-01-12 13.35.24.png

f.[フィールド作成]ノードを編集します。関数date_add_monthsを利用します。

スクリーンショット 2024-01-12 13.36.56.png

g.[フィールド作成]ノードを編集します。関数date_add_yearsを利用します。

スクリーンショット 2024-01-12 13.37.42.png

注意事項

うるう年かどうかは、西暦が4で割り切れる(ただし100では割り切れず、400では割り切れる)の条件を使うため割り算した余り(剰余)を求める関数remを利用しています。(「Modelerデータ加工Tips#08」より引用)

4.参考情報

スーパーノードとパラメーターを詳しく説明した記事

日付の加算減算

よく使う「日付と時間」関数

SPSS Modeler ノードリファレンス目次

SPSS Modeler 逆引きストリーム集(データ加工)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0