Salesforceレポートの価値はフィルタ設計で決まる
Salesforceレポートは、正しいフィルタを設計することで「毎日開いて業務判断に使える」ツールに変わります。フィルタが適切でなければ、レポートは単なるデータの羅列にとどまり、ダッシュボードに配置しても活用されません。この記事では、Salesforceレポートのフィルタを4種類に整理し、それぞれの使いどころと実践パターンを解説します。フィルタ設計の基本を押さえれば、レポートを開くたびに自動更新される「動くダッシュボード」を構築できます。
フィルタの4つの種類
Salesforceレポートのフィルタは、用途と粒度に応じて4種類に分かれます。それぞれの特徴を理解し、組み合わせて使うことがフィルタ設計の基本です。
標準フィルタ
標準フィルタは、レポートの上部にプリセットされている絞り込み条件です。「表示」で日付範囲を、「所有者」でレコードの所有者を指定します。特に「私のレコード」と「すべてのレコード」の切り替えは頻繁に使う設定です。「私のレコード」を選ぶと自分が所有するレコードだけが表示され、マネージャーがチーム全体を確認する場合は「すべてのレコード」を選択します。標準フィルタはレポートタイプごとに固定されているため、カスタマイズの自由度は限定的ですが、基本的な絞り込みはこれだけで対応できます。
行レベルフィルタ(フィールドフィルタ)
行レベルフィルタは、特定のフィールドの値を条件にレコードを絞り込む機能です。レポートビルダーの「フィルタ」セクションで「フィルタを追加」から設定します。利用できる演算子はフィールドのデータ型によって異なります。
| データ型 | 主な演算子 | 設定例 |
|---|---|---|
| テキスト | equals, not equal to, contains, starts with | Status equals Open |
| 数値 | equals, greater than, less than, between | Health_Score__c less than 35 |
| 日付 | equals, greater than, less than, LAST N DAYS | CloseDate equals THIS_MONTH |
| 選択リスト | equals, not equal to, IN | StageName not equal to Closed Lost |
例えば、ヘルススコアが35未満のCritical顧客を抽出するには、Health_Score__c に対して less than 演算子で 35 を指定します。1つのレポートに複数の行レベルフィルタを追加でき、最大20個まで設定可能です。
クロスフィルタ
クロスフィルタは、関連オブジェクトの有無を条件にレコードを絞り込む機能です。通常の行レベルフィルタでは実現できない「関連レコードが存在するか/しないか」という条件を設定できます。レポートビルダーの「フィルタ」セクションで「クロスフィルタを追加」から設定します。
| 設定例 | 意味 |
|---|---|
| 取引先 with 活動 | 活動が登録されている取引先 |
| 取引先責任者 without 商談 | 商談に紐づいていない取引先責任者 |
| 商談 with 商品 | 商品が追加されている商談 |
クロスフィルタの代表的な使いどころは、フォロー漏れの検出です。「取引先 without 活動」を設定すれば、一定期間活動が記録されていない取引先を一覧化できます。さらにクロスフィルタにサブフィルタを追加して、関連オブジェクトの条件を細かく指定することも可能です。
フィルタロジック
フィルタロジックは、複数の行レベルフィルタの条件をAND/ORで組み合わせる機能です。デフォルトではすべてのフィルタがAND条件(すべての条件を満たす)で結合されますが、フィルタロジックを追加することでOR条件や複合条件を表現できます。
レポートビルダーで「フィルタロジックを追加」を選択し、各フィルタに振られた番号を使って条件式を記述します。
| フィルタロジック | 意味 |
|---|---|
1 AND 2 AND 3 | すべての条件を満たす(デフォルト) |
1 OR 2 | いずれかの条件を満たす |
(1 AND 2) OR 3 | 条件1と2を両方満たす、または条件3を満たす |
1 AND (2 OR 3) | 条件1を満たし、かつ条件2または3を満たす |
例えば「東京オフィスの大型商談」または「大阪オフィスの全商談」を1つのレポートで表示したい場合、フィルタ1を Region equals 東京、フィルタ2を Amount greater than 5000000、フィルタ3を Region equals 大阪 とし、フィルタロジックを (1 AND 2) OR 3 に設定します。
日付フィルタのベストプラクティス
日付フィルタは、レポートの実用性を左右する重要な要素です。固定の日付(絶対日付)を使うと、月が変わるたびにフィルタを手動で更新する必要があります。相対日付を使えば、レポートを開くたびに現在の日付を基準に自動計算されます。
絶対日付と相対日付の違い
| 種類 | 設定例 | 動作 |
|---|---|---|
| 絶対日付 | CloseDate = 2026/03/01〜2026/03/31 | 固定。月が変わっても3月のまま |
| 相対日付 | CloseDate = THIS_MONTH | 動的。4月になれば自動的に4月に切り替わる |
主要な相対日付キーワード
| キーワード | 意味 | 使用例 |
|---|---|---|
THIS_MONTH | 今月 | 今月クローズ予定の商談 |
LAST_MONTH | 先月 | 先月の受注実績 |
LAST_N_DAYS:30 | 過去30日間 | 直近30日の活動 |
NEXT_N_DAYS:7 | 今後7日間 | 1週間以内にクローズ予定の商談 |
THIS_QUARTER | 今四半期 | 四半期のパイプライン |
LAST_QUARTER | 前四半期 | 前四半期との比較 |
THIS_FISCAL_YEAR | 今会計年度 | 年度累計の売上 |
ダッシュボードに配置するレポートは、原則として相対日付を使います。これにより「毎月フィルタを更新する」という運用が不要になり、常に最新の期間でデータが表示されます。
ビジネスで使える実践フィルタパターン10選
実務で頻出するフィルタパターンをテンプレートとして整理しました。新しいレポートを作成する際の出発点として活用してください。
パターン1: スコアが悪化した顧客の検出
ヘルススコアの変動を監視し、悪化した顧客を早期に検出します。
- フィールド:
Score_Change_30d__c、演算子:less than、値:-10
30日間のスコア変動を記録するカスタムフィールドを用意し、閾値を下回った顧客をリスト化します。カスタマーサクセスチームが日次で確認するレポートに適しています。
パターン2: 今月クローズ予定の未受注商談
今月中にクローズ予定だが、まだ受注に至っていない商談を一覧化します。
- フィルタ1:
CloseDateequalsTHIS_MONTH - フィルタ2:
StageNamenot equal toClosed Won - フィルタ3:
StageNamenot equal toClosed Lost
営業マネージャーが週次の商談レビューで使うパイプラインレポートとして有効です。
パターン3: 最終活動が30日以上前の取引先
一定期間コンタクトが取れていない取引先を検出します。
- フィールド:
Last_Active_Date__c、演算子:less than、値:LAST_N_DAYS:30
フォロー漏れの早期発見に直結するレポートです。クロスフィルタ(「取引先 without 活動」)と組み合わせるとさらに精度が上がります。
パターン4: 新規リードで未対応のもの
直近1週間に作成されたリードのうち、ステータスが未対応のものを抽出します。
- フィルタ1:
StatusequalsOpen - フィルタ2:
CreatedDateequalsLAST_N_DAYS:7
インサイドセールスチームが毎朝確認するワークリストとして使えます。
パターン5: ヘルスティアが変動した顧客
ヘルスティアの現在値と前回値を比較し、悪化した顧客を検出します。Salesforceの標準レポートではフィールド同士の直接比較はできないため、数式フィールド Tier_Changed__c(Health_Tier__c <> Previous_Health_Tier__c で true を返す)を作成し、そのフィールドでフィルタします。
- フィールド:
Tier_Changed__c、演算子:equals、値:true
パターン6: 特定の所有者チームのレコード
チーム単位でレコードを絞り込みます。標準フィルタの「所有者」で特定のロールまたはロール&下位を選択します。ロール階層を活用すると、「営業部長 & 下位」で部門全体のレコードを表示できます。
パターン7: データ品質フラグが異常なレコード
データクレンジングの一環として、品質フラグが正常でないレコードを検出します。
- フィールド:
Data_Quality_Flag__c、演算子:not equal to、値:OK
定期的なデータメンテナンスレポートとして、週次で確認する運用が効果的です。
パターン8: 高額商談のパイプライン
金額が一定以上かつ進行中のステージにある商談を抽出します。
- フィルタ1:
Amount、演算子:greater than、値:1000000 - フィルタ2:
StageName、演算子:equals、値:Qualification,Proposal,Negotiation - フィルタロジック:
1 AND 2
経営層向けのパイプラインダッシュボードに配置するレポートです。
パターン9: 空白フィールドの検出
必須であるべきフィールドが空白のレコードを検出し、データの網羅性を改善します。
- フィールド:
Email、演算子:equals、値: (空白)
Salesforceのレポートビルダーでは、値を空にして「equals」を設定すると空白フィールドの検出が可能です。入力率の改善に役立ちます。
パターン10: 活動のない取引先(クロスフィルタ)
関連オブジェクトの不在をクロスフィルタで検出します。
- クロスフィルタ: 取引先 without 活動
- サブフィルタ:
ActivityDategreater thanLAST_N_DAYS:90(任意)
サブフィルタを追加することで「直近90日間に活動がない取引先」のように期間を限定できます。
Analytics APIでのフィルタ操作
レポートのフィルタは、Salesforce Analytics REST APIを使ってプログラムから操作することも可能です。定期的にフィルタ条件を更新する必要がある場合や、外部システムからレポートを動的に実行する場合に有効です。
PATCH /services/data/vXX.0/analytics/reports/{reportId} エンドポイントで reportMetadata.reportFilters を更新します。注意点として、reportFilters は部分更新ではなく全体置換です。既存のフィルタを保持したい場合は、まず GET で現在のメタデータを取得し、変更を加えたうえで PATCH を送信する必要があります。
{
"reportMetadata": {
"reportFilters": [
{
"column": "CLOSE_DATE",
"operator": "equals",
"value": "THIS_MONTH"
},
{
"column": "STAGE_NAME",
"operator": "notEqual",
"value": "Closed Won"
}
]
}
}
この方法を使えば、外部のスケジューラやCI/CDパイプラインからフィルタ条件を動的に切り替えることができます。
まとめ
Salesforceレポートのフィルタ設計は、4種類のフィルタを適切に使い分けることが基本です。標準フィルタで大枠を絞り、行レベルフィルタで具体的な条件を指定し、クロスフィルタで関連オブジェクトの有無を判定し、フィルタロジックで複合条件を表現します。日付フィルタは相対日付を原則とすることで、手動更新が不要なレポートを構築できます。この記事で紹介した10のパターンをテンプレートとして保存しておけば、新しいレポートを作成するたびにゼロから考える必要がなくなります。
aileadのデータ活用
aileadでは、Salesforceレポートを活用してプロダクト利用データのヘルススコアや利用傾向を日々モニタリングしています。対話データとCRMデータを組み合わせることで、フィルタだけでは見えない顧客の状態変化をより正確に把握できます。Salesforceのレポート設計やデータ活用についてのご相談はこちらからお気軽にお問い合わせください。
関連記事
- Salesforce商談情報の自動入力ガイド【2026年版】
- SFA(業務支援ツール)とは?利用するメリットや比較すべきポイントを紹介
- CRMとは?導入メリット・デメリット、具体的な機能内容について紹介
- ChatGPT × Salesforce連携ガイド
ailead編集部
株式会社ailead
aileadの公式編集部です。営業DX・AI活用に関する情報を発信しています。



