Salesforce カスタムレポートタイプの設計を図解:関連の必須と任意、結合レポートの使い分け
このページには広告リンクを含みます。
カスタムレポートタイプが必要になるとき
レポートタイプは、レポートが読める範囲を決めるものです。どのオブジェクトをつなぎ、どの項目を列の候補に出すかを定義します。標準のレポートタイプで足りない代表的な場面は次の3つです。
- 子レコードがない親を含めたい
- 孫のオブジェクトまで1行でつなげたい
- 参照先の項目を列に足したい
「AとB」と「AとBがなくてもよい」の違い

作成の途中で、親と子の関連の種類を選びます。ヘルプの日本語版と英語版の表示を並べると、次の2つです。
| 選択 | ヘルプの表示 | 出る行 | SQL で言うと(編集部のたとえ) | 使う場面 |
|---|---|---|---|---|
| 関連が必須 | 各「A」レコードには関連する「B」レコードが少なくとも 1 つ必要です(Each “A” record must have at least one related “B” record) | 子がある親だけ | 内部結合に近い | 商談の分析など、ふつうの集計 |
| 関連は任意 | “A” レコードに関連する “B” レコードの有無は問いません(“A” records may or may not have related “B” records) | 子がない親も出る | 左外部結合に近い | 商談がない取引先、活動のない顧客を探す |
SQL の用語は、理解を助けるたとえです。Salesforce の画面にこの語は出ません。
一度「関連は任意」を選ぶと、そのあとにつなぐ関連もすべて任意になります。「取引先、商談は任意、商談品目は必須」という組み合わせはできません。
任意の子に条件を置くと親が残る
ここが最もハマる点です。
取引先を親、商談を子とする「関連は任意」のレポートで、「フェーズ=成立」の条件を置いたとします。出るのは成立した商談がある取引先だけ、と思いがちです。実際には次のように出ます。
| 取引先の状態 | 親の行 | 子の項目 |
|---|---|---|
| 成立の商談がある | 出る | 商談の値が出る |
| 商談がない | 出る | ダッシュになる |
| 成立でない商談だけある | 出る | ダッシュになる |
子への条件は、親を絞りません。子の値を出すかどうかを決めるだけです。グループ化もダッシュの行が1つの塊になります。公式はこの動きを仕様として説明していて、子で絞りたいなら、関連が必須のレポートタイプとクロス条件を使うよう案内しています。
クロス条件(Cross Filter)は、関連する子の有無で親を絞る機能です。1レポートに3つまで、それぞれ副条件を5つまで付けられます。使えるのは Enterprise、Performance、Unlimited、Developer の各エディションです。「商談がない取引先」程度なら、カスタムレポートタイプを増やさず、標準のレポートタイプとクロス条件で足りることもあります。レポートタイプは数が増えるほど保守が難しくなるので、作る前に検討する価値があります。
カスタムレポートタイプの作り方と制限
作成の流れは次のとおりです。
- 設定(Setup)で [レポートタイプ](Report Types)を開き、新しいカスタムレポートタイプを作る。
- 主オブジェクトを選ぶ。保存後は変更できない。
- 関連するオブジェクトをつなぎ、関連の種類を選ぶ。
- 列の候補にする項目を整える。参照先の項目もここで足せる。
- 対応可能状況を [リリース済み](Deployed)にする。[開発中] のままだと他のユーザーが使えない。
作成画面には、拡張カスタムレポートタイプビルダー(Enhanced)と従来のビルダーがあり、公式の手順も分かれています。
| 項目 | 上限 |
|---|---|
| オブジェクト参照 | 60(関連4つなら、参照で足せるのは56) |
| 項目数 | 1,000 |
| 列に使うオブジェクト | 20を超えるとエラー |
| 表示できる行 | 2,000行 |
| クロス条件 | 1レポート3個、各5副条件 |
| 結合レポートのブロック | 5 |
| 1ブロックの列 | 100 |
| ブロックごとの要約数式 | 10(レポート全体で50) |
| ブロックをまたぐ要約数式 | 10 |
| 結合レポートのエクスポート | 20,000行 |
| ダッシュボードのウィジェット | 25(グラフと表は20まで) |
作成できるカスタムレポートタイプの数はエディションで変わります。ヘルプの Reports and Dashboards Limits and Allocations で確かめてください。
設計で効いてくるのは「兄弟が入らない」制限です。

カスタムレポートタイプは、主オブジェクトから子、孫、ひ孫へ縦につなぎます。取引先の下の商談とケースのように、同じ親を持つ2つの子を1本に入れることはできません。この場面で使うのが結合レポートです。
結合レポートの使い方
結合レポート(Joined Report)は、複数のレポートタイプをブロックとして1つに並べます。商談とケースは、どちらも取引先に関連しているので結合できます。
押さえる点は4つです。
- 各ブロックは独自の列、条件、並び順を持てる。
- グループ化はブロック全体に効き、最大3つ。使えるのは全ブロックに共通する項目。
- 最初に足したレポートタイプが主になり、共通項目の名前はそれに従う。
- 各ブロックの行は、他のブロックと一致しなくてもすべて出る。公式はSQLの外部結合と説明している。
4つ目が重要です。取引先でグループ化すると、ケースだけある取引先も商談だけある取引先も行に出ます。「両方ある取引先だけ」に絞る機能ではありません。
また、行レベル数式は結合レポートでは使えません。「関連は任意」のレポートタイプでも同じです。行ごとの計算が必要なら、カスタム項目の数式にするか、別の作りを検討します。
どの作りにするかの判断

判断の順番は、次のとおりです。
- 同じ親の2つの子を並べたい → 結合レポート
- 子がない親も一覧に出したい → 関連は任意(条件が親だけで済むとき)
- 親を「子の有無」で絞りたい → クロス条件
- それ以外 → 標準のレポートタイプか、関連が必須のカスタムレポートタイプ
経営会議のダッシュボードで崩れないために
ダッシュボードは、元のレポートの作りに結果を左右されます。数字が合わないという相談の多くは、ダッシュボードより元のレポートに原因があります。編集部のおすすめは次の3点です。
- 同じ指標は1つのレポートにまとめる。「今期の受注」の定義が部署ごとに違うレポートが複数あると、会議で数字がずれる。
- 共有設定の影響を確かめる。実行するユーザーの権限で見える行が変わる。設定は共有モデルの記事で確かめる。
- 親子の行の増え方を意識する。取引先に商談をつないだレポートでは、取引先の項目は商談の数だけ行に現れる。取引先の売上項目を合計すると、重複して足される。
データの持ち方が先に決まると、レポートも楽になります。親子の関係は主従関係と参照関係の記事、リードから商談への流れはリードの取引開始の記事を読んでください。全体の地図は設計ガイドにあります。レポートは管理者の資格でも範囲に入るので、認定アドミニストレーターの勉強法とあわせて進めると効率が上がります。
よくある質問
- Salesforce のカスタムレポートタイプの「あってもなくてもよい」関連とは何ですか?
- 子レコードがない親レコードもレポートに出す設定です。商談がない取引先も一覧に出せます。子レコードが必須の設定にすると、子がある親だけが出ます。
- 結合レポートはいつ使いますか?
- 同じ親の2つの子を並べたいときに使います。取引先ごとの商談とケースのように、カスタムレポートタイプの1本には入らない組み合わせを、ブロックを分けて1つのレポートに表示できます。
- 結合レポートのブロックはいくつまで作れますか?
- 結合レポートのブロックは最大5つで、1ブロックあたり100列までです。グループ化はブロック全体に効き、最大3つまで設定できます。
- 作ったカスタムレポートタイプが他のユーザーに表示されないのはなぜですか?
- カスタムレポートタイプは [リリース済み](Deployed)にしないと、他のユーザーが使えません。主オブジェクトは保存後に変更できないので、作る前に確かめてください。