Salesforceの選択リストを設定することは、データ入力を簡単にし、ミスを減らすために大切です。この記事では、単一選択リストと複数選択リスト、グローバル選択リストの違いや、それぞれの設定方法をわかりやすく説明します。
選択リストを正しく設定することで、データが整理されやすくなり、使いやすくなります。
さらに、選択リストを使う際に注意すべきポイントについてもお伝えしますので、参考にしていただけると幸いです。
Salesforceの単一選択リスト・複数選択リスト・グローバル選択リストとは
選択リストは、あらかじめ定義しておいた選択リスト値の中から、ユーザー側で任意の値を選択できるようにするデータ型です。
※データ型とは項目がフリーテキストなのか選択肢なのか数値なのかといった、項目の型を決める設定です。データ型についてはこちらの記事で詳しく解説しています。
選択リストを使用する主なメリットは以下の2点です。
- ユーザー観点で入力が楽…フリーテキストで入力せずに選ぶだけなので簡単です。
- 管理観点で集計しやすい…フリーテキストですと表記ゆれなどの問題で集計が難しくなります。あらかじめ定義済みの選択リスト値しかなければ、簡単に集計・分析することが出来ます。
それでは、単一選択リスト・複数選択リスト・グローバル選択リストの違いは何なのか、それぞれ詳しく見ていきます。
単一選択リストとは
単一選択リストは、ユーザーが複数の選択肢から1つの値を選ぶことができる項目です。データ型選択画面での正式名称は「選択リスト」ですが、複数選択リストと区別するために本記事では単一を頭につけています。
下図は単一選択リストの例です。複数のクレジットカード銘柄の中から一つを選ぶ形になっています。
複数選択リストとは
複数選択リストは、ユーザーが選択肢から複数の値を選ぶことができる項目です。データ型選択画面での正式名称は「選択リスト (複数選択)」です。
グローバル選択リストとは
グローバル選択リストとは、選択リスト項目の「選択リスト値」(つまり選択肢)をオブジェクトを跨いで使いまわせる機能です。
たとえば「業種」という選択リストがあるとして、会社内で色々な定義があっては不都合です。
なぜ不都合かというと、商談では「自動車製造」、取引先では「自動車」となっていては一気通貫の集計が出来ないからです。
Salesforceの項目は、オブジェクトごとに作成しますが、上記のような理由により、どのオブジェクトに業種項目を作成したとしても、同じ「選択リスト値」でなくてはならないというニーズがある場合があります。
グローバル選択リストを使用すれば、選択リスト値を追加したり減らしたりする際に、全オブジェクトの選択リスト値を変更しなくても済みますので、合理的な機能なのです。
ここまでグローバル選択リストについて意義を解説してきましたが、「グローバル選択リスト」というデータ型があるわけではありません。
単一選択リストや、複数選択リスト項目を作成する際に、「グローバル選択リスト値セットを使用」するかどうかを選択する場面があります。そこでグローバル選択リストを選ぶと、今作ろうとしているその項目は、「グローバル選択リスト値セットを使用」した単一選択リストや、複数選択リスト項目となるのです。
つまり選択リスト値にグローバル選択リストの値を使うかどうか?という考え方になります。
単一選択リストの設定方法
設定>オブジェクトマネージャーから下図の画面を開きます。サイドメニューから項目とリレーションを選択し、新規を押します。
データ型の選択画面に移りますので、「選択リスト」を選択し、次へを押します。
次は、詳細の入力画面です。
上から表示ラベルを入力します。この選択リスト項目の名称です。値は「各値を改行で区切って入力します。」を選択します。
選択リスト値は下図のように、1つの値ごとに行を変えて入力することで、まとめて登録できます。
「値セットで定義された値に選択リストを制限します」をtrueにすると、ここで定義した選択リスト値以外の値を受け付けなくなります。ここで選択した選択リスト値以外の値が入ってくるのは、データローダーやAPI連携などで、外部からデータを取り込んだ時です。
下図の項目は任意で設定しましょう。
あとは、次へを押していき保存、ページレイアウトに追加を行えば、使えるようになります。
複数選択リストの設定方法
設定>オブジェクトマネージャーから下図の画面を開きます。サイドメニューから項目とリレーションを選択し、新規を押すところまでは単一選択リストと同様です。
次に開く下図のデータ型選択画面で、選択リスト(複数選択)を選択します。
このとき、下図のアラートが出てきますが了解を押して閉じます。
このあとの設定方法は単一選択リストと同様なので、割愛します。
グローバル選択リストの設定方法
単一選択リストの手順でも登場した「値」項目で、「グローバル選択リスト値セットを使用」を選択すると、「値」の下部に選択リスト項目が表示されます。下図では「業種」が選ばれている箇所がそれにあたります。
グローバル選択リストを使用するための方法はこれだけです。後は単一選択リストと同様です。繰り返しになりますが、グローバル選択リストは選択リストの値を定義するための機能ということです。
それでは、上図「値」で「業種」が選ばれていますが、このようなグローバル選択肢を事前に定義しておくにはどうすればよいでしょうか。解説していきます。
方法①:すでに存在する選択リストをグローバル選択肢に昇格する
例えば、下図はすでに作成済みの単一選択リスト項目です。オブジェクトマネージャーの項目とリレーションからこちらを開きます。編集ボタンを押します。
すると、画面上部に「グローバル値セットに昇格」ボタンが表示されますので押下します。
すると、グローバル値セットを定義する画面になりますので、表示ラベルとAPI参照名を入れて、昇格ボタンを押せば昇格されます。
方法②:直接作成する
設定画面のサイドメニュー上の検索窓に選択リストと入力します。すると「選択リスト値セット」というメニューが表示されますので、クリックすると下図の画面になります。
ここまでの解説で登場した「業種」値セットも表示されていることが分かります。そうです、グローバル検索リストはこの画面で集約して管理することが出来るのです。
新規ボタンを押せば、下図の画面になります。設定方法は単一選択リストと同様です。
以上がグローバル選択リストの設定方法です。すでに作成したグローバル選択リストのリスト値変更なども、上記の「選択リスト値セット」から行う形になります。
選択リストを使用する際の考慮事項
選択リストの様々な上限
- 有効な選択リスト値の上限は1,000個です。
- 無効な選択リスト値の上限は4,000個です。
- 複数選択リストは最大500個の選択リスト値なので注意。さらに、選択できるのはそのうち100個が上限。
- グローバル選択リストの場合は有効&無効合わせて1,000個です。
- 1選択肢の文字数は255文字まで(テキスト項目と同じ。)ただし長くし過ぎると見切れるので短くした方がいい。
「ISPICKVAL」関数:数式の中で選択リスト型の項目を使用する
数式の中で選択リストの値を参照する場合には、「ispickval関数」を使用します。詳しくはこちらの記事に記載しています。
以下は使用例です。(StageNameが選択リスト型の項目で、StageNameがClosed Wonだったら「受注」と表示する、という数式になっています。
数式
IF(
ISPICKVAL(StageName,"Closed Won"),"受注",
IF(ISPICKVAL(StageName,"Closed Lost"),"失注","商談中"
))
数式をもう少し補足説明しますと、仮に「ISPICKVAL(A,B)」とすると、Aには選択リスト型の項目が入ります。BにはAの選択リスト値が入ります。ISPICKVAL関数を使用することで、A=Bのとき、という条件を表現することが出来ます。
数式の中で選択リスト型項目が空白だったら~を表現するには?
ISBLANK(TEXT(選択リスト項目) )を使用します。もしISBLANK(選択リスト項目)とするとエラーになります。一度テキストに変換しなくてはなりません。この数式は入力規則でも使用でき、もし空白だったらブロックする、という使い方が出来ます。
まとめ
本記事では選択リストの複数のパターンについて前提や仕様と、設定方法を解説しました。また、考慮事項では選択リスト値の上限や、Tips的な数式活用にも触れました。