0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SPSS Modeler (Jython) でパラメータ指定した日付をスクリプト内で処理する

Last updated at Posted at 2020-06-11

SPSS Modelerのスクリプト (Jythonベース) で、日付型のストリームパラメータの値を取得してスクリプト内で加工するときのTipsです。
日付型で作成したパラメータをスクリプト内でgetParameterValueで受け取ってみると、Jythonのjava.util.Date型だったため、java.util.Dateをdatetimeに変換する必要があります。軽くハマったので記録として残します。

例として、SPSS Modeler上で以下のようなDATE_Xという日付型のストリームパラメータを定義します。
image.png

スクリプト内でdatetimeのdate型に変換するコード例です。

from datetime import datetime
stream = modeler.script.stream()

# パラメータDATE_Xの値を取得
date_x = stream.getParameterValue("DATE_X")
# java.util.Date型をdatetime型に変換
date_x_trans = datetime.fromtimestamp(date_x.getTime()/1000).date()

SPSS画面上
image.png

(補足)

  • modeler.sciript.stream()は、スクリプト内でSPSS Modelerストリームオブジェクトを扱うためのおまじない
  • .getTime()で、java.util.Dateでのエポック時間を取得。単位はミリ秒。秒にするため/1000する
  • .date()で、datetimeをdateに変換

参考にしたStackoverflow : リンク

0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?