Salesforceの検索機能における論理演算子の違いをまとめました📊
グローバル検索は便利だけど一部制限があり、リストビューは条件設定が可能、本格的な論理検索はSOQLが最適です。
検索タイプごとの違いを理解して、業務効率アップにつなげましょう!
Salesforceの検索機能は非常に強力ですが、論理演算子の使い方については混乱しやすいポイントです。この記事では、Salesforceの各検索インターフェースでどのように論理演算子が使えるのか、実用的な視点からまとめていきます。
グローバル検索の特徴と制限
グローバル検索(画面上部の検索バー)は便利ですが、論理演算子の使用に関しては一部制限があります。
-
できること:
- スペース区切りで複数キーワードを指定(AND検索)
- OR演算子を使用した検索(例:acme OR california)
- AND NOT演算子を使用した除外検索(例:acme AND NOT california)
- 括弧 () を使った検索用語のグループ化
- 引用符 "" を使った完全一致フレーズ検索
- 設定されたオブジェクト名やレコードの主要項目の検索
- 部分一致・前方一致検索
-
制限されていること:
- 特定フィールドのみを対象とした検索
- 複雑な条件検索
- 検索結果は関連性スコアに基づいて表示されるため、厳密なブール検索とは異なる
例えば、「東京」と「営業」の両方を含む取引先を検索したい場合は:
東京 営業
または
東京 AND 営業
と入力できます。「東京」または「大阪」を含むレコードを検索したい場合は:
東京 OR 大阪
と入力できます。また、「東京」を含むが「大阪」を含まないレコードを検索したい場合は:
東京 AND NOT 大阪
と入力できます。ただし、検索結果は関連性スコアに基づいて表示されるため、厳密なブール検索とは結果が異なる場合があります。
リストビュー検索の可能性
リストビューではより高度な検索が可能になります:
- フィルター条件を使って擬似的な論理演算子の使用
- フィールド単位での条件設定
- 複数条件の組み合わせ(基本はAND条件)
- 「条件グループ」機能(カスタムロジック)を使用した場合のみ本格的なOR条件が可能
しかし、完全な自由度はなく、UIから設定できる範囲に制限されています。標準機能ではAND条件が基本であり、本格的なOR条件を実現するには「条件グループ」とカスタムロジックの設定が必要です。また、オブジェクトの種類によっては条件グループ機能が制限されている場合もあるため、すべてのリストビューで高度な論理条件が設定できるとは限りません。条件グループ機能が使えないオブジェクトでOR条件を使用したい場合は、SOQLを使用したビューの作成などの代替手段を検討する必要があります。
SOQLで実現する本格的な論理検索
開発者や管理者向けですが、SOQLを使うと真の論理演算子の力を発揮できます:
SELECT Id, Name
FROM Account
WHERE (Industry = 'Technology' OR Industry = 'Finance')
AND (AnnualRevenue > 1000000)
SOQLでは:
- AND/OR/NOTの完全サポート
- 括弧 ( ) を使った演算子の優先順位指定
- フィールド単位での詳細な条件指定
- 複雑な条件の組み合わせ
Einstein Search
Einstein Searchを有効化している場合:
- 自然言語に近い検索クエリのサポート(「東京または大阪の取引先」など)
- ※日本語環境では英語に比べて自然言語サポートの範囲が限定的な場合がある
- より直感的な検索体験
- しかし、SOQLほどの細かい論理演算子の制御はできない
- AI推論ベースのため、意図した厳密な条件検索にならないことがある
- 精度は保証されず、あくまで利便性重視の機能
- 管理者は検索対象のフィールドやオブジェクトをEinstein Search設定でカスタマイズ可能
実用的な検索シナリオと対処法
シナリオ1: 類似名称の区別
「株式会社ABC」と「ABCホールディングス」を区別したい場合:
- グローバル検索:引用符 "" を使って「"株式会社ABC"」と検索
- 解決策:リストビューでフィルターを追加するか、SOQLを使用
シナリオ2: 複数条件の組み合わせ
「東京の金融業界の取引先」を検索したい場合:
- グローバル検索:「東京 金融」と入力可能(または「東京 AND 金融」)
- 解決策:より正確な結果を得るにはリストビューで業種=金融業、都道府県=東京 とフィルター設定
シナリオ3: 除外検索
「Webサイトが設定されていない取引先」を検索:
- グローバル検索:直接不可能
- 解決策:リストビューでWebサイト=空白 というフィルター、またはSOQLで
Website = null
検索機能別の論理演算子対応表
検索タイプ | AND | OR | NOT | 括弧 () | 特定フィールド指定 |
---|---|---|---|---|---|
グローバル検索 | ○(スペース区切り/AND) | ○ | ○(AND NOT) | ○ | × |
リストビュー検索 | ○ | △(制限あり) | △(空白/非空白) | × | ○ |
SOQL | ○ | ○ | ○ | ○ | ○ |
Einstein Search | △(自然言語) | △(自然言語) | △(自然言語) | × | △(部分的) |
△:部分的に対応。操作方法や設定状況によって挙動が異なる場合あり。
検索効率を上げるためのヒント
-
検索レイアウトのカスタマイズ:管理者は「設定」>「オブジェクトマネージャ」>「検索レイアウト」で検索対象フィールドを調整できます
-
リストビューの活用:頻繁に使う検索条件はカスタムリストビューとして保存しましょう
-
レポートの活用:複雑な条件検索はレポートで作成すると再利用性が高まります
-
開発者コンソール:開発者は開発者コンソールでSOQLを直接実行して検索結果を取得できます
まとめ
Salesforceの検索機能は、使用するインターフェースによって論理演算子の対応状況が異なります。日常的な検索にはグローバル検索やリストビューで十分ですが、より複雑な検索条件が必要な場合はSOQLを活用することで、真の論理検索の力を引き出すことができます。
検索機能の特性をまとめると:
- グローバル検索:AND、OR、NOT演算子をサポートするが、関連性スコアに基づく検索のため、厳密なブール検索結果とは異なる場合がある
- リストビュー:完全なOR条件を実現するにはカスタムロジックが必要
- Einstein Search:自然言語推論であり、SOQLのような厳密な制御は不可能
- SOQL:本当に正確な絞り込みが必要な場合の最適な選択肢
- レポート:検索というよりデータ抽出・集計に特化したツール
最も重要なのは、目的に応じた適切な検索方法を選択することです。単純な名前検索ならグローバル検索、条件付き検索ならリストビュー、高度な組み合わせ検索ならSOQLというように、状況に応じた使い分けが効率的なSalesforce活用の鍵となります。絶対的な精度が必要な複合条件検索の場合は、迷わずSOQLを選び、データの集計や分析が目的であればレポートを活用しましょう。