選択リスト(複数)

  • Salesforceのオブジェクト項目に選択リスト(複数)というデータ型があります
  • タグのように複数の属性をセットする場面で利用できる便利なデータ型です
  • SOQLでの使い方を調べてみたらよく出来ていたのでメモします

利用ケース

  • たとえば下記のような利用ケースが考えられると思います
取引先責任者の項目として 「関心のある業種」を設定
選択肢として、{メーカー, 商社, 金融, 小売, サービス}を設定
  • データとしては下記のようになります。
Name Tag__c
鈴木太郎 メーカー;商社
田中二郎 商社;小売
高橋花子 金融;小売;サービス
木村愛子 金融;商社

利用ケースとINCLUDES句使用例

  • この情報を利用するケースとしては、「"小売"に関心のある人全員を抽出する」等が考えられます。
  • SOQLでは INCLUDES句を利用し、下記のように記述することで実現できます。
SELECT Name, Tag__c FROM Contact
WHERE Tag__c INCLUDES ('小売')
  • 結果
Name Tag__c
田中二郎 商社;小売
高橋花子 金融;小売;サービス

複数条件(or)

IN句のように複数条件も記述可能です。

  • "小売"または"メーカー"いずれかのタグが設定されているデータを抽出
SELECT Name, Tag__c FROM Contact
WHERE Tag__c INCLUDES ('小売', 'メーカー')
  • 結果
Name Tag__c
鈴木太郎 メーカー;商社
田中二郎 商社;小売
高橋花子 金融;小売;サービス

複数属性を持つデータを抽出

複数の属性を持つデータを抽出する場合、セミコロンで指定します。

  • "商社"と"金融"両方のタグが設定されているデータを抽出
SELECT Name, Tag__c FROM Contact
WHERE Tag__c INCLUDES ('商社;金融')
  • 結果
Name Tag__c
木村愛子 金融;商社

facebook slideshare rubygems github qiita