2021/03/5

Salesforceにおける数式とは?注意点や設定サンプルをご紹介

 
  

Salesforceにおける数式とは?

数式とは、Salesforce内で管理しているデータの情報を取得することや、その情報を使って計算させるといったことを、プログラムコードを書くことなくクリック操作で設定ができる、Salesforceの設定機能を指します。 例えば、2つの通貨項目の合計金額を求めることや、商談上で、関連する取引先の「業種」項目の値を表示するといった設定が、プログラムコードを書かずとも設定することが可能ということです。 また、プロセスビルダーやFlow Builder等の自動化処理を実装する際にも、使用する機能となります。

Salesforceにおける数式の概要

Salesforceにおける数式を設定するにあたって、次の4つの要素を組み合わせて作成していきます。 1. リテラル値 2. 項目のAPI参照名 3. 関数 4. 演算子 それでは詳しく説明していきます。

1. リテラル値

数式には、特定の数値や文字列を直接記述できます。 記述する際は、以下の2点に注意しましょう。 ・文字列を記述する際は、必ず「”」(半角のダブルクォーテーション)で括ります。 例)”Text”、”50%” ・数値の記述において、特定の割合を記述する際は、必ず小数に変換した数値を記述します。 例)30%であれば0.3、0.5%であれば0.005、を数式内に記述します。

2. 項目のAPI参照名

Salesforceで管理している各データにおける項目の情報を取得する際に使用します。 実際に設定する際は、直接手入力で直接項目のAPI参照名を記述することも、プルダウンリスト形式で、関連しているどのオブジェクトの、どの項目を取得するかを選択することで、その項目のAPI参照名を記述することもできます。 手入力する際は、誤ったAPI参照名が入力されているとエラーが表示されますので注意しましょう。 ちなみに、Salesforceに標準で用意がされている標準項目の場合は、field_name、システム管理者ユーザが新たに作成したカスタム項目の場合は、field_name__c、といったイメージで、表記に違いが出てくる点にも注意しましょう。

3. 関数

Excel関数と同じようなイメージで、IF関数やTODAY関数といった式を数式内に記述できます。 こちらについても、項目のAPI参照名と同じように、直接手入力で関数を記述することも、プルダウンリストから使用したい関数を選択して記述することもできます。 関数については、設定する場所(数式項目やワークフロールール等)や、参照する項目のデータ型によって使用できる関数が限られている場合があります。 どのように関数を記述すればよいかについては、使用例と共に概要や使い方が記載されているSalesforceの公式ヘルプサイトを参照して下さい。

4. 演算子

Salesforceでは、以下の3つの演算子を使用できます。 ・階乗を含む四則演算するための「算術演算子」 ⇒+、-、*、/等 ・2つの項目の値を比較(等号や不等号)したり、True/Falseの判定するための「論理演算子」 ⇒=、!=、<、=>、&&、||等 ・文字列を結合するための「テキスト演算子」 ⇒& これらの演算子についても、Salesforceの公式ヘルプサイトにて、それぞれの演算子についての解説や使用例が記載されているため、そちらを参照して下さい。 ちなみにですが、「論理演算子」における”&&”と”||”については、それぞれAND関数、OR関数で表現することもできます。どちらを使用しても問題はありません。

数式で表現可能なデータの型

数式を使用して表現できるデータの型は、テキスト・数値・パーセント・通貨・日付・時間・日付/時間・チェックボックスの8つのみとなります。 チェックボックスについては、データ上はTrue/Falseで保持していますが、Salesforceのデータ画面上では、チェックボックスが表示されるイメージとなります。

クロスオブジェクト数式

基点となるオブジェクトから、関連する親オブジェクトの項目の情報を取得しようする数式のことを「クロスオブジェクト数式」と呼びます。 この数式を活用することで、基点オブジェクトのデータ画面上にて、紐付く親オブジェクトの情報を直接参照することが可能になります。 【例】ケースオブジェクトを基点として、紐付く取引先責任者の「取引先責任者名」項目(API参照名:Name)の情報を取得したい場合、Contact.Name と記述します。 クロスオブジェクト数式では、基点オブジェクトからみて子となるオブジェクトの情報を取得できない点に注意しましょう。 例えば、基点オブジェクトとなる商談オブジェクト(親オブジェクト:取引先、子オブジェクト:見積、商談商品)に、数式項目を作成しようとした際、その商談に紐付いている取引先オブジェクトの情報は取得できますが、見積や商談商品オブジェクトの情報は数式では取得できません。

Salesforceにおける数式の注意点

Salesforceにおける数式には、選択リスト項目で使用可能な関数が限られていたり、コンパイル文字数制限があるなど、複数の注意点があります。 下記で紹介する内容を参考に、記述を行いましょう。

選択リスト項目で使用可能な関数

選択リスト項目に対して使用可能な関数は、以下の3つのみとなります。 以下で紹介する「TEXT関数」「ISPICKVAL関数」「CASE関数」以外の関数を数式中で使用している場合は、エラーメッセージが表示されるので注意しましょう。

TEXT関数

選択された選択リスト値のAPI参照名を取得します。 例)TEXT( Department ) & “-” & TEXT( Position ) ※「部署」項目(API参照名:Department)の選択リスト値と、「役職」項目(API参照名:Position)の選択リスト値を、”-“(半角ハイフン)区切りで文字結合して表示します。

ISPICKVAL関数

選択された選択リスト値のAPI参照名を取得し、任意の値と比較できます。 例)IF( ISPICKVAL( Industry, “情報サービス” ), “IT企業”, “その他企業”) ※「業種」項目(API参照名:Industry)にて、”情報サービス”が選択されていれば”IT企業”と、選択されていない場合は”その他企業”と表示します。

CASE関数

選択リスト値のAPI参照名を取得し、任意の複数の値と比較できます。 例)CASE( Tax, “5%”, Amount * 0.05 “8%”, Amount * 0.08 Tax ) ※「消費税」項目(API参照名:Tax、選択肢:5%、8%)で選択されたものに応じて、「受注金額」項目(API参照名:Amount)に対し、消費税を計算して表示します。何も選択されていない場合は、そのままの「受注金額」を表示します。

複数選択リスト項目で使用可能な関数

複数選択リスト項目に対して使用可能な関数は、「INCLUDES関数」「ISBLANK関数」「ISNULL関数」「ISCHANGED関数」「PRIORVALUE関数」の5つのみとなります。 この5つ以外の関数を数式中で使用している場合は、エラーメッセージが表示されます。

INCLUDES関数

選択された選択リスト値のAPI参照名を取得し、指定した任意の値が含まれているか同化を判定します。 例)INCLUDES( Industry, “情報サービス” ) ※「業種」項目(API参照名:Industry)にて、”情報サービス”が選択されていればTRUE、そうでない場合はFALSEを返します。

ISBLANK関数

指定した項目が空欄であるか否かを判定します。 例)ISBLANK( Industry ) ※「業種」項目(API参照名:Industry)にて、何も選択されていなければTRUE、1つでも何かしらの選択肢が選択されている場合はFALSEを返します。

ISNULL関数

指定した項目が空欄であるか否かを判定します。 ※基本的は、ISBLANK関数と同じ機能を持ちますが、テキスト項目に対してのサポートがないため、テキスト項目に対し空欄判定する場合は、ISBLANK関数を使用しましょう。

ISCHANGED関数

指定した項目が空欄であるか否かを判定します。 基本的は、ISBLANK関数と同じ機能を持ちますが、テキスト項目に対してのサポートがないため、テキスト項目に対し空欄判定する場合は、ISBLANK関数を使用しましょう。

PRIORVALUE関数

指定した項目について、変更前の値を取得します。 例)PRIORVALUE( Amount ) > Amount ※「受注金額」項目(API参照名:Amount)の編集時、以前の金額よりも小さい金額が入力されたらTRUEを返し、以前の金額以上の金額が入力されたらFALSEを返します。

コンパイル文字数制限(数式項目を作成する際)

数式項目の作成時は、記述した数式文のコンパイル文字数は5,000文字以内で記述しましょう。 主にAPI参照名が長い項目を数式内に記述している場合や、複雑なロジックで数式を記述している場合等に、この上限に達してしまう場合があります。 「構文を確認」ボタンを押すことで、現在の文字数やエラーメッセージが表示されますので、数式を記述する際の参考情報にしましょう。 万が一上限に達した場合は、項目を作成する場合のAPI参照名は、なるべく文字数が少ないものを設定し直すことや、場合によっては別の方法で実装する等の回避策を検討しましょう。

Salesoforce標準設定機能の数式を活用しよう!

今回は、Salesoforceの標準設定機能の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エンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】