0

私はcsvファイルを読み込んでデータベースに格納するためにpentahoを試しました。 CSVの列の1つに複数の型の値があります。2.7777777777777E-06,0,2222,2,35.023CSVからペンタホ複数型変換

変換では変換がサポートされていません。すべてのタイプの数字に適したパターンでこれを修正してください。

エラーメッセージ:

Modified Java Script Value.0 - ERROR (version 7.1.0.0-12, build 1 from 2017-05-16 17.18.02 by buildguy) : Unexpected error 2017/11/24 10:17:01 - Modified Java Script Value.0 - ERROR (version 7.1.0.0-12, build 1 from 2017-05-16 17.18.02 by buildguy) : org.pentaho.di.core.exception.KettleValueException: 2017/11/24 10:17:01 - Modified Java Script Value.0 - Javascript error: 2017/11/24 10:17:01 - Modified Java Script Value.0 - 2017/11/24 10:17:01 - Modified Java Script Value.0 - Unexpected error 2017/11/24 10:17:01 - Modified Java Script Value.0 - 2017/11/24 10:17:01 - Modified Java Script Value.0 - Unexpected conversion error while converting value [Average String] to a Number 2017/11/24 10:17:01 - Modified Java Script Value.0 - 2017/11/24 10:17:01 - Modified Java Script Value.0 - Average String : couldn't convert String to number 2017/11/24 10:17:01 - Modified Java Script Value.0 - 2017/11/24 10:17:01 - Modified Java Script Value.0 - Average String : couldn't convert String to number : non-numeric character found at position 18 for value [2.777777777777775e-06] 2017/11/24 10:17:01 - Modified Java Script Value.0 - 2017/11/24 10:17:01 - Modified Java Script Value.0 - 2017/11/24 10:17:01 - Modified Java Script Value.0 - 2017/11/24 10:17:01 - Modified Java Script Value.0 - 2017/11/24 10:17:01 - Modified Java Script Value.0 - 2017/11/24 10:17:01 - Modified Java Script Value.0 - at org.pentaho.di.trans.steps.scriptvalues_mod.ScriptValuesMod.addValues(ScriptValuesMod.java:475) 2017/11/24 10:17:01 - Modified Java Script Value.0 - at org.pentaho.di.trans.steps.scriptvalues_mod.ScriptValuesMod.processRow(ScriptValuesMod.java:541) 2017/11/24 10:17:01 - Modified Java Script Value.0 - at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62) 2017/11/24 10:17:01 - Modified Java Script Value.0 - at java.lang.Thread.run(Thread.java:748) 2017/11/24 10:17:01 - Modified Java Script Value.0 - Caused by: org.pentaho.di.core.exception.KettleValueException: 2017/11/24 10:17:01 - Modified Java Script Value.0 - Unexpected error 2017/11/24 10:17:01 - Modified Java Script Value.0 - 2017/11/24 10:17:01 - Modified Java Script Value.0 - Unexpected conversion error while converting value [Average String] to a Number 2017/11/24 10:17:01 - Modified Java Script Value.0 - 2017/11/24 10:17:01 - Modified Java Script Value.0 - Average String : couldn't convert String to number

+1

これらの番号は、すべてCSVリーダーでタイプ番号を取得できます。あなたのエラーは、変更されたJavascriptのステップでNumberに変換されたくないDate型からString型で読み込まれます。 – AlainD

+0

コメントありがとうございます。あなたはこのエラーを説明できますか? "修正されたJava Script Value.0 - 平均文字列:文字列を数値に変換できませんでした:数値の位置18に数字以外の文字が見つかりました" [2.777777777777775e-06] "実際にこの問題を修正する必要があります。 –

答えて

0

Average StringCSV readerでないNumberとして文字列として読み込まれ、それが「e」を含んでいるので、PDIは数としてそれを望んでいません。 GreetingsはJavascriptに、PDIには送られません。

解決方法1:最高のNumberとされて読むことです:enter image description here

解決策2:が何らかの理由であなたは、あなたがMetadataタブでそのタイプを変更するSelect valuesステップを使用することができますすることができない場合。

解決策3:Javascriptステップであることを前に、あなたは数に文字列をキャストすることができない場合は、明示的なJavaScriptのキャストを使用する必要があります:var x = Number(x);はしかし、あなたの変数名にはスペースが含まれており、自動的にマッピングすることはできませんjavascript変数に格納されます。

this["Average String"] = Number(this["Average String"]); 

その後、あなたはNumberとして下部のテーブルのフィールドリストにAverage Stringを取得することができます:hackは何です。

関連する問題