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

利用対象...

* 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つのテーブルのプライマリキーとマッチさせる(またはその逆の)分析を作成できます。この冗長性分析はデータベーステーブルにのみ対応しています。

## 始める前に

Profilingパースペクティブでデータベース接続が作成されていること。

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

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

* [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. [DQ repository] (DQリポジトリー)ツリービューで[Data Profiling] (データプロファイリング)を展開し、[Analyses] (分析) &gt; [New analysis] (新しい分析)を右クリックします。

   ![Analysesノードのコンテキストメニュー。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/connection_analysis3.png) [Create new analysis] (新しい分析を作成)ウィザードが開きます。
2. [Table] (テーブル) &gt; [Redundancy Analysis] (冗長性分析)を選択し、[Create] (作成)をクリックします。
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. [Connection] (接続)メニューで接続を選択し、[Next] (次へ)をクリックします。
2. [Compare] (比較)メニューで、比較するカラムを選択します。

   この例では、[sales\_fact\_1998]テーブルの[customer\_id]カラムにある外部キーを、[customer]テーブルの[customer\_id]カラムにあるプライマリキーとマッチさせます。また、その逆も行われます。これによって2つのテーブル間の関係が調べられ、1998年にはどの顧客も注文を行ったかどうかなどがわかります。
3. [Select column A] (カラムAを選択)をクリックし、[Column selection] (カラム選択)ダイアログボックスを開きます。

   外部キーの有効性をチェックする場合は、Aセットの外部キーを含んでいるカラムとBセットのプライマリキーを含んでいるカラムを選択します。
4. データベース接続内のカタログ/スキーマを参照して、分析したいカラムが含まれているテーブルに移動します。

   この例で分析するカラムは、外部キーを含んでいる[customer\_id]です。 ![分析するテーブルの選択。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/KeyMatching_Analysis2.png)

   [Table filter] (テーブルフィルター)フィールドや[Column filter] (カラムフィルター)フィールドに必要なテキストを入力することで、テーブルやカラムのリストをフィルタリングできます。リストには、入力したテキストに対応するテーブルまたはカラムのみ表示されます。
5. テーブル名をクリックし、含まれているカラムをすべて[Column selection] (カラム選択)ダイアログボックスの右にあるパネルにリスト表示させます。
6. 右側のリストで、外部キーを含んでいるカラムのチェックボックスをオンにしてOKをクリックし、次のステップに進みます。

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

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

   [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年に何も注文しなかった顧客を表します。