データ・セット内の重複レコードは、データ・マイニングを開始する前に削除する必要があります。 例えば、マーケティング・データベースで、異なる住所または会社情報を持つ個人が複数回出現する場合があります。 重複レコード・ノードを使用すると、 データ内の重複するレコードを検出または削除したり、 重複するレコードのグループから単一の複合レコードを作成したりすることができます。
重複レコード・ノードを使用するには、まず 2 つのレコードが重複していると見なす条件を規定する一連のキー・フィールドを定義する必要があります。
一部のフィールドをキー フィールドとして選択しない場合は、2 つの「重複する」レコードにおいて、依然として残りのフィールドの値が異なる可能性があるため、2 つのレコードを完全には同一と見なせない場合があります。 この場合は、 重複するレコードのグループそれぞれの中で適用するソート順序を定義することもできます。 このソート順序により、 グループの中で最初のレコードと見なすレコードを詳細に制御することができます。 それ以外の場合は、重複するレコードがすべて同等に扱われ、 いずれかのレコードが任意に選択される場合があります。 レコードの着信順序は考慮されないため、上流のソート・ノードを使用することはできません (このページの「重複レコード・ノード内のレコードのソート」を参照)。
モード: 複合レコードを作成するか、 最初のレコードを含めるか除外する (破棄する) かを指定します。
- 各グループの複合レコードを作成。 これにより、非数値フィールドを集計することができます。 このオプションを選択すると、「複合」タブが使用可能になり、 複合レコードの作成方法を指定することができます。
- 各グループの最初のレコードだけを含める。 重複するレコードのグループそれぞれの中で最初のレコードを選択し、 残りを破棄します。 first レコードは、 グループ内で、レコードをソートする の設定で定義されたソートの順序によって決定され、レコードの着信順では決定されません。
- 各グループの最初のレコードだけを破棄。 重複するレコードのグループそれぞれの中で最初のレコードを破棄し、 残りを選択します。 first レコードは、 グループ内で、レコードをソートする の設定で定義されたソートの順序によって決定され、レコードの着信順では決定されません。 このオプションは、データ内の重複を検出 し、後からフローで調査する場合に役立ちます。
グループ化のキー・フィールド。 レコードが同一であるかどうかを判別するために使用するフィールドをリストします。 以下が可能です。
- フィールド・ピッカー・ボタンを使用して、このリストにフィールドを追加します。
- フィールドを削除するには、赤い X (削除) ボタンをクリックします。
グループ内でレコードをソート。 重複するレコードの各グループの中でレコードをどのように並べ替えるか、 および昇順と降順のいずれで並べ替えるかを決定するために使用するフィールドをリストします。 以下が可能です。
- フィールド・ピッカー・ボタンを使用して、このリストにフィールドを追加します。
- フィールドを削除するには、赤い X (削除) ボタンをクリックします。
- フィールドを移動するには、上下 2 つのボタンがあり、複数のフィールドごとに並べ替える場合に使用します。
各グループの最初のレコードを含めるか除外することを選択した場合、 どのレコードを先頭と見なすかが重要なときは、ソート順を指定する必要があります。
複合レコードの作成を選択した場合、「複合」タブで指定するオプションによっては、 ソート順も指定する必要があります。
デフォルトで、ソート キー値の「昇順」または「降順」のどちらでレコードを並べ替えるかを指定します。
重複レコード・ノード内のレコードの並べ替え
重複するレコードのグループの中でのレコードの順序が重要な場合は、 重複レコード・ノードで「グループ内でレコードをソート」オプションを使用して 順序を指定する必要があります。 上流のソート・ノードに依存しないでください。 レコードの着信順序は考慮されず、 ノード内で指定された順序のみが考慮されることに注意してください。
ソート フィールドを指定しない (またはソート フィールドの指定が不十分な) 場合は、 それぞれの重複レコードのグループに含まれるレコードは並べ替えられず (または不完全な並べ替えが行われ)、 予測できない結果になる場合があります。
例えば、複数のマシンに関する非常に大規模なログ レコードのセットがあるとします。 ログに含まれるデータは以下のようになっています。
タイムスタンプ | マシン | 温度 |
---|---|---|
17:00:22 | マシン A | 31 |
13:11:30 | マシン B | 26 |
16:49:59 | マシン A | 30時間まで |
18:06:30 | マシン X | 32 |
16:17:33 | マシン A | 29 |
19:59:04 | マシン C | 35 分 |
19:20:55 | マシン Y | 34 |
15:36:14 | マシン X | 28 |
12:30:41 | マシン Y | 25 GB |
14:45:49 | マシン C | 27 |
19:42:00 | マシン B | 34 |
20:51:09 | マシン Y | 36 |
19:07:23 | マシン X | 33 |
レコード数を削減して各マシンの最新レコードを残すには、キー・フィールドとして「Machine
」を使用し、ソート・フィールド (降順) として「Timestamp
」を使用します。 ソートの選択内容は、 指定された「マシン」の多くの行のうち、どれが返されるかを指定するため、入力順序は結果に影響しません。 最終的なデータ出力は以下のようになります。
タイムスタンプ | マシン | 温度 |
---|---|---|
17:00:22 | マシン A | 31 |
19:42:00 | マシン B | 34 |
19:59:04 | マシン C | 35 分 |
19:07:23 | マシン X | 33 |
20:51:09 | マシン Y | 36 |