2017-06-02 1 views
0

私は、行フィルタを使用して、指定された長さよりも長い列をフィルタリングしています。フィルタ条件の下では、行の長さをチェックする条件はありません。ケトルの長さで行をフィルタリングする方法

だから、この問題を回避するには、使用することです:

Field1 REGEXP [^.{0,80}$] 
OR 
Field1 IS NULL 

Field2 REGEXP [^.{0,120}$] 
OR 
Field2 IS NULL 

長さのチェックは非常に一般的な要件です。私が行方不明になっているこれを行う関数/簡単な方法はありますか?

答えて

2

使用するデータ検証ステップ:

あなたが作成したすべての検証のために、「最大文字列の長さ」をチェックし、設定したいすべての列のための新しい検証を作成します。

あなたはホップ「ステップのエラー処理」を使用して、誤った行をリダイレクトすることができます。これらの行が入力行と同じ構造と値を持っている、しかし、あなたはまた、名前などの追加情報を含むことができ、デフォルトでは enter image description here

を誤った列またはエラーの説明の

また、電卓のステップでフィルタリングする前に文字列の長さを計算することもできますが、チェックする列が複数ある場合は、多くの追加の列が作成されることがあります。

もちろん、このようなチェックは、「ユーザー定義のJavaクラス」または「変更されたJavaスクリプト値」で実行できます。

+0

データバリデーターは変換を停止します。これらの行を無視するにはどうすればよいですか?すべてを破棄する出力タイプはありますか? –

+0

「ステップのメイン出力」ホップにバリデータステップ後に「ステップのエラー処理」が必要になる可能性があります(例としてスクリーンショットを追加しました)。 – user4637357

1

あなたが文字列について話していると仮定すると、「文字列Aの長さを返す」計算を見つけるのがやや難しい計算器ステップを使用することができます。これにより、フィルター行のステップの値が得られます。

+1

「length」という単語をフィルタとして使用すると、見つけにくいです。あまりにも長くこの機能に気づいた。 – marabu

関連する問題