従オブジェクトの数式項目を積み上げ集計項目へ反映する2つの方法
主従関係で数式項目の値を積み上げ集計したいとき、いつもワークフロールールと控え用の数値項目が要るわけではありません。直接集計できる条件と、できないときの現行のやり方を説明します。
なぜ数式項目をそのまま積み上げられないことがあるのか
積み上げ集計項目は、主従関係(マスター詳細関係)の主側にだけ作成できます。従オブジェクトの数式項目をそのまま集計対象に選べることもあれば、選べずにエラーになることもあります。分かれ目は、数式項目が他オブジェクトの値を参照しているかどうかです。
公式ヘルプは「積み上げ集計項目に、他オブジェクトの項目を参照する数式や、NOW・TODAYのように実行のたびに値が変わる関数を含まない数式項目であれば、その計算結果を集計できる」と説明しています。逆に言えば、主オブジェクトの項目を参照する数式項目は、積み上げ集計の対象に選べません。
積み上げ集計項目の前提
| 項目 | 内容 |
|---|---|
| 作成できる関係 | 主従関係(マスター詳細関係)のみ。参照関係には作成できません |
| 集計の種類 | 件数(COUNT)・合計(SUM)・最小値(MIN)・最大値(MAX) |
| SUMで選べる項目型 | 数値・通貨・パーセント |
| MIN・MAXで選べる項目型 | 数値・通貨・パーセント・日付・日時 |
| 選べない項目型 | 自動採番項目は対象にできません |
そのまま集計できるケース
従オブジェクト自身の項目だけを使い、NOW・TODAYのような動的関数を含まない数式項目なら、控え用の項目もフローも要りません。
従オブジェクトに数式項目を作る
従オブジェクト自身の項目だけを参照する、数値を返す数式項目を作成します。
主オブジェクトに積み上げ集計項目を作る
オブジェクトマネージャで主オブジェクトを開き、項目とリレーションから新規項目を作成します。データ型は積み上げ集計を選び、集計対象の従オブジェクトと、集計の種類(合計・最小値・最大値・件数)、対象項目を指定します。この対象項目に、さきほどの数式項目を直接選べます。
集計対象にできないケース
従オブジェクトの数式項目が、主オブジェクトの項目をドット記法でたどっている場合です。たとえば「主オブジェクトの単価 × 従オブジェクトの数量」のような数式は、値が主レコードに依存して変わるため、積み上げ集計項目の対象項目には選べません。
この場合、次の2段構えで対応します。
従オブジェクトに控え用の数値項目を作る
数式ではなく、実際に値を保持する数値項目を追加します。積み上げ集計項目の対象には、この数値項目を指定します。
数式の計算結果を数値項目へコピーするフローを作る
従レコードの作成時・更新時に、数式項目の値を数値項目へ書き写すレコードトリガーフローを作成します。
⚠️ この「計算結果を控え用の項目へ書き写す」処理は、かつてはワークフロールールの項目自動更新で組んでいました。ワークフロールールは2025年12月31日でサポートが終了しています。プロセスビルダーも同様です。現行ではレコードトリガーフローで組みます。
フローで計算結果をコピーする
レコードトリガーフローを選ぶ
設定のFlowsから新規フローを作成し「レコードトリガーフロー」を選びます。開始対象は従オブジェクト、開始条件は「レコードが作成または更新された場合」にします。
保存前に実行するフローを選ぶ
更新するのは、トリガーになった従レコード自身の数値項目だけです。関連レコードへは書き込まないため、保存前(Before)で実行するフローを選べます。
数値項目へ計算結果を設定する
割り当て要素で、控え用の数値項目に、数式項目の値を代入します。
⚠️ 保存前フローでは、ほかのレコードの作成・更新・削除や、アクションの呼び出しはできません。自分自身の項目を更新するだけのこの用途は、この制約の中に収まります。
主オブジェクトに積み上げ集計項目を作る
オブジェクトマネージャで主オブジェクトを開く
項目とリレーションから新規項目を作成し、データ型で積み上げ集計を選びます。
集計対象と集計の種類を選ぶ
主従関係にある従オブジェクトを選び、集計の種類(合計・最小値・最大値・件数)を指定します。合計・最小値・最大値では、対象項目に控え用の数値項目(直接集計できる場合は数式項目)を選びます。
必要なら絞り込み条件を設定する
特定の条件に合う従レコードだけを集計対象にしたい場合は、フィルタ条件を追加します。
動作確認
主オブジェクトレコードを作成する
積み上げ集計項目の値が空、または0であることを確認します。
従オブジェクトレコードを複数作成する
1件ずつ作成し、そのつど数式項目(と控え用の数値項目を使う場合はその項目)の値が想定どおりか確認します。
主オブジェクトレコードを確認する
積み上げ集計項目が、従オブジェクトレコードの値の合計になっていることを確認します。
ここで間違えやすい
| 間違い | 何が起きるか |
|---|---|
| 主オブジェクトの項目を参照する数式項目を、積み上げ集計の対象項目に選ぼうとする | 対象項目の一覧に出てこないか、保存時にエラーになります |
| 数式にNOW・TODAYのような動的関数を使っている | 積み上げ集計項目の対象にできません |
| 控え用の数値項目をワークフロールールで更新しようとする | ワークフロールールは2025年12月31日でサポートが終了しています。フローで作り直します |
| 参照関係のオブジェクトに積み上げ集計項目を作ろうとする | 積み上げ集計項目は主従関係の主側にしか作成できません |
確認した環境
- 2026年9月 / Salesforce Summer '26(APIバージョン67.0)時点の公式ヘルプで、積み上げ集計項目の対象にできる数式項目の条件と、ワークフロールールのサポート終了時期を確認しています
- 項目名は、ご自身の組織の項目名に置き換えてください
まとめ
- 積み上げ集計項目は、主従関係(マスター詳細関係)の主側にしか作成できません
- 従オブジェクト自身の項目だけを使い、NOW・TODAYを使わない数式項目なら、そのまま集計対象に選べます。控え用の項目もフローも不要です
- 主オブジェクトの項目を参照する数式項目は、積み上げ集計の対象に選べません。控え用の数値項目へ計算結果を書き写します
- 計算結果を書き写す処理は、かつてはワークフロールールで組んでいました。ワークフロールールは2025年12月31日でサポートが終了しており、現行ではレコードトリガーフローで組みます
- 控え用の数値項目を更新するだけなら、保存前フローで完結します
Salesforceの導入・運用についてご相談ください
導入前の検討から、お使いの環境の改修・運用、AIとの連携まで承ります。状況を伺ったうえで、進め方をご提案します。