# プライマリキーと外部キーをマッチング

利用対象...

* Big Data Platform
* Cloud API Services Platform
* Cloud Big Data Platform
* Cloud Data Fabric
* Cloud Data Management Platform
* Data Fabric
* Data Management Platform
* Data Services Platform
* Qlik Talend Cloud Enterprise Edition
* Qlik Talend Cloud Premium Edition
* Real-Time Big Data Platform

テーブルの外部キーをもう1つのテーブルのプライマリキーとマッチさせる(またはその逆の)分析を作成できます。この冗長性分析はデータベーステーブルにのみ対応しています。

## 始める前に

このビューからは、実際に分析されたデータにデータエクスプローラー経由でアクセスすることもできます。

分析されたデータ行にアクセスするには、テーブルのいずれかの行を右クリックし、次のオプションを選択します:

* [View match rows] (マッチする行を表示): 2つの同一カラムセットでマッチする可能性があるすべての行のリストにアクセスします。
* [View not match rows] (マッチしない行を表示): 2つの同一カラムセットでマッチしない可能性があるすべての行のリストにアクセスします。
* [View rows] (行を表示): 2つの同一カラムセットのすべての行のリストにアクセスします。

情報メモ警告: データエクスプローラーでは、ユーザー名が空白の接続(MS SQL Serverのシングルサインオンなど)はサポートされていません。そのような接続を使ってデータを分析し、Data Explorerパースペクティブでデータ行を表示しようとすると、警告メッセージが表示され、SQL Serverへの接続認証情報を設定するよう求められます。

次の表は、2つの同一カラムセットでマッチするすべての行をデータエクスプローラーでリスト表示したものです。

![2つのカラムにある分析済み行のリストの例。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/KeyMatching_Analysis4.png)

SQLエディターで、エディターツールバーにある保存アイコンをクリックすると、実行されたクエリーが保存され、[DQ repository] (DQリポジトリー)ツリービューの[Libraries] (ライブラリー) &gt; [Source Files] (ソースファイル)フォルダーの下にリスト表示されます。詳細は、[インジケーターで実行したクエリーの保存](https://help.qlik.com/talend/ja-JP/studio-user-guide/8.0/saving-queries-executed-on-indicators)をご覧ください。

## テーブルでプライマリキーと外部キーがマッチするよう分析を定義

利用対象...

* Big Data Platform
* Cloud API Services Platform
* Cloud Big Data Platform
* Cloud Data Fabric
* Cloud Data Management Platform
* Data Fabric
* Data Management Platform
* Data Services Platform
* Qlik Talend Cloud Enterprise Edition
* Qlik Talend Cloud Premium Edition
* Real-Time Big Data Platform

### 手順

1. 
2. 
3. [Name] (名前)フィールドに、現在の分析の名前を入力します。
4. 該当するフィールドで分析メタデータ(目的と説明)を設定し、[Next] (次へ)をクリックします。

## プライマリキーと外部キーの選択

利用対象...

* Big Data Platform
* Cloud API Services Platform
* Cloud Big Data Platform
* Cloud Data Fabric
* Cloud Data Management Platform
* Data Fabric
* Data Management Platform
* Data Services Platform
* Qlik Talend Cloud Enterprise Edition
* Qlik Talend Cloud Premium Edition
* Real-Time Big Data Platform

### 手順

1. 
2. 

   この例では、[sales\_fact\_1998]テーブルの[customer\_id]カラムにある外部キーを、[customer]テーブルの[customer\_id]カラムにあるプライマリキーとマッチさせます。また、その逆も行われます。これによって2つのテーブル間の関係が調べられ、1998年にはどの顧客も注文を行ったかどうかなどがわかります。
3. 

   外部キーの有効性をチェックする場合は、Aセットの外部キーを含んでいるカラムとBセットのプライマリキーを含んでいるカラムを選択します。
4. 

   この例で分析するカラムは、外部キーを含んでいる[customer\_id]です。 ![分析するテーブルの選択。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/KeyMatching_Analysis2.png)
5. 
6. 右側のリストで、外部キーを含んでいるカラムのチェックボックスをオンにしてOKをクリックし、次のステップに進みます。

   分析するカラムは[DQ repository] (DQリポジトリー)ツリービューからエディターに直接ドラッグできます。

   [Analyzed Columns] (分析済みカラム)ビューにリスト表示されているいずれかのカラムを右クリックして[Show in DQ repository view] (DQリポジトリービューで表示)を選択すると、選択されたカラムがツリービューの対応する接続の下へ自動的に配置されます。
7. 

   [Compute only number of A rows not in B] (B行ではなくA行の数のみ計算)チェックボックスをオンにすると、カラムBのカラムでは見つからないプライマリキーを検索します。
8. [Save and Run] (保存して実行)をクリックします。確認のメッセージが表示されます。
9. 操作を続行する場合は、メッセージ内のOKをクリックします。

   この分析タイプの実行にはしばらく時間がかかります。分析結果が自動的に開いて表示されるまで待ちます。

### タスクの結果

![分析結果からのテーブルとグラフィック。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/KeyMatching_Analysis3.png)

この例では、[sales\_fact\_1998]テーブルにあるどの外部キーも[customer]テーブルにあるプライマリキーと特定されています。ただし、customerテーブルにあるプライマリキーの98.22%については、sales\_fact\_1998テーブルにある外部キーと特定できませんでした。これらのプライマリキーは、1998年に何も注文しなかった顧客を表します。

この例では、[sales\_fact\_1998]テーブルにあるどの外部キーも[customer]テーブルにあるプライマリキーと特定されています。ただし、customerテーブルにあるプライマリキーの98.22%については、sales\_fact\_1998テーブルにある外部キーと特定できませんでした。これらのプライマリキーは、1998年に何も注文しなかった顧客を表します。