親子関係クエリーを生成するためのスキーマを設定する方法 - 7.3

Salesforce

EnrichVersion
Cloud
7.3
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
EnrichPlatform
Talend Studio
task
ジョブデザインと開発 > サードパーティーシステム > ビジネスアプリケーション > Salesforce
データガバナンス > サードパーティーシステム > ビジネスアプリケーション > Salesforce
データクオリティとプレパレーション > サードパーティーシステム > ビジネスアプリケーション > Salesforce

このセクションでは、親子関係クエリーを生成するためのモジュール名とスキーマカラムを設定する方法を示します。

次の2つの親子関係クエリーの例は、次の手順のデモンストレーションを目的としています。

  • SELECT Name, Owner.Name (SELECT CreatedBy.Name FROM Notes) FROM Account、標準オブジェクトとフィールドを使った親子関係クエリー、および

  • SELECT LastName__c, (SELECT FirstName__c FROM Daughters__r) FROM Mother__c、カスタムオブジェクトとフィールドを使った親子関係クエリー。

    ここでは__r instead of __cで関係名を使う必要があります。詳細については、Understanding Relationship Names, Custom Objects, and Custom Fieldsを参照してください。

手順

  1. 上記の例の外部クエリーFROM句、AccountMother__cで指定されたオブジェクトの名前を使って、モジュール名を設定します。
  2. スキーマダイアログボックスのSELECTの後ろに、フィールド(サブクエリーのフィールドを含む)ごとにカラムを作成します。

    最初の例では、3つのフィールドに対して3つのカラムを作成する必要があります。外側のSELECTの後ろに2つのフィールドNameOwner.Nameを、サブクエリーSELECTの後ろに1つのフィールドCreatedBy.Nameを含めます。

    2番目の例では、2つのフィールドに対して2つのカラムを作成する必要があります。外側のSELECTの後ろにフィールドLastName__c、サブクエリーSELECTの後ろにフィールドFirstName__cを含めます。

  3. 括弧の外側にある外側のSELECT句のフィールドについては、各カラムの名前を各フィールドの名前に設定し、カラム名のすべてのドットをアンダースコア文字に置き換えます。

    最初の例では、外側のSELECT句の2つのフィールドNameOwner.Nameのカラム名がNameOwner_Nameです。

    2番目の例では、フィールド名にドットがないため、カラム名はフィールド名と同じです。

  4. サブクエリーSELECTのフィールドについては、パターン<$XXX>_records_<$YYY>を使ってカラム名を構成します。<$XXX>はサブクエリーFROM句で指定したオブジェクトの名前に対応し、<$YYY>はすべてのドットがアンダースコア文字に置き換えられたフィールド名になります。

    最初の例では、サブクエリー内のフィールドCreatedBy.Nameのカラム名がNotes_records_CreatedBy_Nameに設定されています。

    2番目の例では、サブクエリー内のフィールドFirstName__cのカラム名がDaughters__r_records_FirstName__cに設定されています。

  5. 各カラムのタイプを設定します。

    最初の例のスキーマは次のように設定する必要があります。

    2番目の例のスキーマは次のように設定する必要があります。

    Talendスキーマでは、アンダースコア文字'_'は関係名とフィールド名の間の区切り記号として使われます。したがって、クエリーを生成する時に'__r'または'__c'の後ろに続くアンダースコア文字'_'のみがドット文字'.'に置き換えられます。Contact_custom_field__cのようにアンダースコア文字'_'がスキーマ内のカスタム名の一部である場合、クエリー内ではContact.custom_field__cとすべきなので、生成されたクエリー内の'_'を手動で'.'に置き換える必要があります。