SSブログ

IBM SPSS Modeler:SQLプッシュバックが効かなくなる現象 [データサイエンス、統計モデル]

久々に、SPSS Modelerの小ネタ。

今までSQLプッシュバックが効いていたのに、突如、効かなくなる事象が発生しました。

理由は、単純でした。

入力ノードでテーブルかSQLクエリを選ぶことができるかと思います。
そこでSQLクエリーを選択し、例えば、下記のSQLの例で考えます。

SELECT
  ID
  ,DATE(RSV_TIME) AS "RSV_TIME"
  ,x1
  ,x2
  ,・・・
  ,xn
FROM テーブル名


この場合、SQLプッシュバックは通ります。

ここでうっかり、元の変数を残して
SELECT
  ID
  ,DATE(RSV_TIME) AS "RSV_TIME"
  ,RSV_TIME
  ,x1
  ,x2
  ,・・・
  ,xn
FROM テーブル名

と書いてしまうと、SQLプッシュバックは切れてしまいます。

ちなみに、SQLエラーは発生せずに、SPSS Modelerの方で、よしなにフィールド名を変えてくれます。

フィールド名は
 DATE(RSV_TIME) AS "RSV_TIME" → RSV_TIME
 RSV_TIME → RSV_TIME (1)
となります。

フィールド名がたくさんあると、このミスに気が付きにくく、エラーも発生せずに、SQLプッシュバックだけが切れてしまうという、なんだか残念な結果になってしまいます。

DATE(RSV_TIME) AS "RSV_TIME" ではなく、DATE(RSV_TIME) AS "RSV_DATE" と書いておけばミスもなかったですね。

~ まとめ ~
インプットノードでSQLクエリーを選択する場合、
・同じフィールド名で書くことはできる
・ただし、同じフィールド名がある場合、よしなに変数名を変換してくれるが、
 SQLプッシュバックが切れてしまう

nice!(39)  コメント(0)  トラックバック(0) 
共通テーマ:学問

nice! 39

コメント 0

トラックバック 0