Salesforceでは、業務データの管理を効率化するために、複数のオブジェクト(データ構造)を関連付けることができます。その中でも「連結オブジェクト」は、多対多リレーションを構築するための特別なカスタムオブジェクトです。本記事では、連結オブジェクトの基本から、作成手順や実用例までをわかりやすく解説します。

目次
1. 連結オブジェクトとは?
連結オブジェクトとは、2つのオブジェクト間で「多対多」のリレーションを実現するための中間的なオブジェクトです。この中間オブジェクトには、2つの親オブジェクト(例えば「Bug(バグ)」と「Case(ケース)」)を参照するための「参照関係の項目(主従関係の項目)」がそれぞれ1つずつ必要です。
例えば、「Bug」と「Case」を関連付ける場合を考えてみましょう。
- 1つのバグは、複数のケースに関連付けられる可能性があります(例えば、同じ不具合が複数の顧客から報告される場合)。
- 同様に、1つのケースも、複数のバグに関連する場合があります(例えば、1件のサポートケースが複数の不具合に起因している場合)。
このような関係性を直接実現することは、Salesforceの標準構造では難しいため、間に連結オブジェクトを挟みます。

2. 連結オブジェクトの必要性
なぜ多対多リレーションが重要なのか?
業務プロセスでは、データが複雑に絡み合うケースがあります。例えば:
- 教育業界:1人の生徒が複数のクラスに所属し、1つのクラスにも複数の生徒が所属する。
- 製造業界:1つの部品が複数の製品に使用され、1つの製品にも複数の部品が使われる。
このような状況では、単純な1対1や1対多のリレーションだけでは対応しきれません。そのため、連結オブジェクトが有効です。
3. 実用例: サポートケースとバグ管理の連携
シナリオ
ソフトウェア会社が製品サポートを行っており、顧客からの問い合わせ(ケース)に関連するバグ情報を管理したい場合を考えます。
実装手順
- オブジェクト構成
Case
(顧客からの問い合わせ情報を管理)Bug
(製品の不具合情報を管理)BugCaseLink
(これら2つを繋ぐ連結オブジェクト)
- 操作方法
- ユーザーがケース詳細画面を開くと、関連するバグ情報がリスト表示されます。
- バグ詳細画面では、どのケースに関連付けられているかが確認可能。
メリット
- サポートチームと開発チームが連携しやすくなり、問題解決のスピードが向上。
- 顧客対応履歴と技術的課題の一元管理が実現。
4. 連結オブジェクトの作成手順
ステップ1: カスタムオブジェクトの作成
- Salesforceで、連結オブジェクトとなるカスタムオブジェクトを作成します。
- 例:
BugCaseLink
という名前のオブジェクトを作成。 - レコード名は「自動採番」を選択し、連結オブジェクト用のカスタムタブは作成しない。
- 例:


ステップ2: 主従関係の設定
- 作成した連結オブジェクトに対し、主従関係の項目を2つ追加します。

ステップ3: ページレイアウトの編集
- 主オブジェクト(
Case
とBug
)のページレイアウトを編集し、関連リストに連結オブジェクトを追加します

- 関連リストの名前を直感的にわかりやすいものに変更します(例:
Bugs
やCases
)。


5. カスタムレポートでの分析
Salesforceでは、連結オブジェクトを含むカスタムレポートを作成することで、多対多リレーションの効果をさらに引き出せます。
- 例:「ケースごとの関連バグ一覧」

- 例:「バグごとの影響を受けたケース数」

まとめ
連結オブジェクトを活用することで、複雑なデータ構造を効率的に管理できるようになります。業界やユースケースに応じて、独自のリレーションを構築し、Salesforceの可能性を最大限に引き出しましょう。