IBM SPSS Modeler:SQLプッシュバックが効かなくなる現象 [データサイエンス、統計モデル]
久々に、SPSS Modelerの小ネタ。
今までSQLプッシュバックが効いていたのに、突如、効かなくなる事象が発生しました。
理由は、単純でした。
入力ノードでテーブルかSQLクエリを選ぶことができるかと思います。
そこでSQLクエリーを選択し、例えば、下記のSQLの例で考えます。
↑
この場合、SQLプッシュバックは通ります。
ここでうっかり、元の変数を残して
と書いてしまうと、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プッシュバックが切れてしまう
今まで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プッシュバックが切れてしまう
コメント 0