1

pentaho で固定幅の入力ファイルを処理し、フォーマットを検証しようとしています。ファイルは、文字列、数値、および日付が混在したものになります。ただし、誤った文字が存在する数値フィールドを処理しようとすると (エラーが発生すると予想されていました)、数値の最初の部分を読み取るだけで、不適切な文字は無視されます。

この問題は、1 つのフィールドを含む非常に単純な入力ファイルで再現できます。

ここに画像の説明を入力

開始位置と長さとともに、予想される数値形式を指定します。 ここに画像の説明を入力

変換を実行すると、「Q」がエラーを引き起こすと予想していましたが、代わりに次の結果が表示されます。最初の 2 桁の「67」を読み取り、指定された形式に一致するように残りをパディングします。

ここに画像の説明を入力

入力ファイルが正しくフォーマットされていれば問題なく動作しますが、それ以外の場合はエラーをスローする必要があります。どんな提案も素晴らしいでしょう。ありがとう!

4

1 に答える 1

1

私と同じ問題にぶつかった後、誰かがこの質問に出くわした場合の参考までに。

「テキスト ファイル入力」ステップのすべての値を文字列として読み取り、正規表現評価を備えた「データ バリデーター」ステップを使用して、数値が正しくフォーマットされていることを確認してから、次の「値の選択」ステップ。

すべてのフィールドでこれを行うには少し時間がかかりますが、私が思いついた最も堅牢なソリューションでした.

ありがとう

于 2011-06-15T12:10:48.187 に答える