0

これは単純なはずです。

複数の通貨値を含む CSV ファイルがあり (回避できる場合は、一連の文字列操作手順を記述したくありません)、CSV ファイルの入力手順に通貨区切り記号などのフィールドがあることに興奮しました。小数点記号、グループ化記号 (および私のものは、それぞれデフォルトの "$"、"."、および "," です)。

ドキュメントでは、これらを次のように説明しています。

  • $10,000.00 や E5.000,00 などの数値の解釈に使用される通貨
  • 10 進数 小数点は "." にすることができます。(10;000.00) または "," (5.000,00)
  • グループ化 グループ化には、ドット「,」(10;000.00) または「.」を使用できます。(5.000,00)

( http://wiki.pentaho.com/display/EAI/Text+File+Input )

しかし、現在の製品バージョン (4.4) では、これらの設定は効果がないようです。

「$ 10,000,238.48」のような文字列がデータベースにプッシュできる数値を生成できるような数値マスクなどで成功した人はいますか? 私がすることは、テキスト入力の「解析不能」または挿入時の「切り捨てられたフィールド」エラーです...

4

1 に答える 1

1

例の数値を含むテキスト入力ステップで get フィールドを実行すると、Currency、Decimal、および Group がそれぞれ「$」、「.」、「,」に設定され、数値が正常に読み取られます。また、'$#,##0.00;($#,##0.00)' の Format 文字列を設定します。これが重要な要素のようです。テキスト ファイルの入力ステップでは、CSV から指定した数の行を調べ、各列の形式を推測します。

PDI の数値フォーマット表は次のとおりです。

数値フォーマット表

同じ列に異なる通貨形式が混在している場合は、UDJE ステップとこの回答を使用します。

Java での通貨文字列の解析

または JavaScript ステップとこの回答:

JavaScript で通貨文字列を変換する

数字および小数点以外のすべての文字を取り除き、値の選択ステップに渡します。入力列に小数点記号が混在している場合、これは非常に難しいことに注意してください。

于 2013-05-17T20:22:52.410 に答える