複数選択リストで使用できる関数

複数選択リストで使用できる関数

項目のデータ型と関数には相性があります。いざ数式を作成しようとすると「関数が使用できない!」という事態を避けるために、今回は複数選択リストについてまとめました。
複数選択リストで使用できる関数
2
複数選択リストで使用できる関数
Admin
2024/07/17 09:09:45
※追記しました。(2024年7月9日)(2024年7月17日)
※こちらは過去に公開していたブログからの移行記事です。

項目自動更新で、数式を使用して複数選択リスト値で他の項目を更新しようとしたところ、 TEXT、ISPICKVALの関数ではエラーになりました。
調べたところ、選択リスト(複数選択)にサポートされる関数は少ないようです。


複数選択リスト項目で使用できる関数

INCLUDES
ISBLANK
ISNULL

CONTAINS
PICKLISTCOUNT(選択された値の数を返します)
※2024年7月時点で、フローでPICKLISTCOUNTを使用するとは「1」減算されて返されます。
 詳細は「Known Issues :フローの数式でPICKLISTCOUNTを使うときは「-1」で返される」をご確認ください。
ISCHANGED

(レコードトリガーフロー、評価条件が [レコードが次の場合にルールを評価:] [作成されたとき、および編集されるたび] に設定されている割り当てルール、入力規則、ワークフロー項目自動更新、およびワークフロールール、)
PRIORVALUE
(レコードトリガーフロー、評価条件が [レコードが次の場合にルールを評価:] [作成されたとき、および編集されるたび] に設定されている割り当てルール、入力規則、ワークフロー項目自動更新、およびワークフロールール)



数式の例

INCLUDESとIFの2つ関数を使用して、値の文字列を表示しました。

IF( INCLUDES( 複数選択リスト項目 , "値A" ) , "値A; " , "" ) + IF( INCLUDES( 複数選択リスト項目, "値B" ) , "値B; ", "" )

複数選択リスト項目に 「A」 が含まれていたら「 A」と表示、「B 」が含まれていたら 「B」と表示する。
(選択リスト値ごとにIF~の数式を作成して繋げ、複数選択リストで選択されている値をすべて置き換えて表示できるようにする)

もし複数選択リスト項目でAとBが両方選択されていたら、
↑の数式で更新した項目では「A;B;」と表示されます。
※「;」は別の値だと区別しやすくするために入れています。

Apexトリガを定義できればその方法はもっときれいな代替案になるらしいですが、標準機能では、このような数式で複数選択リストを羅列するしか方法はないようです。

参考

複数選択リストで PICKLISTCOUNT関数を使って選ばれし値の数を算出する
Known Issues :フローの数式でPICKLISTCOUNTを使うときは「-1」で返される
◇ Salesforce > developers > Discussion Forums > 「選択リスト(複数選択)」の数式表示
◇ Salesforce > Trailblazer community > ヘルプ > 選択リストおよび複数選択リスト数式項目の使用のヒント
◇ SALESFORCE ヘルプ >ドキュメント >SALESFORCE リリースノート >Salesforce Summer'22 リリースノート >カスタマイズ >一般設定 >新しい関数を使用した数式の強化

公開:2020年7月22日
更新①:2024年7月9日
更新②:2024年7月17日
gilde tech(for Salesforce)」に入会しませんか?
登録すると、「gilde tech」に掲載されているSalesforceのノウハウを全部閲覧できるだけでなく、自分が知っている知識を発信し、他の会員と交流することもできます。
またSalesforceの知識習得に役立つイベント情報も得ることができます。
是非ここで得た知識を業務に活かしてください!
2
コメント