質問
数値に変換ロジックを使用し、文字列を数値型に変更して演算を行おうとしたところ、以下のエラーとなりました。
原因と対応策を教えてください。
Convertロジック - String型からBigDecimal型に変換できませんでした
回答
■エラーについて
「String型からBigDecimal型に変換できませんでした」は、入力データとして使用した文字列が数値型に変換できないために発生します。
■想定される原因
[数値に変換] ロジックで変換できない文字列が入力データに含まれるため、該当のメッセージが出力されていると想定されます。
■対応策
ログレベルを「DEBUG」にし、空文字やカンマ、漢字など数値型に変換できない文字列が入力データに使用されていないかご確認いただき、数値型に変換できない文字列を含まないようにしてください。
例:
- 空文字やnullの場合、数値に変換する前に、Mapperのnull/空文字の変換ロジックにて、0に変換しておく。
- カンマの場合、Mapperの正規表現置換ロジックを使用して、データに含まれるカンマを取り除いておく。
- Excelコネクターなどで読み取ったデータを扱う場合、ヘッダーがデータとして読み込まれていないか確認する。
■補足
- 数値型ロジックの内部データ型
Mapperで扱う数値型は、小数点も含むデータを正確に表現できるBigDecimal型で処理を行ってます。
文字列型で数値演算が行われる場合、BigDecimal型に変換され処理を行います。
■注意点
ログレベルを DEBUG にした場合、出力されるログの量が増えるためにIntegrateサービスの負荷が増加することが予想されます。そのため、確認後はログレベルを元に戻していただくことが推奨されています。
参考情報
- ログレベル
https://www.hulft.com/help/ja-jp/HULFTSquare/Content/Data_Integration/Detailed/support.htm#log_level - null/空文字の変換
https://www.hulft.com/help/ja-jp/HULFTSquare/Content/Designer/Mapper/ReplaceNullBlankWithNumber.htm - 正規表現置換
https://www.hulft.com/help/ja-jp/HULFTSquare/Content/Designer/Mapper/Replace.htm
コメント
0件のコメント
記事コメントは受け付けていません。