数式項目の使用

学習の目的

この単元を完了すると、次のことができるようになります。
  • カスタム数式項目を作成して数式エディタを使用する。
  • 数式項目が役立つ理由を説明する。
  • 数式項目の少なくとも 1 つの使用事例の概要を説明する。
  • 簡単な数式を作成する。

数式項目の概要

組織には多くのデータがあります。このデータを見るユーザは、自分でいろいろ計算することなく一目でデータの内容を理解できなければなりません。これに打ってつけなのが、数式項目という強力なツールです。このツールでデータの表示方法を制御することができます。

たとえば、レコードの 2 つの数値項目を取得して除算し、パーセント値を算出したい場合があります。あるいは、項目をクリック可能なハイパーリンクにして、レコードのページレイアウトから重要な情報に簡単にアクセスできるようにしたいということもあります。2 つの日付を取得して、その間の日数を計算したいと思うことがあるかもしれません。このような操作はすべて数式項目を使用して実現できます。

具体的な例として、商談の完了予定日までの残り日数を計算してみましょう。これには、値を自動計算する簡単な数式項目を作成すれば良いのです。商談ページレイアウトに値を追加するだけで、ユーザはこの重要な情報にすばやくアクセスできます。この項目をレポートとリストビューに追加すれば、さらに簡単にアクセスできます。

ページレイアウト、リストビュー、およびレポート内の数式項目。

数式に慣れるまでは、簡単な計算式から始めて、徐々に複雑なシナリオに移行していくことをお勧めします。ただし、簡単な数式でも貴重な情報を得ることができます。

この単元では、数式エディタの基本的な使用方法を説明しながら、いくつかの基本的な例を使って数式構文を紹介していきます。また、数式項目の問題のトラブルシューティングについても簡単に説明します。それではやってみましょうか?

数式のハンズオンを始めるには

今すぐ Trailhead Playground を起動し、このモジュールの手順を実行してみましょう。Trailhead Playground を開くには、ハンズオン Challenge までスクロールダウンし、[起動] をクリックします。また、ハンズオン Challenge を実行するときにも Playground を使用します。

数式エディタの場所

まずは数式エディタがどんなものか、どんな機能があるのか見てください。

カスタム数式項目は、どの標準オブジェクトまたはカスタムオブジェクトにも作成できます。まずは、商談オブジェクトに数式を作成します。次の手順に従って数式エディタに移動します。

  1. [設定] からオブジェクトマネージャを開き、[商談] をクリックします。
  2. 左サイドバーで、[項目とリレーション] をクリックします。
  3. [新規] をクリックします。
  4. [数式] を選択して、[次へ] をクリックします。
  5. [項目の表示ラベル] で、「My Formula Field」(私の数式項目) と入力します。[項目名] が自動的に入力されます。
  6. 数式で返すデータ型を選択します。たとえば、営業担当者の販売時のコミッションを計算する数式を作成する場合は、[通貨] を選択します。ここでは、[テキスト] を選択します。
  7. [次へ] をクリックします。これが数式エディタです。どんなものか見てみましょう。

数式エディタの使用

この画像でマークされているのは数式エディタの中で最も重要な部分です。
ラベル表示された数式エディタ。
  1. 数式エディタでは、簡単な数式か高度な数式を選択できます。ついつい簡単な方を選びたくなると思いますが、高度な数式エディタを使用することをお勧めします。高度といっても複雑というわけではなく、豊富なツールで強力な数式を作成できるという意味です。
  2. [項目の挿入] ボタンをクリックすると、数式に使用する項目を選択できるメニューが開きます。このメニューで項目を挿入すると、その項目にアクセスするための正しい構文が生成されます。[項目の挿入] メニュー。
  3. [演算子の挿入] ボタンをクリックすると、選択できる算術演算子と論理演算子のドロップダウンリストが開きます。[演算子の挿入] メニュー。
  4. [関数] メニューでは、数式関数の表示や挿入が行えます。関数はもう少し複雑な処理なのですが、このように Salesforce によって事前実装されています。現在の日付を返す TODAY() 関数など、そのまま使用できる関数もありますが、追加情報が必要な関数もあります。この追加情報は「パラメータ」と呼ばれます。たとえば、LEN(text) 関数はパラメータとして入力したテキストの文字数を返します。数式 LEN("Hello") は 5 の値を返します。[関数] メニュー。
  5. テキストエリアには数式を入力します。入力時には、次の点に注意してください。
    • 空白文字は考慮されません。空白や改行をどれだけ挿入しても数式の実行には影響しません。
    • 数式では、大文字と小文字が区別されます。項目名やオブジェクト名の大文字と小文字に注意してください。
    • 数値には、標準の演算処理の順序が適用されます。
  6. 数式を入力したら、[構文を確認] ボタンをクリックします。これで数式が正常に動作することが確認できたら、数式を保存します。数式に問題がある場合は、構文チェッカーでその問題が指摘されます。

この数式項目の作成は終わったので、[キャンセル] をクリックします。基本的な操作方法はおわかりいただけたでしょうか? それではエディタで簡単な例を実際に使ってみましょう。

例 1: 取引先責任者の詳細ページに取引先項目を表示する

レコードの詳細ページには多くの情報が含まれていますが、それでも足りずに他の情報が必要になる場合があります。最初の数式は、簡単なものにしましょう。[取引先] から項目を 1 つ使用し、クロスオブジェクト数式という機能を使用して [取引先責任者] に表示します。詳しく見てみましょう。

最初に取引先責任者を作成します。今まで取引先責任者を作成したことがない場合は、アプリケーションランチャー アプリケーションランチャー をクリックし、[取引先責任者] を選択します。次に、[取引先責任者] タブに移動して、[新規] をクリックします。[姓] の値を入力します。[取引先名] に既存の取引先 (United Oil & Gas Corp など) を入力します。[保存] をクリックします。次に、取引先責任者ページに取引先番号を表示する数式を作成します。

  1. [設定] からオブジェクトマネージャを開き、[取引先責任者] をクリックします。
  2. 左サイドバーで、[項目とリレーション] をクリックします。
  3. [新規] をクリックします。
  4. データ型に [数式] を選択し、[次へ] をクリックします。
  5. 項目名を Account Number (取引先番号) とし、数式の戻り値のデータ型に[テキスト] を選択します。[次へ] をクリックします。
  6. 高度な数式エディタで [項目の挿入] をクリックします。[取引先責任者] | [取引先] | [取引先番号] を選択し、[挿入] をクリックします。[構文を確認] をクリックします。構文エラーがなければ、[次へ] をクリックします。このような単純な数式で構文エラーになることはほぼありませんが、すべての数式で構文をチェックする習慣を付けることをお勧めします。
    クロスオブジェクト取引先責任者数式。

  7. [次へ] をクリックして項目レベルセキュリティ設定を受け入れ、[保存] をクリックします。

最初の数式の完成です。いよいよ完成した作品のお披露目です。作成した取引先責任者オブジェクトの詳細ページを開いてみてください。優れものですよね?

例 2: 商談が完了するまでの日数をレポートに表示する

数式項目を使用して、レポートに表示される重要な情報を増やすこともできます。たとえば、商談が完了するまでの日数が表示される列を追加したいとします。まずは、数式をテストするための商談を作成します。

まだ商談が作成されていない場合は、アプリケーションランチャー をクリックして [商談] を選択し、[商談] タブに移動して [新規] をクリックします。[商談名] に任意の値を入力して任意の [フェーズ] を選択し、3 日後以降の完了予定日を設定します。[保存] をクリックします。

次の手順を実行して、その商談オブジェクトで戻り値のデータ型が [数値] の「Days to Close」(完了までの日数) というカスタム数式項目を作成します。

  1. [設定] からオブジェクトマネージャを開き、[商談] をクリックします。
  2. 左サイドバーで、[項目とリレーション] をクリックします。
  3. [新規] をクリックします。
  4. [数式] を選択して [次へ] をクリックします。
  5. [項目の表示ラベル] テキストエリアに、Days to Close (完了までの日数) と入力します。
  6. [数値] ラジオボタンをオンにします。
  7. [次へ] をクリックして数式エディタを開きます。
  8. 今日から商談完了予定日までの日数を求めるには、日付の差を計算します。 
    • [項目の挿入] をクリックし、[商談] | [完了予定日] を選択して [挿入] をクリックします。 
    • [演算子の挿入] メニューから、[- 減算] を選択します。
  9. さて、数式に「今日」という日付を伝えるにはどうすればよいでしょう? ここで登場するのが、現在の日付に合わせて更新される TODAY() という便利な関数です。 
    • エディタの右側の [関数] メニューで [TODAY] を選択します。
    • [選択した関数を挿入] をクリックします。 
  10. [構文を確認] をクリックします。構文エラーがなければ、[次へ] をクリックします。
    [Days to Close (完了までの日数)] 数式。
  11. [次へ] をクリックして項目レベルセキュリティ設定を受け入れ、[保存] をクリックします。

次は、この新しい数式項目をレポートに含めます。 

  1. アプリケーションランチャー から [レポート] タブを開き、[新規レポート] をクリックします。
  2. [レポートタイプを検索...] 項目に「商談」と入力します。[商談] を選択して [続行] をクリックします。レポートのプレビューパネルに商談が表示されます。
  3. [自動的にプレビューを更新] が有効になっていることを確認します。
  4. ページの左側にある [列を追加...] 項目に Days to Close (完了までの日数) と入力します。  この項目は、先ほど作成した数式項目です。計算された値の入った項目を含む列が自動的にレポートに追加されます。 

この単元ではこのレポートはもう使用しません。破棄して次の例に進みます。

例 3: Power of One を使用して個別のオブジェクトを検索する

何百件ものレコードがあるレポートで注目されるのは、ユニークオブジェクトの数です。たとえば、レポートには 100 個の商談がリストされていますが、これらすべての商談が数人のユーザによって所有されているとします。ユニークユーザの数を調べるにはどうすればよいでしょうか。この作業は難しそうに感じますが、一般的に作成できる最も簡単な数式の 1 つです。これは「Power of One」と呼ばれます。

この数式を作成するには、ユーザオブジェクトにカスタム数式項目を作成します。その名前を Unique Users (ユニークユーザ数) とし、戻り値のデータ型を [数値] にして、[小数点の位置] ドロップダウンリストから [0] を選択します。[次へ] をクリックして数式エディタを開きます。この数式には、項目や演算子、関数を挿入する必要はありません。数値「1」を入力するだけです。

Power of One 数式。

これでおしまいです! 後は通常どおりに数式を保存し、[レポート] タブをクリックして実際にどのように表示されるかを確認します。商談レポートを作成し、[自動的にプレビューを更新] が有効になっていることを確認します。ページの左側にある [列を追加...] 項目に Unique Users (ユニークユーザ数) と入力して、新しい項目を含む列をレポートに追加します。次のような結果が表示されます (表示した列に応じてレポートの表示が異なる場合があります)。

[Unique Users (ユニークユーザ数)] 列が表示されたレポート

ここでは、2 人のユニークユーザによる 5 つの商談があります。作成した数式はどこにあるのでしょうか。[Unique Users (ユニークユーザ数)] 列でドロップダウンメニューをクリックし、[集計] を選択して、[合計] を選択します。

[集計] と [合計] が選択されたドロップダウンメニュー

ユニークユーザ数が列の一番下に表示されます。このように、簡単な数式でも組織の詳細情報を確認することができます。

ユニークユーザの総数が表示されたレポート
メモ

メモ

任意のオブジェクトに Power of One を使用できます。たとえば、取引先が 10 件のレポートがあり、各取引先は 3 件の商談があるため、商談レポートが 30 件のレコードを返しているとします。取引先に Power of One 数式を追加すると、レコード内の個別の取引先数を表示できます。組織のすべてのオブジェクトに Power of One 項目を追加するというプロもいます!

数式のデバッグ

数式の操作では構文エラーを避けることはできません。エディタの [構文を確認] ボタンは、数式をデバッグするための重要なツールです。構文チェッカーによって、数式で発生したエラーとその発生場所を知ることができます。一般的な構文の問題には次のようなものがあります。

  1. 括弧が不足している: このエラーは、左括弧の数が右括弧の数と一致しない場合に最も多く発生します。同時に複数の関数を使用している場合は、特にこのエラーを回避することが難しくなります。関数を複数行に分けて、左右の括弧の組み合わせを簡単に判別できるようにしてください。  括弧が不足している数式。関数の 2 つのパラメータ間にカンマを入れ忘れた場合にもこのエラーが発生します。この場合は、実際の問題と構文チェッカーのエラーが一致しないため混乱を招く可能性があります。括弧が正しいことが明確な場合は、関数のカンマが正しいことを再確認してください。カンマが不足している数式。
  2. パラメータ種別が間違っている: 関数にテキスト (またはその他のデータ型の組み合わせ) のパラメータが必要なときに数値パラメータを渡した場合、このエラーが発生します。常に、ヘルプテキストやドキュメントで関数に使用できるパラメータ種別を確認してください。パラメータ種別が間違っている数式。
  3. パラメータの数が間違っている: 関数に入力したパラメータの数が多すぎるか少なすぎる場合は、このエラーが表示されます。この場合も、ヘルプテキストやドキュメントで特定の関数へのパラメータの入力ガイドラインを確認してください。パラメータ数が多すぎる数式。
  4. 数式の結果が数式の戻り値のデータ型と互換性がない: このエラーは、数式項目を作成するときにあるデータ型を選択し、別のデータ型を返す数式を作成したときに発生します。次の例では、[私の取引先数式] は数値を返すことになっていますが (数式名の横の括弧内に表示)、TODAY() 関数は日付を返します。このエラーには期待されるデータ型が表示されますが、エラーを避けるために常に前もってドキュメントを参照することをお勧めします。間違ったデータ型の結果を返す数式。
  5. 項目が存在しない: このエラーは、数式にオブジェクトでサポートされていない項目が含まれていることを示します。この場合は、スペルと大文字/小文字を確認してください。誤りが見つからない場合は、再度 [項目の挿入] メニューから項目を挿入し、正しく参照していることを確認してください。項目名のスペルが違う数式。このエラーは、テキストリテラルまたはハイパーリンクを引用符で囲むことを忘れた場合にも表示されます。適切な引用符が不足している数式。
  6. 不明な関数: この場合は、使用している関数が Salesforce でサポートされていることを確認してください。関数のスペルが間違っている場合にもこのエラーが表示されます。サポートされていない関数を含む数式。

その他の例

その他のいくつかの例を見てみましょう。必要に応じて、これらの数式を自分で作成してみるか、単に読み進めてください。
  1. この数式は、HYPERLINK() 関数を使用して外部 Web サイトへのハイパーリンクを作成します。ページレイアウトにハイパーリンクを追加することで、ユーザが詳細ページから重要な情報にすばやくアクセスできます。ハイパーリンク数式。
  2. 商談金額に割引を適用する場合は、次の数式を使用できます。この場合は、12% の割引を適用し、ROUND() 関数を使用して小数点以下 2 桁に四捨五入します。ROUND() 関数を含む数式。
  3. この数式は、特定の商談が「大型」商談であるかどうかを判断するチェックボックス数式です。商談取引先に関連付けられている会社の従業員数が 1,000 人より多いかどうかを調べ、さらに商談金額が 10,000 ドルを超えているかどうかを調べます。両方のステートメントが true の場合、商談ページレイアウトで項目のチェックボックスがオンになります。それ以外の場合、チェックボックスはオフになります。論理 AND() 関数を使用した数式。

数式のドキュメントには、多数の異なる使用事例における非常に多くの例が含まれています。これらの例を参照するときに、その多くはこの単元では触れていない高度な概念が含まれていることに注意してください。それらの数式を試す前に、ここに記載されている情報を完全に把握してください。

リソース