オプション

以下の表に、Filter ステージのオプションを示します。

オプション名

説明 / 有効な値

グループ化方法

フィルタリングするレコードのグループを作成するのに使用するフィールドを指定します。Filter ステージでは、ステージの設定方法に応じて各グループのレコードを 1 つ以上保持します。データフローで以前、Interflow Match、Intraflow Match、Transactional Match などのマッチング ステージを使用していた場合は、CollectionNumber フィールドを選択して、そのマッチング ステージで作成されたコレクションをグループとして使用する必要があります。ただし、別のフィールドによってレコードをグループ化する場合は、そのフィールドを選択します。例えば、AccountNumber フィールドの値が同じであるレコードを残し、それ以外のレコードをフィルタリングしてすべて除外する場合は、AccountNumber を選択します。

ソート

[グループ化] フィールドにフィールドを指定する場合は、このボックスをオンにして、選択したフィールドの値でレコードをソートします。このオプションは、デフォルトで有効になっています。

詳細設定

ソート パフォーマンス オプションを指定するには、このボタンをクリックします。デフォルトでは、Management Console で指定されたソート パフォーマンス オプション (システム用のデフォルトのパフォーマンス オプション) が有効になります。システムのデフォルトのパフォーマンス オプションよりも優先する場合は、[ソート パフォーマンス オプションをオーバーライド] ボックスをオンにし、以下のフィールドに値を指定します。

メモリ内レコードの上限値
ソートでメモリ内に保持できるデータ行の最大数を指定します。この上限を越えると、ディスクにページングします。デフォルトでは、10,000 レコード未満のソートはメモリ内で行われ、10,000 レコードを越えるソートはディスク ソートとして実行されます。上限値は 100,000 レコードです。通常、メモリ内ソートはディスク ソートよりはるかに速いため、大部分のソートがメモリ内ソートとなり、大規模セットのみがディスクに書き出されるよう、この値を十分大きく設定してください。
注: 複数のジョブを同時並行で実行する環境では、[メモリ内レコードの上限値] の設定を増やすと、メモリ不足になる可能性が高くなります。
一時ファイルの最大数
ソート プロセスで使用できる一時ファイルの最大数を指定します。使用する一時ファイルの数を増やすと、パフォーマンスが向上する可能性があります。ただし、最適なファイル数は Spectrum™ Technology Platform を実行しているサーバーの構成に大きく依存します。さまざまな設定を試して、使用する一時ファイル数の増減がパフォーマンスに与える影響を確認する必要があります。必要になる可能性がある一時ファイルの適切な数を計算するには、次の式を使用します。
(NumberOfRecords × 2) ÷ InMemoryRecordLimit = NumberOfTempFiles 
一時ファイルの最大数は 1,000 を超える値にはできないことに注意してください。
圧縮を有効にする
一時ファイルをディスクに書き込むときに圧縮します。
注: 最適なソート パフォーマンスの設定は、サーバーのハードウェア構成によって異なります。次の式を一般的なガイドラインとして使用することで、妥当なソート パフォーマンスが得られます。(InMemoryRecordLimit × MaxNumberOfTempFiles ÷ 2) >= TotalNumberOfRecords

返される重複レコード数の上限値

各グループから返されるレコードの最大数を指定します。このオプションを 1 に設定すると、フィルタ ルールを定義して、グループごとに返す必要があるレコードを決定できます。ルールを定義しないと、各コレクションの先頭のレコードが返されて、残りのレコードは破棄されます。このモードでは、フィルタ ルールは保持するレコードを定義します。

例えば、グループ内でマッチ スコアが最も高いレコードを保持するルールを定義し、このオプションを 1 に設定すると、各グループ内でマッチ スコアが最も高いレコードが保持され、グループ内のそれ以外のレコードは破棄されます。

このオプションを 2 以上の値に設定すると、フィルタ ルールを指定できません。

注: 定義したルールの条件を満たすレコードがコレクションになければ、レコードはグループから返されません。

コレクションから重複を削除

フィルタ ルールを使用して、コレクションから削除するレコードを決定します。コレクション内の残りのレコードは保持されます。このオプションを選択するときは、ルールを定義する必要があります。

注: グループ内にレコードが 1 つしかない場合は、フィルタ ルールは無視され、そのレコードが保持されます。

ルール オプション

フィルタ ルールでは、グループ内に保持または削除するレコードを決定します。[返される重複レコード数の上限値] オプションを選択すると、ルールは保持するレコードを決定します。[コレクションから重複を削除] オプションを選択すると、ルールはデータフローから削除するレコードを決定します。

ルールを追加するには、ルール階層内のルールを選択し、[ルールの追加] をクリックします。

複数のルールを指定する場合は、各ルールの間で使用する論理演算子を選択する必要があります。新しいルールと前のルールの両方に合格しないと、条件を満たしていると判断しないように設定する場合は、[And] を選択します。前のルールまたは新しいルールのいずれか一方に合格すれば、条件を満たしていると判断するように設定する場合は、[Or] を選択します。

注: Filter ステージでは条件を 1 つだけ使用できます。フィルタ階層で [条件] を選択すると、ボタンがグレー表示になります。
オプション 説明

フィールド名

レコードをフィルタリングするかどうかを判断するために値を評価するデータフロー フィールドの名前を指定します。

フィールド タイプ

フィールドのデータのタイプを指定します。次のいずれかです。

数値以外
フィールドに数値以外のデータ (文字列データなど) が含まれる場合は、このオプションを選択します。
Numeric
フィールドに数値データ (double、float など) が含まれる場合は、このオプションを選択します。

演算子

フィールドの評価で使用する比較のタイプを指定します。次のいずれかです。

が次の値を含む
フィールドが指定された値を含むかどうかを確認します。例えば、"sailboat" には値 "boat" が含まれます。
等しい
フィールドが指定された値に正確に一致するかどうかを確認します。
次の値より大きい
フィールド値が指定された値よりも大きいかどうかを確認します。この演算子は、数値のフィールドにのみ有効です。
以上
フィールド値が指定された値に一致するか、またはそれよりも大きいかどうかを確認します。この演算子は、数値のフィールドにのみ有効です。
最高
フィールドの値をグループ内のすべてのレコードについてチェックし、最も大きな値が格納されているレコードを特定します。例えば、グループ内でフィールドに値 10、20、30、および 100 が格納されている場合、フィールド値が 100 のレコードが選択されます。この演算子は、数値のフィールドにのみ有効です。最低値が複数のレコードにある場合は、1 つのレコードが選択されます。
フィールドに値がないことを確認します。
空でない
フィールドに値が含まれているかどうかを確認します。
次の値より小さい
フィールド値が指定された値よりも小さいかどうかを確認します。この演算子は、数値のフィールドにのみ有効です。
以下
フィールド値が指定された値以下であるかどうかを確認します。この演算子は、数値のフィールドにのみ有効です。
最長
グループ内のすべてのレコードのフィールドの値を比較し、フィールドに (バイト数が) 最長の値が格納されているレコードを特定します。例えば、グループ内に、"Mike" という値と "Michael" という値が含まれる場合、"Michael" という値が格納されているレコードが選択されます。最低値が複数のレコードにある場合は、1 つのレコードが選択されます。
最低
グループ内のすべてのレコードのフィールドの値を比較し、フィールドに最も小さい値が格納されているレコードを特定します。例えば、グループ内でフィールドに値 10、20、30、および 100 が格納されている場合、フィールド値が 10 のレコードが選択されます。この演算子は、数値のフィールドにのみ有効です。最低値が複数のレコードにある場合は、1 つのレコードが選択されます。
最多
フィールド値が、グループ内のレコードのこのフィールドにおいて最も多く出現する値であるかどうかを確認します。最多の値が複数存在する場合、アクションは実行されません。
が等しくない
フィールド値が指定された値に一致しないことを確認します。

値タイプ

フィールドの値と比較する値のタイプを指定します。次のいずれかです。

注: このオプションは、演算子として [最高]、[最低]、または [最長] を選択している場合は使用できません。
フィールド
フィールドを別のデータフロー フィールドの値と比較する場合は、このオプションを選択します。
文字列
フィールドを特定の値と比較する場合は、このオプションを選択します。

フィールドの値と比較する値を指定します。[フィールド タイプ] フィールドで [フィールド] を選択した場合は、データフロー フィールドを選択します。[値タイプ] フィールドで [文字列] を選択した場合は、比較で使用する値を入力します。

注: このオプションは、演算子として [最高]、[最低]、または [最長] を選択している場合は使用できません。

フィルタ ルールの例

このルールは、各グループで MatchScore フィールドの値が最も高いレコードを保持します。[演算子] が [最高] または [最低] の場合、[値] および [値タイプ] オプションは適用されないことに注意してください。

フィールド名 = MatchScore
フィールド タイプ = 数値
演算子 = 最高

このルールは、AccountNumber の値が "12345" のレコードを保持します。

フィールド名 = AccountNumber
フィールド タイプ = 数値
演算子 = が次に等しい
値タイプ = 文字列
値 = 12345