Skip to main content

変数や数式の値を計算する

学習の目的

この単元を完了すると、次のことができるようになります。

  • フローの 2 つのテキスト値を連結する。
  • フローの数値や日付値を加算または減算する。
  • フローの動的値を計算する数式を作成する。
  • フローで数式の使用を検討する理由を説明する。
メモ

メモ

日本語で受講されている方へ
Challenge は日本語の Trailhead Playground で開始し、かっこ内の翻訳を参照しながら進めていってください。Challenge での評価は英語データを対象に行われるため、英語の値のみをコピーして貼り付けるようにしてください。日本語の組織で Challenge が不合格だった場合は、(1) この手順に従って [Locale (地域)] を [United States (米国)] に切り替え、(2) [Language (言語)] を [English (英語)] に切り替えてから、(3) [Check Challenge (Challenge を確認)] ボタンをクリックしてみることをお勧めします。

翻訳版 Trailhead を活用する方法の詳細は、自分の言語の Trailhead バッジを参照してください。

メモ

このバッジは、Flow Builder のスキルを習得するための過程の一部です。「Flow Builder を使用したフローの作成」トレイルでは、初めから終わりまで Flow Builder について学習します。このトレイルで推奨されるバッジの順序に従えば、プロセスの自動化に関する確固たるスキルが身に付き、Flow Builder のエキスパートになります。

割り当て要素のデータを操作する

割り当て要素では、既存の変数データ全体を置換するのではなく、変更することもできます。

テキストを連結する

変数のデータ型がテキストの場合は、割り当て要素に追加演算子を選択できます。追加演算子を使用すると、現在の値の末尾にテキストが追加されます。

[Set Shipping Address (納品先住所を設定)] フローは順調に機能していますが、Flo はさらに、納品先住所がいつ頃得られた情報なのか把握したいと考えます。では、[Copy Address (住所をコピー)] 割り当て要素で、取引先の [説明] 項目に、取引先に納入先住所が指定された日付を付け足すメモを示す行を追加してみましょう。[説明] 項目に記載の内容を書き換えるのではなく、末尾にメモを追加するだけです。ただし、Salesforce ではテキスト変数をテキスト以外のリソース (日付変数や数値項目など) と組み合わせることができません。テキスト以外のデータを追加する場合は、TEXT() 関数を使用してテキスト以外の値をテキストに変換する数式を作成します。

まず、追加するテキストを含む数式を作成します。

  1. ツールボックスを切り替え をクリックして、[Toolbox (ツールボックス)] を表示します。
  2. [New Resource (新規リソース)] をクリックします。
  3. [リソース種別] で [数式] を選択します。
  4. [API Name (API 参照名)] に、frmChangeDateNote と入力します。
  5. [データ型] で [テキスト] を選択します。(ここでは日付を追加しますが、テキスト型に変換されるため、テキスト項目に追加できるようになります。)
  6. 数式項目に次のテキストを追加します。
    " Shipping Address added on " & TEXT()
  7. 括弧 ( ) 内にカーソルを置きます。
  8. [リソースを挿入…] 項目で [$Flow] > [現在の日付] を選択します。
  9. [Check Syntax (構文を確認)] をクリックします。
    関数がネストされている、長く複雑な数式にエラーがないか確認する場合は特に、構文チェッカーが役立ちます。
    上記の手順に対応する数式項目
  10. [Done (完了)] をクリックします。

次のステップに進む前に、この数式の中身を確認しておきましょう。 

" Shipping Address added on " & TEXT({!$Flow.CurrentDate})
  • 引用符で囲まれたフレーズの前後にスペースが挿入されています。この新しいフレーズと、先行する [説明] 項目の既存のテキストや、その後に続く日付をスペースで区切るためです。たとえば、末尾のスペースがなければ、この説明が「Shipping Address added on03-02-2023」(03-02-2023 に納入先住所を追加) と設定されます。
  • & は、この前後のテキストを結合するよう数式に指示します。つまり、割り当ての追加演算子と同様に機能します。
  • TEXT() 関数は、( ) 内の値をテキストに変換して、テキスト項目で使えるようにします。

次に、[Copy Billing Address (請求先住所をコピー)] 割り当てにテキスト行を追加します。

  1. [Copy Billing Address (請求先住所をコピー)] 要素をクリックして、[要素を編集] を選択します。
  2. [+ 割り当てを追加] をクリックします。
  3. [Variable (変数)] 項目で、[Account from Get Account Data (取引先データから取得した取引先)] を選択して、[Account Description (取引先の説明)] を選択します。ここで取引先の変数の [説明] 項目を設定するのは、変更の対象がこの変数であるためです。
  4. [Operator (演算子)]項目で、[Add (追加)] を選択します。
  5. [値] 項目で、[frmChangeDateNote] を選択します。ここで数式を選択するのは、説明に追加するテキストがこの数式に含まれるためです。
    上記の手順に対応する変数、演算子、値。
  6. フローを保存します。

[レコードを更新] 要素で取引先が更新されると、説明も変更されます。

メモ

割り当てを使用して 2 つのテキストを結合するだけで、変換を伴わない場合は、新旧のテキストの間にスペースを追加する数式は必要ありません。[値] 項目の新しいテキストの前に直接スペースを追加できます。たとえば、「Answer」という変数の場合、[値] 項目に直接「 {!Answer}」と入力できます。

簡単な計算を実行する

加算演算子を使用して、数値型または通貨型の変数に追加することもできます。ただし、この演算子は実際の算術計算を行います。たとえば、4 と 2 の数値を組み合わせた場合、42 ではなく 6 になります。また、減算演算子を使用して、数値や通貨の変数値から減算することもできます。

たとえば、次の割り当て要素では、商談の金額から割引が減算されます。商談変数の金額を [変数] 項目に挿入するのは、変更の対象がこの値であるためです。[Operator (演算子)]を [減算] に設定します。最後に、割引金額の変数を [値] 項目に挿入します。

上記の手順と以下の説明に対応する [New Assignment (新規割り当て)] サイドパネル。

ここで 2 行目に着目します。ここでは日付項目に加算されます。また、加算演算子や減算演算子を使用して、日付値から日数を加算または減算することもできます。この割り当て要素では、商談の完了予定日に 2 日が加算されます。

数式を使用して変更を自動的に計算する

frmChangeDateNote 数式を作成したときに、& 記号を使用して 2 つのテキストを結合しました。この記号は、割り当ての追加演算子と同じように機能します。それならば、なぜ & 記号を使用して、日付を直接 [説明] 項目に追加しないのでしょうか? & 記号は数式でのみ機能し、[説明] はロングテキスト項目です。ロングテキスト項目は数式の計算制限を超える可能性が高いため、Salesforce ではフロー数式でのロングテキスト項目の使用を認めていません。

この制限は、フロー内の数式に制約があり、複雑であることを示す一例です。フロー数式は計算時間が制限され、文字数も限られているため、複雑な数式は本質的にリスクを伴います。さらに、変数とは異なり、数式はフローの途中で変更することができません。では、数式はどのような場合に適しているのでしょうか?

数式は、購入した工具箱の中に入っていた特殊な形状のドライバーのようなものと考えることができます。あまり使うことがないかもしれませんが、同じ形状のネジを目にしたときに、そのドライバーがあってよかったと実感するものと思われます。つまり、数式は原則として、数式でしか解決できないような状況で使用します。

変わった形状のドライバーを手に怪訝な顔をしている Flo Smith。

frmChangeDateNote 数式は、この原則の好例です。割り当て要素を使用して、日付を説明に追加することはできません。日付をまずテキスト値に変換する必要があるためです。この変換には、数式の TEXT() 関数が必要です。

リソース

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む