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 の各エディションです。「商談がない取引先」程度なら、カスタムレポートタイプを増やさず、標準のレポートタイプとクロス条件で足りることもあります。レポートタイプは数が増えるほど保守が難しくなるので、作る前に検討する価値があります。

カスタムレポートタイプの作り方と制限

作成の流れは次のとおりです。

  1. 設定(Setup)で [レポートタイプ](Report Types)を開き、新しいカスタムレポートタイプを作る。
  2. 主オブジェクトを選ぶ。保存後は変更できない。
  3. 関連するオブジェクトをつなぎ、関連の種類を選ぶ。
  4. 列の候補にする項目を整える。参照先の項目もここで足せる。
  5. 対応可能状況を [リリース済み](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つの子を並べることはできず、その場合は結合レポートを使うことを示す図
縦につなぐのはレポートタイプ、横に並べるのは結合レポート

カスタムレポートタイプは、主オブジェクトから子、孫、ひ孫へ縦につなぎます。取引先の下の商談とケースのように、同じ親を持つ2つの子を1本に入れることはできません。この場面で使うのが結合レポートです。

結合レポートの使い方

結合レポート(Joined Report)は、複数のレポートタイプをブロックとして1つに並べます。商談とケースは、どちらも取引先に関連しているので結合できます。

押さえる点は4つです。

  • 各ブロックは独自の列、条件、並び順を持てる。
  • グループ化はブロック全体に効き、最大3つ。使えるのは全ブロックに共通する項目。
  • 最初に足したレポートタイプが主になり、共通項目の名前はそれに従う。
  • 各ブロックの行は、他のブロックと一致しなくてもすべて出る。公式はSQLの外部結合と説明している。

4つ目が重要です。取引先でグループ化すると、ケースだけある取引先も商談だけある取引先も行に出ます。「両方ある取引先だけ」に絞る機能ではありません。

また、行レベル数式は結合レポートでは使えません。「関連は任意」のレポートタイプでも同じです。行ごとの計算が必要なら、カスタム項目の数式にするか、別の作りを検討します。

どの作りにするかの判断

同じ親の2つの子を並べるなら結合レポート、子がない親も見るなら関連任意のレポートタイプ、それ以外は関連必須を選ぶ判断の流れ図
どのレポートの作りにするかの判断

判断の順番は、次のとおりです。

  1. 同じ親の2つの子を並べたい → 結合レポート
  2. 子がない親も一覧に出したい → 関連は任意(条件が親だけで済むとき)
  3. 親を「子の有無」で絞りたい → クロス条件
  4. それ以外 → 標準のレポートタイプか、関連が必須のカスタムレポートタイプ

経営会議のダッシュボードで崩れないために

ダッシュボードは、元のレポートの作りに結果を左右されます。数字が合わないという相談の多くは、ダッシュボードより元のレポートに原因があります。編集部のおすすめは次の3点です。

  • 同じ指標は1つのレポートにまとめる。「今期の受注」の定義が部署ごとに違うレポートが複数あると、会議で数字がずれる。
  • 共有設定の影響を確かめる。実行するユーザーの権限で見える行が変わる。設定は共有モデルの記事で確かめる。
  • 親子の行の増え方を意識する。取引先に商談をつないだレポートでは、取引先の項目は商談の数だけ行に現れる。取引先の売上項目を合計すると、重複して足される。

データの持ち方が先に決まると、レポートも楽になります。親子の関係は主従関係と参照関係の記事、リードから商談への流れはリードの取引開始の記事を読んでください。全体の地図は設計ガイドにあります。レポートは管理者の資格でも範囲に入るので、認定アドミニストレーターの勉強法とあわせて進めると効率が上がります。

よくある質問

Salesforce のカスタムレポートタイプの「あってもなくてもよい」関連とは何ですか?
子レコードがない親レコードもレポートに出す設定です。商談がない取引先も一覧に出せます。子レコードが必須の設定にすると、子がある親だけが出ます。
結合レポートはいつ使いますか?
同じ親の2つの子を並べたいときに使います。取引先ごとの商談とケースのように、カスタムレポートタイプの1本には入らない組み合わせを、ブロックを分けて1つのレポートに表示できます。
結合レポートのブロックはいくつまで作れますか?
結合レポートのブロックは最大5つで、1ブロックあたり100列までです。グループ化はブロック全体に効き、最大3つまで設定できます。
作ったカスタムレポートタイプが他のユーザーに表示されないのはなぜですか?
カスタムレポートタイプは [リリース済み](Deployed)にしないと、他のユーザーが使えません。主オブジェクトは保存後に変更できないので、作る前に確かめてください。