# データの重複除去

最適なファンクションを使えば、データを正確に重複除去できます。

## カラム内の値の重複を除去

[Deduplicate rows with identical values] (同じ値を含む行の重複除去)ファンクションを使用して、他の行と一部または全体が重複している行を容易に削除できます。

情報メモ注: このファンクションはSparkジョブ、およびHDFSやS3のエクスポートとは互換性がありません。

たとえば、コピーアンドペーストの失敗などのヒューマンエラー、さらには自動操作のためにスプレッドシートの情報が重複することがあります。顧客の基本情報が含まれている次のデータセットで、firstnameとlastnameの両方のカラムに重複する値が含まれていることがわかります。

![データセットに重複する顧客情報が含まれている状態。](https://help.qlik.com/talend/ja-JP/data-preparation-user-guide/Resources/images/deduplicate_columns_1.png)

JakeとPeraltaはfirstnameと思われるエントリーであり、個別に見るとlastnameカラムに重複があります。ただし、よく確かめてみると、行 1、2、4からの情報は、ラストネームまたは名のどちらかを共有する別の顧客に属していることがわかります。他方、行3は行2の正真正銘の重複であり、一部の情報に欠けもあります。

2つのカラムに重複除去オペレーションを別々に実行すると、ラストネームまたはファーストネームがたまたま一致する顧客に関する貴重な情報が失われてしまうため、[Deduplicate rows with identical values] (同じ値を含む行の重複除去)ファンクションを使用して、2つのカラムを同時に処理します。このファンクションにより、ラストネームと名の両方が重複している行(行2と3)だけでなく、データセットの以降の部分に含まれている可能性のある他の重複も削除されます。

### 手順

1. Ctrlキーを押したままfirstnameカラムとlastnameカラムのヘッダーをクリックし、カラムのコンテンツを選択します。
2. ファンクションパネルにConcatenate withと入力し、結果をクリックして関連ファンクションのオプションを表示します。
3. [Validation criterion] (条件の検証)ドロップダウンリストで、[Exact value] (厳密値)など、適用する制限ルールを選択します。
   * [Simplified text] (簡略化テキスト): 句読点、ホワイトスペース、大文字と小文字の区別、アクセスと記号は無視されます。たとえば、Pâté-en-croûteが参照値の場合、pate-eN-cRouteが含まれた行は削除されますが、Pâté n croûteが含まれた行は削除されません。
   * [Ignore case and accents] (大文字/小文字、アクセントを無視): 大文字と小文字の区別、アクセント記号は無視されます。たとえば、Pâté-en-croûteが参照値の場合、pate-en-crouteが含まれた行は削除されますが、pate en crouteが含まれた行は削除されません。
   * [Exact value] (厳密値): 最も厳密な検証ルール。行が削除されるのは、参照値との完全一致がある場合のみです。
4. [Submit] (送信)をクリックします。

### タスクの結果

行2の重複だった行は削除されましたが、同じ値を含む他の行は、2つのカラムの条件に一致しないため、保持されました。 ![データセットに重複しない顧客情報が含まれている状態。](https://help.qlik.com/talend/ja-JP/data-preparation-user-guide/Resources/images/deduplicate_columns_2.png)

## 行の重複除去

[Remove duplicate rows] (重複行を削除)ファンクションを使用すると、完全に重複しているすべての行を簡単に削除し、データセットに1行のみを保持できます。

情報メモ注: このファンクションはSparkジョブ、およびHDFSやS3のエクスポートとは互換性がありません。

たとえば、コピーアンドペーストの失敗などのヒューマンエラー、さらには自動操作のためにスプレッドシートの情報が重複することがあります。この例では、受信したデータセットには、顧客情報がすべてシステムで複製された行が含まれています。

![データセットに重複する顧客情報が含まれている状態。](https://help.qlik.com/talend/ja-JP/data-preparation-user-guide/Resources/images/deduplicating_rows_1.png)

[Remove duplicate rows] (重複行を削除)ファンクションを使えば、データセットを簡単に消去できます。

### 手順

1. データセットの任意のカラムのヘッダーをクリックします。
2. ファンクションパネルの[Table] (テーブル)タブをクリックして、テーブル全体で適用できるファンクションの一覧を表示します。
3. [Remove duplicate rows] (重複行を削除)ファンクションにカーソルを置き、目のアイコンをクリックしてその効果をプレビューします。

   ![データセットに重複する顧客情報が含まれ、強調表示されている状態。](https://help.qlik.com/talend/ja-JP/data-preparation-user-guide/Resources/images/deduplicating_rows_2.png)
4. [Submit] (送信)をクリックしてファンクションを適用します。

### タスクの結果

重複した情報はすべて1回の簡単な操作で削除でき、データセットでは各行1行のみが表示されるようになります。