Salesforceで親オブジェクトと参照先の子オブジェクトのデータを合わせて取得したい
キーワード:Salesforce,SFDC,オブジェクト,主従関係,親子関係,クラウド
シナリオ一覧に戻る
概要
Salesforceで親オブジェクトから見た子オブジェクトを参照してデータを取得したい場合、Salesforceアダプタのデータ読み取り(親→子リレーション)処理を使用します。
問い合わせ概要オブジェクト(RLR_089_1)から見た問い合わせ詳細オブジェクト(RLR_089_2)のデータを取得し、CSVファイルに出力します。
オブジェクトイメージ
親オブジェクト(RLR_089_1)
項目名 |
データ型 |
問い合わせNo |
テキスト(10) (外部 ID) (ユニーク、大文字と小文字を区別しない) |
問い合わせ者名 |
テキスト(50) |
子オブジェクト(RLR_089_2)
項目名 |
データ型 |
コンテンツ |
ロングテキストエリア(32768) |
RLR_089_1 |
参照関係(RLR_089_1) |
処理の流れ
サンプルプロジェクトの処理の流れは以下の通りです。
- 「データ読み取り(親→子リレーション)処理」でSalesforceのデータを取得します。
- 「マッピング処理」で取得したデータを編集します。
- 「CSVファイル書き込み処理」で編集したデータをファイルに書き込みます。
実行結果のイメージについては、サンプルプロジェクトのサンプルデータ「output.csv」を参照してください。
ポイントとなる機能
名前 |
説明 |
ツールパレット上の場所 |
データ読み取り(親→子リレーション)処理 |
SOAP API の query() または、queryAll() を使用してデータを読み取ります。 |
「クラウド」-「Salesforce」-「データ読み取り(親→子リレーション)」 |
処理のポイント
データ読み取り(親→子リレーション)処理で読み取ったデータの件数分繰り返し、CSVファイル書き込み処理の入力スキーマに出力しています。
サンプルプロジェクトの使用方法
上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。
サンプルプロジェクトファイル名 |
rl_reference_089.zip |
- サンプルプロジェクトの展開
サンプルプロジェクトファイル「rl_reference_089.zip」を展開します。
- プロジェクトのアップロード
「rl_reference_089.zip」を展開後に作成される「rl_reference_089プロジェクト」ディレクトリがプロジェクトファイルとなります。
DataSpider Studioを起動し、マイプロジェクトの画面から[ファイル]-[ローカルからアップロード]で展開したディレクトリ「rl_reference_089プロジェクト」をアップロードしてください。
- サンプルデータの準備
「rl_reference_089.zip」を展開後に作成される「samples」ディレクトリがサンプルデータとなります。
$DATASPIDER_HOME/server/samplesディレクトリに上書きしてください。
- グローバルリソースの設定
コントロールパネルの[グローバルリソースの設定]から、[新しいグローバルリソースの追加]を選択し、Salesforceのグローバルリソースを追加します。
グローバルリソースの設定方法については、「グローバルリソースのプロパティ」を参照してください。
スクリプトの作成手順
プロセスフローおよびデータフローは、「サンプルプロジェクトの説明」のスクリプト画像を参照して適宜設定してください。
- デザイナのツールパレット「クラウド」-「Salesforce」-「データ読み取り(親→子リレーション)」から、データ読み取り(親→子リレーション)処理をスクリプトキャンバスに配置します。
- データ読み取り(親→子リレーション)処理の設定は、以下のように行います。
[必須設定]タブ
[子テーブル設定]タブ
処理のポイント
- 親・子それぞれのオブジェクトから取得する項目を選択することで、親オブジェクトと参照する子オブジェクトのデータを取得できます。
- 親・子それぞれのオブジェクトに検索条件を設定できます。
サンプルでは、親オブジェクトの「問い合わせ者名」に「田中」を含む値を検索条件としています。
|
- デザイナのツールパレット「変換」-「基本」-「マッピング」から、マッピング処理をスクリプトキャンバスに配置します。
- デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル書き込み」から、CSVファイル書き込み処理をスクリプトキャンバスに配置します。
- CSVファイル書き込み処理の設定は、以下のように行います。
[必須設定]タブ
- マッピング処理のMapperエディタを開き、取得したデータをCSVファイル書き込み処理の入力スキーマにマッピングする処理を作成します。
- マッピングキャンバスは、以下のように設定します。
マッピングキャンバス
番号 |
ロジック名 |
説明 |
ツールパレット上の場所 |
(1) |
単純な繰り返し |
指定したノードを繰り返します。 |
「繰り返し」-「基本」-「単純な繰り返し」 |
- スクリプトを実行し、正常終了すれば成功です。