2021/02/26

Salesforce内のデータを関連付ける「主従関係」とは?

 
  

Salesforceにおける「主従関係」とは?

主従関係とは、Salesforce内の異なる2つのオブジェクト同士を紐付けるオブジェクトリレーションのうち、”主”と”従”の関係を持たせる機能のことです。 このオブジェクトリレーションを構築することで、異なる2つのオブジェクト間で親子関係を持たせられますが、その方法の内、構築できるリレーション数に上限がある等の制御事項の下で構築する方法を指します。

オブジェクトリレーションとは?

「オブジェクトリレーション」とは、2つの異なるオブジェクト間で親子関係を構築させた、データの紐付きそれ自体を指します。 親子関係を構築することで、子オブジェクト側から紐付く親オブジェクト側のデータを参照することや、親オブジェクト側から紐付く子オブジェクトを集計した結果やそのデータを一覧で表示できます。

主従関係リレーションの設定方法

Salesforceにおいて、異なる2つのオブジェクトを主従関係としてリレーションを構築するには、””主従関係””のデータ型をもつカスタム項目を作成することで設定できます。 作成方法は、以下の流れとなります。 1.任意のオブジェクトの設定画面(オブジェクトマネージャ)へアクセスし、[項目とリレーション]をクリックする。 2.新規カスタム項目の作成画面(=「新規」ボタンをクリックして遷移した画面)を開き、データ型で””主従関係””を選択して、「次へ」ボタンをクリックする。 3.[関連先]にて、従レコード(子レコード)に指定したいオブジェクトを選択して、「次へ」ボタンをクリックする。 4.項目名等の入力、項目レベルセキュリティ(=プロファイル毎の項目アクセス権限の付与設定)、項目を表示するページレイアウトをそれぞれ設定し、「保存」ボタンをクリックする。

主従関係の概要

Salesforceの異なるオブジェクト間のリレーションとして主従関係を構築すると、主に以下のような操作ができるようになります。 ・積み上げ集計項目が作成できる ・主レコードを削除すると従レコードも削除される ・「所有者」項目の一元管理ができる

積み上げ集計項目が作成できる

主従関係を構築すると、主レコード側で「積み上げ集計項目」を作成できます。 積み上げ集計項目とは、紐付く従レコードのレコード数や、金額や数値の合計や最高値・最低値を、主レコード上で参照できる項目を指します。 積み上げ集計項目は、カスタム項目作成時に、””積み上げ集計””というデータ型を選択することで作成できます。 例えば、ある主レコードに対し、 ・従レコード①(金額:\1,000,000、受注日:2020/12/01) ・従レコード②(金額:\3,000,000、受注日:2021/01/01) の2データが紐付いている場合、 主レコード上で、 ・合計金額:\4,000,000 ・最新受注日:2021/01/01 ・従レコード数:2 を表示できます。

主レコードを削除すると従レコードも削除される

主従関係をもつオブジェクト間においては、主レコードが削除されると、関連する全ての従レコードも削除されます。 例えば、1つの主レコードに対し、従レコードが3件紐付いている場合において、主レコードを削除すると、この3件の従レコードも併せて削除されます。 ※逆に、従レコードを削除した際は、主レコードは削除されません。 Salesforceの標準機能にて、一度削除したデータであっても削除日から15日以内であれば、「ごみ箱」からデータを復元できますが、この時に、主レコードがごみ箱にある状態で、そのレコードに関連する従レコードのみの復元はできないという点に注意しましょう。 ※復元する際に、主レコードが存在していない(=ごみ箱に存在する)ため、従レコード側で主レコードの指定ができないためです。

「所有者」項目の一元管理ができる

主従関係では、主レコードの「所有者」は、そのまま従レコードの「所有者」へも引き継がれます。 従レコードの作成時、指定した主レコードの「所有者」が、そのまま従レコードの「所有者」として自動で設定されます。 例えば、主レコードの「所有者」が”Aさん”としている場合に、従レコードを作成すると、その作成された従レコードの「所有者」へは自動的に””Aさん””が設定されます。 また、上記の例にて、主レコード側の「所有者」を”Bさん”へ変更すると、従レコードの「所有者」も自動で”Bさん”に変更されます。 ※但し、従レコード側で「所有者」の変更はできません。また、従レコード側のページレイアウトには、「所有者」項目は表示されません。 何かしらの理由で担当者を交代するとなった場合に、簡易的なデータメンテナンスによるスムーズな情報の引継ぎが期待できるでしょう。

主従関係における制御事項

主従関係を構築することで、主に以下のような制御事項が発生します。 ・標準オブジェクトを従レコードとして指定できない ・従レコードに対し独自のセキュリティ権限を設定できない ・原則主レコードの指定が必須かつ指定変更はできない

標準オブジェクトを従レコードとして指定できない

標準オブジェクトについては、従レコードに指定することはできません。 つまり、取引先オブジェクト(API参照名:Account)や商談オブジェクト(API参照名:Oppotunity)を、従レコードのオブジェクトを指定する画面にて指定ができないということです。 標準オブジェクトの親として、何かしらのカスタムオブジェクトを構築する場合は、主従関係のリレーションは構築できないという点に注意しましょう。

従レコードに対し独自のセキュリティ権限を設定できない

主従関係においては、従レコード側にて独自のセキュリティ権限の設定はできません。 主従関係おいては、「所有者」項目と同様に、セキュリティ権限についても、主レコードにおける設定情報をそのまま継承するため、従レコードにおけるレコードへのアクセス権限付与等のセキュリティ設定ができません。 そもそも主レコードにアクセスできないユーザは、そのレコードに紐付いている従レコードへのアクセスもできない点にも注意しておきましょう。

原則主レコードの指定が必須かつ指定変更はできない

従レコードの新規作成時は、主レコードの指定は必須で、かつ原則として、編集時に主レコードの指定の変更はできません。 主レコードであるオブジェクトAの”sample1”のデータの従レコードとして、オブジェクトBの””test1″”のデータが紐付いている場合、オブジェクトAの別のデータ”sample2”のデータや”sample1”の指定を外すことはできません。 但し、システム管理者ユーザのみ、主従関係の設定における[親の変更を許可]という権限を付与することで、主レコードの指定を変更できるようになります。 ※この権限を付与した場合であっても、主レコードの指定を外して空欄にすることはできません。

参照関係との違い

もう1つのオブジェクトリレーションの構築方法である参照関係では、主従関係と比較して、主に以下の点で違いがあります。 ・親レコードの指定が自由に変更でき、空欄として指定を解除することもできる。 ・親レコード、子レコードそれぞれでセキュリティ権限の設定や「所有者」の指定ができる。 ・紐付く親レコードが削除されても、子レコードは削除されず、そのまま残る。 ・標準オブジェクトを、子レコードとして指定できる。 ・「積み上げ集計項目」を作成できない。 2つの異なるオブジェクト間で”親子関係を構築する”という点では同じですが、主従関係には様々な考慮事項もあるという点に注意しましょう。

主従関係を使ったデータ管理をしよう!

今回は、Salesforceに登録されている異なるオブジェクトのデータを関連付ける機能の1つである「主従関係」について紹介しました。 実際に主従関係でリレーションを構築するにあたっては、様々な制御事項を考慮したデータ構成にする必要がありますが、主従関係でのみ操作することも可能です。 もう1つの機能である「参照関係」との違いを理解し、管理するデータ構成の要件に応じて使い分けができるようしておきましょう。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】