Salesforce / Details

Salesforce Formula Field:手入力をやめる3つの計算例

Posted by Nguyên Đặng

Salesforce Formula Field とは、同じ record 上の他の項目から自分で値を計算する項目のことで、誰も手入力する必要がなくなります。案件を作ってからの日数、割引後の価格、1社のお客様の注文の合計金額。これらを今も手で計算しているのは、チームの誰でしょうか?

結論から言うと、Formula Field は同じ record 上の項目から計算します(例:案件作成からの日数、割引後の価格)。Roll-up Summary は子 record を親 record に集計します(例:1社のお客様の契約の合計金額)。重要な注意点として、Roll-up Summary には Master-Detail の関係が必要で、それ以外の関係では Flow か追加ツールが必要です。

ご注意: 記事内のオフィス機器の販売会社と、Discount や賃貸契約などの項目は仮想の例であり、実在のお客様ではありません。機能と上限は edition によって異なり、メニュー名もバージョンで変わる場合があります。実際に使う前に、sandbox で数式を試してください。

A Formula Field calculates on the same record, a Roll-up Summary aggregates from child records up to the parent.
Salesforce Formula Field: 3 ví dụ dễ hiểu cho tự động hóa tính toán dữ liệu trên Sonix.vn.

Formula Field は同じ record 内で計算し、Roll-up Summary は子 record を親 record に集計します。

課題

手計算が間違いやすい理由

手入力した数字には、よくある3つの問題があります。人によって計算方法が違うため、同じ指標でも2人の担当者が別の結果を出します。数字がすぐに古くなります。今日入力した値は、翌日にはもう違っています。そして誤りがあったとき、どこで間違えたのか分かりにくいのです。

手計算システムが自動計算
一貫性人によってやり方が違うチーム全員が同じ数式
数字の鮮度入力した瞬間だけ正しいデータに合わせて自動更新
間違いの起きやすさ取り違えや入力漏れが起きやすい数式が間違っているときだけ。直すのは1か所
担当者の時間入力のたびにかかるかからない
基本

Salesforce Formula Field とは

Formula Field は、設定した数式から値が計算される読み取り専用の項目です。数式には、同じ record の項目に加え、親 record の項目も使えます。実際に1つずつ作ってみるには、数式に関する Trailhead モジュール(英語)がおすすめです。

ユーザーはこの値を手で編集できないため、誰も間違った値を入力できません。元のデータが変われば、計算された値も変わります。これが最大のメリットです。

3
記事内の数式例
4
Roll-up の種類:COUNT、SUM、MIN、MAX
1
主な条件:Master-Detail の関係
例

Salesforce Formula Field の分かりやすい3つの数式例

仮想の例:オフィス機器の販売会社が、Opportunity 上の3つの手計算をやめたいケースです。ここで使う custom field の名前は説明用なので、ご自身の項目名に置き換えてください。

1

案件作成からの日数

  • 戻り値の型を Number、小数点なしにした Formula 項目を作り、次の数式を使います:TODAY() - DATEVALUE(CreatedDate)
  • これは Trailhead の Days Open の例と同じ考え方で、作成日時を日付に変換して、今日から引きます
  • 注意:現在の stage にいる日数はもう少し難しくなります。数式で使える、stage の変更日が最初から用意されているわけではないためです。stage が変わるたびに Flow で更新する日付項目を追加し、今日からその日付を引く必要があります
2

割引後の価格

  • 割引率を表す Discount というパーセント項目があるとします。Currency 型の Formula を作ります:Amount * (1 - Discount__c)
  • パーセント項目は数式内では小数として扱われるため、10% は 0.1 に相当します
3

期限切れの警告

  • Text 型の Formula を作ります:IF(AND(NOT(IsClosed), CloseDate < TODAY()), "Overdue", "")
  • page layout に配置すると、クローズ予定日を過ぎた未完了の案件をマネージャーがすぐ確認できます

ちょっとしたコツ:項目名は分かりやすくし、意味を説明に書いておきましょう。数か月後には、自分でも数式の意味を忘れてしまうからです。CRM の土台がまだ整っていない場合は、先にSalesforce Sales Cloud setup guide in 10 minutes(英語)をお読みください。

Roll-up

Roll-up Summary:子 record を親 record に集計する

Formula Field は、現在の record とその親 record のデータしか見られません。複数の子 record を親 record に集計したい場合は、Roll-up Summary が必要です。よくある例は、1社のお客様の契約の合計金額や、有効な契約の件数です。

Roll-up Summary には4つの集計タイプがあります。COUNT は子 record の件数、SUM は数値・通貨・パーセント項目の合計、MIN と MAX は最小値と最大値を返します。

仮想の例:賃貸契約という Custom Object を作り、Master-Detail の関係で Account につなぎ、Account 上に契約金額を合計する Roll-up Summary を作ります。そもそも独自の object を作るべきかどうかは、Salesforce 101: how Standard and Custom Objects differ(英語)をご覧ください。

最も重要な条件は、子 record が親 record と Master-Detail の関係で直接つながっていることです。この関係には、検討すべきいくつかの影響があります。

親を削除すると、子も削除される。自社のデータでそれが許容できるか確認しましょう。

子は単独で存在できない。親がなければ子を作成できず、閲覧権限も通常は親に従います。

関係の数に上限がある。参考情報によると、1つの object が持てる Master-Detail の関係は最大2つで、standard object は子の側になれません。ご利用の edition での上限は、公式ドキュメントで確認してください。

比較項目Formula FieldRoll-up Summary
計算の元同じ record の項目と、親 record複数の子 record
例案件作成からの日数、割引後の価格1社のお客様の契約の合計金額
必要な関係特になしMaster-Detail
ユーザーが編集できるか不可(読み取り専用)不可(読み取り専用)
上限コンパイル後の数式サイズに上限ありobject ごとの個数に上限あり
応用

Master-Detail ではない関係の場合

2つの object が Lookup の関係でつながっている場合、Salesforce にはその場合のための標準の Roll-up Summary はありません。親を削除したときに子 record が失われることを心配して、Master-Detail への変更を望まない企業も多くあります。その場合、よく使われる方法は2つです。

Flow。子 record が変更されたときに Flow が起動し、合計を再計算して親の数値項目に書き込みます。

追加ツール。オープンソースのものを含め、Lookup の関係に対応した roll-up を提供するアドオンパッケージがあります。使う前に、保守とサポートの面を慎重に検討してください。

どちらも設定とテストを行う担当者が必要です。その手間に見合う必要性があるかを検討しましょう。支援が必要な場合は、Sonix の Salesforce ページ(ベトナム語)をご覧ください。

まとめ

注意点とチェックリスト

自動計算の項目が後で負担にならないよう、いくつか注意点をまとめます。

☐ チームが手計算している数字を洗い出した
☐ 同じ record の数字は Formula Field、子 record の集計は Roll-up Summary を選んだ
☐ 2つの object の関係が Master-Detail か確認した
☐ Master-Detail の連鎖削除の影響を検討した
☐ sandbox で数件のサンプル record を使って数式を試した
☐ 各項目に分かりやすい名前と説明を付けた
☐ edition ごとの数式サイズと Roll-up の上限を確認した

機械が計算できる数字を、人に入力させないこと。手入力が減れば、間違いも減ります。

システムに自動計算してほしい数字は何ですか? コメントでお知らせください。Sonix チームがサンプルの数式をご提案します。

Salesforce
Salesforce CRM
ガイド
Best Practices
SME
チームが今も手計算している数字はありませんか?

Sonix との無料相談で、手入力している数字を整理し、edition とデータ構造に合った自動化の方法を選びましょう。

無料相談を予約する

Sonix: Your success is our happiness.

コメントを残す