SSブログ

overflow in 8 bit arithmetic [データサイエンス、統計モデル]

overflow in 8 bit arithmetic

IBM SPSS Modeler(旧称 Clementine)を使い、Netezzaに処理をさせているときに発生したエラー。

う~ん、なんだろうと思いましたが、調べてみると、エラーの原因は
"変数の桁あふれ"
が原因でした。

Aという変数が3桁(例えば、300)
Bという変数が3桁(例えば、400)
の箱に入っているとして、
A×Bを実行すると答えは、120000となり箱に入りません。

通常は、Modelerの中(ローカル)の中で処理をさせるので、発生しないエラーですが、
SQLプッシュバックでデータベース側に処理させる場合に発生してしまいます。

対処方法としては、キャストをして回避できます。
SPSS Modelerとしては、変数作成ノードを使わずに、入力ノードの部分に、下記の様にSQLで書きます。

例)
select
  A,
  B,
  A*B::BIGINT
from hogehoge