オプション

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

オプション名

説明 / 有効な値

グループ化方法

同期するレコードのグループを作成するのに使用するフィールドを指定します。データフローで以前、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

ルール

Duplicate Synchronization ルールは、コレクション内の他のすべてのレコードにデータをコピーするレコードを決定します。

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

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

オプション 説明

フィールド名

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

フィールド タイプ

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

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

演算子

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

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

値タイプ

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

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

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

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

アクション

アクションは、グループ内の他のレコードにコピーするフィールドを決定します。アクションを追加するには、Duplicate Synchronization 条件ツリー内のアクションを選択し、[アクションの追加] をクリックします。以下のオプションを使用してアクションを定義します。

オプション 説明

ソース タイプ

グループ内の他のレコードにコピーするデータのタイプを指定します。次のいずれかを選択します。

フィールド
グループ内の他のレコードにフィールドの値をコピーする場合は、このオプションを選択します。
文字列
グループ内の他のレコードに定数値をコピーする場合は、このオプションを選択します。

ソース データ

グループ内の他のレコードにコピーするデータを指定します。[ソース タイプ] が [フィールド] の場合は、グループ内の他のレコードに値をコピーするフィールドを選択します。[ソース タイプ] が [文字列] の場合は、グループ内の他のレコードにコピーする定数値を指定します。
注: ソース データが NULL 値である場合は、グループの他のレコードにコピーされません。他のレコードは元の値のままとなります。

デスティネーション

[ソース データ] フィールドで指定したデータのコピー先となる、他のレコード内のフィールドを指定します。例えば、グループ内の他のすべてのレコードの AccountBalance フィールドにデータをコピーする場合は、AccountBalance を指定します。

Duplicate Synchronization ルールとアクションの例

この Duplicate Synchronization ルールとアクションは、マッチ スコアが 100 のレコードを選択し、グループ内の他のすべてのレコードに AccountNumber フィールドのアカウント番号をコピーします。

ルール
フィールド名: MatchScore
フィールド タイプ: 数値
演算子: 等しい
値タイプ: 文字列
値: 100

操作
ソース タイプ: フィールド
ソース データ: AccountNumber
デスティネーション: NewAccountNumber