文字列”0011”をCSVで出力し読み込むと整数”11”で表示される
1.想定されるトラブル
・テキストファイル出力時に[0011]のように文字列だったものが、読み込むと整数[11]で表示される
・この結果、後続処理のIDによるレコード結合または集計時に不整合が生じる
2.サンプルストリームのダウンロード
3.サンプルストリームの説明
a.入力するデータは以下の通りです。数値ですがセルの左寄せであることからも文字列だとわかります。
b.[フラットファイル]ノードを編集します。任意のパスとファイル名(ここではtest.csv)を指定し、[データのインポートノードを生成]を選択します。
[実行]します。cが自動生成されます。
c.[可変長ファイル]ノードを編集します。プレビューでは["0011"]と確認でき4桁数値で問題なさそうです。
エラーの現象を確認する
[テーブル]を実行します。頭の0が削除されて、右寄せ2桁の整数[11]になっています。
強制的に文字列読み込みします
d.[可変長ファイル]ノードを編集します。cと同じ設定ですが[データ]タブの[上書き]を選択し、[ストレージ]を[文字列]に変更します。
[テーブル]を実行します。
注意事項
正しく出力されたかエディタで確認すると、ほとんどのエディタで["0011"]と確認できますが
中にはMacのNumbersのように整数で表示されるものもあります。あくまで表示の問題なので実態は["0011"]と保存されています。
4.参考情報
文字列の8桁数字を整数型や日付型にする
SPSS Modeler ノードリファレンス目次
SPSS Modeler 逆引きストリーム集(データ加工)









