みなさん、こんにちは!
Salesforceエンジニアの森川です。
今回のテーマは、Salesforceの「数式」です。
数式の概要から、その重要性、そして設定方法まで、実践的な視点を交えて解説していきます。
数式とは?
1. 数式の定義
数式は、Salesforce内でさまざまなフィールドやデータを計算・操作し、特定の条件に基づいて動的なデータを表示するための強力なツールです。数式を使用することで、複雑なデータ処理やフィールド値の自動化、ユーザーインターフェースのカスタマイズを簡単に実現できます。数式は、さまざまな関数や論理演算を組み合わせて使用することができ、数値計算、日付の操作、テキストの編集など、多様な目的に応じて利用できます。
Salesforceでは、数式項目、検証ルール、ワークフロー、プロセスビルダー、レポートなど、さまざまな場面で数式を活用することが可能です。たとえば、特定の条件を満たしたレコードだけをフィルタリングしたり、日付や数値に基づいた計算を行ったり、フィールド値の自動更新を実現することができます。
数式は単体でも強力ですが、複数の関数を組み合わせることでさらに高度な処理を実現できます。これらの数式を活用して、業務効率を向上させ、データの一貫性や正確性を保つことができます。
2. 数式の主要なメリット
データの自動処理と効率化
数式を使用することで、データをリアルタイムで自動的に計算したり処理したりすることが可能です。たとえば、数式を使って商談の進捗に基づいて自動的に優先度を設定したり、契約終了日が近づいた際にリマインダーを表示したりすることができます。数式は手動でのデータ入力を減らし、ミスを防ぐため、業務の効率化に大きく貢献します。
また、数式はカスタムフィールドとしてレポートやダッシュボードに組み込むことができ、リアルタイムの分析やデータ可視化を強化します。たとえば、営業チームが商談の平均金額や進捗に基づいてリソースを最適に配分できるよう支援するなど、意思決定のスピードを向上させることが可能です。
高度なカスタマイズと柔軟性
数式は、Salesforce環境内のフィールドやデータを柔軟に操作できるため、非常に高度なカスタマイズが可能です。たとえば、特定の条件に基づいてデータを自動的に表示・非表示にしたり、カスタム通知やアラートを生成することができます。また、他のオブジェクトやレコードとの関連性を持たせ、データの一貫性を保ちながら、組織全体でのデータ管理を効率化することも可能です。
数式を組み合わせることで複雑なビジネスルールを柔軟に適用し、各部門のニーズに応じたカスタムソリューションを提供できます。たとえば、営業チームやサポートチームが異なる要件を持っていても、数式を使って一貫したデータ表示を実現し、全体の作業効率を改善します。
データの正確性と一貫性
数式を使うことで、手動入力によるエラーを防ぎ、データの正確性と一貫性を維持することができます。たとえば、数式を使ってフィールドの値を自動的に計算することで、誤ったデータ入力を防ぎ、常に最新かつ正確なデータを反映させることができます。また、検証ルールと組み合わせることで、特定の条件を満たしていないレコードの保存を防止するなど、品質管理にも役立ちます。
組織全体でのデータの正確性を保つことで、チーム間の情報共有がスムーズになり、ビジネスプロセス全体の効率を高めることができます。
3. 知っておくべき数式8選
以下に、数式をリストアップしました。
これらは、Salesforceアドミニストレーターを目指す方々にとって、より高度なスキルを身につけるために厳選したものです。
実務でもよく利用するので覚えておいてください。
ADDMONTHS
ADDMONTHS は、指定された日付から指定された月数だけ前または後の日付を返します。指定された日付が月の最終日である場合、結果の日付は結果の月の最終日になります。それ以外の場合、結果の日付コンポーネントは指定された日付と同じになります。
基礎例
商談の終了日から12か月後の日付を返します。
ADDMONTHS ( CloseDate , 12 )
応用例
契約終了日が今日から6か月以内であれば、「契約更新が近づいています」というメッセージを表示し、そうでなければ「更新はまだ不要です」と表示します。
IF (
ADDMONTHS ( TODAY() , 6 ) >= Contract_End_Date ,
”契約更新が近づいています” ,
”更新はまだ不要です”
)
CASE
CASE は、指定された式を一連の値と照合し、式が値と等しい場合に対応する結果を返します。式がどの値とも等しくない場合、else_result を返します。
基礎例
顧客の優先度に応じて異なるメッセージを表示します。
CASE ( Priority ,
”High” , “優先対応” ,
”Medium” , “通常対応” ,
”Low” , “低優先度” ,
”未設定”
)
応用例
商談のステージに基づいて異なる対応メッセージを表示し、特定の商談金額以上の場合に優先的に対応します。
CASE ( StageName ,
”Closed Won”, IF (
VALUE ( Amount ) > 50000 ,
”優先対応: 成約済み” ,
”通常対応: 成約済み”) ,
”Prospecting” , “見込み客の調査中” ,
”Negotiation/Review” , “交渉中” ,
”未設定”
)
CASESAFEID
CASESAFEIDは、15文字のIDを大文字と小文字を区別しない18文字のIDに変換します。
基礎例
15桁のレコードIDを18桁のIDに変換します。
CASESAFEID ( Id )
応用例
レコードIDを18桁に変換して表示し、顧客名の前後の空白を削除してから文字数をカウントし、結果を表示。
“レコードID (18桁): ” & CASESAFEID ( Id ) &
” | 顧客名の文字数: ” & LEN ( TRIM ( AccountName ) )
CONTAINS
CONTAINS は、テキストの2つの引数を比較し、最初の引数に2番目の引数が含まれている場合は TRUE を返し、含まれていない場合は FALSE を返します。
基礎例
顧客の住所に「東京都」が含まれているかを確認します。
CONTAINS ( BillingAddress , “東京都” )
応用例
顧客のメールアドレスに「example.com」が含まれている場合、「企業メール」と表示し、それ以外は「個人メール」と表示します。
IF (
CONTAINS ( Email , “example.com” ) ,
”企業メール” ,
”個人メール”
)
FIND
FIND は、数値として表されるテキスト文字列内の文字列の位置を返します。
基礎例
メモフィールド内で特定のキーワード「重要」の位置を検索します。
FIND ( “重要”, MemoField )
応用例
メモフィールドに特定のエラーコードが含まれている場合は、対応策のリンクを表示。リンクが空白の場合は「対応策が見つかりません」と表示。
IF (
FIND ( “エラーコード123” , MemoField ) > 0 ,
HYPERLINK ( “https://www.example.com/fix123” , “エラー123の解決策” ) ,
BLANKVALUE ( Alternate_Link , “対応策が見つかりません” )
)
ISBLANK
ISBLANK は、式に値があるかどうかを判断し、値がない場合には TRUE を返します。値が含まれている場合、この関数は FALSE を返します。
基礎例
フィールドが空白かどうかを確認します。
ISBLANK ( Phone )
応用例
ステータスフィールドが空白の場合は「ステータス未選択」と表示され、「新規」であれば「新規顧客」、それ以外は「既存顧客」と表示します。
IF (
ISBLANK ( Status ) ,
”ステータス未選択”,
IF (
ISPICKVAL ( Status , “新規” ) ,
”新規顧客です”,
”既存顧客です”
)
)
ISPICKVAL
ISPICKVAL は、選択リストフィールドの値が指定したテキスト リテラルと等しいかどうかを判断します。
基礎例
選択リストの値が「新規」であるかを判定します。
ISPICKVAL ( Status , “新規” )
応用例
商談のステージが「交渉中」の場合は「交渉中」と表示し、それ以外はステージ名を表示。
IF (
ISPICKVAL ( StageName , “Negotiation/Review” ) ,
”交渉中” ,
StageName
)
TRIM
TRIM は、テキスト文字列の先頭と末尾からスペースとタブを削除します。
基礎例
テキストフィールドの前後の余計な空白を削除します。
TRIM ( AccountName )
応用例
商品説明フィールドの前後の空白を削除し、さらに結果の文字数をカウントします。
LEN ( TRIM ( ProductDescription ) )
4. まとめ
いかがでしたでしょうか。
この記事を通じて、Salesforceの「数式」について、その定義やメリット、そして効果的な活用方法について理解を深めていただけたかと思います。
数式は、Salesforceにおけるデータ処理の自動化や高度なカスタマイズを実現するための非常に強力なツールです。数式を活用することで、リアルタイムでのデータ処理、フィールドの自動計算、レポートの強化、さらには業務の効率化やミスの削減が可能となります。また、複数の関数を組み合わせることで、より複雑なビジネスルールにも対応でき、組織全体のデータ正確性や業務プロセスの一貫性を保ちながら効率的に運用できます。
特に、数式を利用したデータの自動処理と効率化、高度なカスタマイズと柔軟性、そしてデータの正確性と一貫性は、Salesforceを効果的に運用するうえでの大きなメリットとなります。これらの特性を活かし、チーム全体の作業効率を改善し、意思決定のスピードを向上させることができるでしょう。
この記事で紹介した数式や具体的な使用例を参考にしながら、日々のSalesforce運用に役立ててください。組織のニーズに合わせて数式を活用することで、Salesforceのポテンシャルを最大限に引き出し、業務をさらに効率化するためのステップを踏み出しましょう。
最後に、現在Salesforceを効果的に活用できていない企業様や、これからSalesforceの導入を検討している企業様で、設定や運用、保守に関するサポートが必要な場合は、ぜひお気軽にご相談くださいませ!
お問い合わせはこちらをクリック!