問題
Universal Containers社は、今後30日以内にどれだけの商談が終了するかを追跡するために、取引先に項目が必要です。何を使用すればよいでしょうか。
- ワークフロールール
- 積み上げ集計項目
- プロセスビルダー
- Apexコード
正解
- ワークフロールール
- 積み上げ集計項目
- プロセスビルダー
- Apexコード
解説
それぞれの選択肢の理由について説明します。
□ ワークフロールール
これは不正解です。ワークフロールールは条件に応じて項目更新や通知などを行えますが、更新対象は基本的にそのオブジェクト自身に限られます。
□ 積み上げ集計項目
これは不正解です。積み上げ集計項目はまず主従関係を結び、関連する従レコードのCOUNTやSUMなどの計算を行えますが、相対日付(今後30日以内など)を条件に直接指定することはできません。取引先と商談は参照関係ですが、積み上げ集計項目を作成することができます。しかし今回は事前に商談に補助項目を追加すれば実現可能ですが、問題文にその前提がないため不正解とします。
□ プロセスビルダー
これは不正解です。プロセスビルダーは子レコードの値を親にコピーしたり固定値で更新することはできますが、複数の子レコードを集計して件数や合計を親に反映することはできません。
□ Apexコード
これは正解です。Apexコードはカスタムロジックを実装するために使用されます。今回のシナリオでは、特定の条件(今後30日以内に終了する商談)に基づいて計算を行い、結果を親オブジェクトに表示するためにApexコードを使用することが可能です。簡単なロジックなので宣言型開発で実装するべきですが、ほか選択肢で解決できないのでこれを正解とします。
次の問題へ
あわせて読みたい


【Salesforce 認定Platformアプリケーションビルダー】試験対策:第4問
問題 現在、本番環境にインストールされている未管理パッケージをアップグレードするには、どのような手順を実行すればよいですか。 現在のバージョンをアンインストー…
前の問題へ
あわせて読みたい


【Salesforce 認定Platformアプリケーションビルダー】試験対策:第2問
問題 カスタムレポートタイプを作成する際に、アプリケーションビルダーが考慮することはどれですか。 主従関係の従オブジェクトは、カスタムレポートタイプのセカンダ…
1問目から復習する
あわせて読みたい


【Salesforce 認定Platformアプリケーションビルダー】試験対策:第1問
問題 スキーマビルダーの機能はどれですか。2つ選びなさい。 ページレイアウトを新しいウィンドウで表示する カスタム設定を編集する 選択したオブジェクトをページに表…

コメント
コメント一覧 (2件)
積み上げ集計項目(Roll-Up Summary Field)機能の誤解
②について「特定の期間(例:30日以内)に基づく集計は提供されない」と述べられていますが実際には条件付きフィルターを使用することで可能です。
例:CloseDate が TODAY() から 30 日以内のレコードのみを COUNT する。
条件付き積み上げ集計項目を作成すれば親オブジェクト(Account)においてその条件を満たす子オブジェクト(Opportunity)の件数を直接表示できます。
したがってこのシナリオで Apex を使用する必要はありません。
試験の観点における優先順位
Salesforce の試験では標準の宣言型ツールで実現可能な場合は Apex を避けるべきです。
「コードの使用」は標準機能で不可能な場合の最終手段であるというのが公式学習ガイドの方針です。
今回の問題は Master-Detail 関係(Account–Opportunity)に基づく条件付きロールアップのためApex ではなく Roll-Up Summary Field で解決するのが正しいアプローチです。
選択肢の比較
ワークフロールール:集計不可 → 不正解
プロセスビルダー:集計不可 → 不正解
Apex:実装は可能だが過剰な手段 → 試験では不正解扱いの可能性が高い
積み上げ集計項目:条件フィルターによる期間限定集計が可能 → 最も適切
確かに、できるだけ宣言型開発で解決するのがSalesforceの公式見解です。
今回の場合、取引先に商談の積み上げ集計項目を作成することは可能ですが、[積み上げ種別の選択]で件数を選択後、[検索条件]でフィルターの条件を指定しますが、TODAY()などの関数や相対日付が使えない認識です。
事前に商談に新しい項目を作成せずに、取引先で積み上げ集計できる方法はありますでしょうか。
※プロセスビルダー廃止により問題が古い+定義があいまいので近いうちに差し替え予定です。