# 外部キーフィルターの追加

Availability-note[非推奨](https://help.talend.com/r/en-US/Cloud/labels-on-talend-help-center/availability-deprecated)

このコンテンツは非推奨になりました。

利用対象...

* Data Fabric
* MDM Platform

データモデル内のビジネスエンティティの属性(エレメント)を設定できる最も便利な注釈の1つが、外部キーフィルターです。

この注釈を介し、以下を使用して外部キーをフィルタリングできます。

* 関連する属性の標準xpath述語を使用して現在のレコードから抽出された値

* 複合式: リテラルとファンクション

* 現在のレコード値と複合式

フィルターがXPathではなく値である場合は、引用符( " )で囲む必要があります。

情報メモ注: データレコードの保存にSQLデータベースを使用する場合、外部キーのカスタムフィルターはサポートされません。

## 始める前に

データモデル、ビジネスエンティティおよびデータモデルの属性が作成済みであること。詳細は、[データモデルの作成](https://help.qlik.com/talend/ja-JP/studio-user-guide/8.0/creating-data-model)、[データモデルにビジネスエンティティを作成](https://help.qlik.com/talend/ja-JP/studio-user-guide/8.0/creating-business-entities-in-data-model)、[ビジネスエンティティに属性を追加](https://help.qlik.com/talend/ja-JP/studio-user-guide/8.0/adding-attributes-to-business-entity)をご覧ください。

## このタスクについて

データレコードにAgency、Agent、Regionというエンティティが含まれている例を考えてみましょう。エンティティAgencyおよびRegionにはCountry属性が含まれています。Talend MDM Web UIで、外部キーの値をCountry属性によってフィルタリングしようとしています。

外部キーフィルターを設定するには以下の操作を行います。

## 手順

1. 注釈を追加する属性を右クリックします。この例では、Agency &gt; Regionです。
2. コンテキストメニューで[Set the Foreign Key Filter] (外部キーフィルターの設定)を選択します。

   ダイアログボックスが表示されます。

   ![](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/Set_ForeignKey_Filter2.png)
3. ![](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/Add_Icon.png)アイコンをクリックしてテーブルに行を追加し、ここで外部キーフィルターを定義します。
4. [XPath]カラムをクリックし、[...]ボタンをクリックしてダイアログボックスを開き、外部キーフィルターを設定するXPathを選択します。
5. Region &gt; Countryを選択し、ダイアログボックスで[Add] (追加)をクリックします。

   XPathがRegion/Countryに設定されます。

   ![](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/Set_ForeignKey_Filter4.png)
6. [Operator] (オペレーター)カラムをクリックし、リストから演算子を選択します。この例ではContainsです。
7. [Value] (値)カラムをクリックし、[...]ボタンをクリックしてダイアログボックスを開き、外部キーフィルターを設定する値を選択します。
8. Agency &gt; Countryを選択し、ダイアログボックスで[Add] (追加)をクリックします。

   外部キーフィルターの値がAgency/Countryに設定されます。

   情報メモ注: 関連する属性のXPath述語でファンクションを使用して、外部キーフィルター値を設定することもできます。例、fn:abs(Product/Price)。String型の属性のXPath述語はxpathの前にする必要があります。例、fn:concat("xpath:Agency/Country","sample")。サポートされているすべてのファンクションは、デフォルト値ルールを設定するための[Expression] (式)エリアにあります。詳細は、[エレメントのデフォルト値ルールを設定](https://help.qlik.com/talend/ja-JP/studio-user-guide/8.0/setting-default-value-rule-for-element)をご覧ください。
9. 必要に応じて、複数の条件を追加し、さまざまな述語を使用してそれらを組み合わせます。

   詳細は、[Behaviors of filters using multiple conditions and predicates in Talend MDM](https://help.qlik.com/talend/r/en-US/8.0/mdm-behaviors-of-filters)をご覧ください。
10. この例では、Country属性をベースに外部キーをフィルタリングします。OKをクリックしてダイアログボックスを閉じます。

    定義された外部キーフィルターが、Regionエレメントの[Annotation] (注釈)ノードの下に表示されます。

    ![](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/Set_ForeignKey_Filter5.png)
11. ツールバーの保存アイコンをクリックするか、キーボードでCtrl + Sを押して、変更を保存します。

## 次のタスク

これで、Talend MDM Web UI内のどのAgencyレコードでも、ユーザーが[Region] (リージョン)フィールドの横の外部キーアイコンをクリックするたびにリストに含まれるのはCountry属性をベースとする外部キーのみとなります。