2017-01-10 10 views
1

私は、タブ区切りのテキストファイルからテキストファイルの入力ステップを読み込んでPentahoで仕事をしています。このファイルを指定すると、データが空の行がありますが、行はExcelで空行をコピーしたため、タブで埋められます。以下は、メモ帳++の「空の」行のスクリーンショットです。テキストファイルの入力タブの行を無視する

enter image description here

このような行を無視する方法はありますか?私はフィルタ文字列 =タブの数、フィルタ位置 = 0、フィルタ上停止= Y、正の試合 = Y.は、このフィルタは、任意の効果を持っているようには見えなかったとのフィルタエントリを追加してみました。

ジョブが実行されると、これらのすべてを意味のあるNULLレコードとして扱いますが、これにより次のジョブのテーブル出力が失敗します。テキストファイル入力でこれを修正する方法がない場合は、悪いレコードを簡単にクリーンアップできる別のジョブがありますか?

答えて

0

私がさらにデバッグしたとき、私はフィルタタブが私が探していたものを達成するためのロジックを持っていることを知りました。フィルター文字列=タブ数、フィルター位置= 0、フィルターで停止= Y、ポジティブマッチ= Yポジティブマッチ= Nが必要でした。この変更後、正常に動作しました。

+0

メンテナンスの観点から、ステップ・フィルター行を使用して必須フィールドをNOT NULLにすることは、実際のデータ・サブストリングを指定する場所に一定量のメタキャラクターを入力するよりも優れています。 – marabu

0

Filter Rowsを使用して、1つ以上のフィールド値をチェックすることができます。

変換は次のようになります。テキスト入力 - >行のフィルタ - >テーブル出力。

+0

フィルタ行の仕組みを見てみると、各列が個別にNULLであるかどうかを確認し、すべてがその行を除外しているかどうかを確認する条件を追加する必要があります。私はFilter Rowステップでこれを行うことができますが、より簡単な方法があればいいと思います。フィルター行を使用してすべての列を検査する、よりクリーンな方法はありますか? –

関連する問題