執筆者:Salesforce 管理者
背景と応用シナリオ
Salesforce のレポート機能は、ビジネスの意思決定をデータに基づいて行うための強力なツールです。標準のレポート形式(表、サマリー、マトリックス)は非常に便利ですが、1つのレポートで表示できる情報には構造的な制約があります。通常、1つのレポートは単一のレポートタイプに基づいており、「取引先と関連する商談」や「ケースと関連する活動」のように、主従関係にあるオブジェクトのデータを分析することに長けています。
しかし、実際のビジネスシナリオはもっと複雑です。例えば、営業マネージャーは「特定の取引先に関連する進行中の商談」と、同じ取引先に対する「未解決のケース」を同時に一覧で確認したいと考えるかもしれません。これらは異なるオブジェクト(商談とケース)であり、直接的な主従関係にないデータを一つのビューで比較する必要があります。このような要求に標準レポートで応えるのは困難です。
ここで登場するのが Joined Reports(結合レポート)です。Joined Reports は、複数の異なるレポートタイプからのデータを、1つの統合されたビューで表示できる Salesforce の強力な機能です。これにより、これまで別々のレポートで確認し、手作業で突き合わせていた情報を一元的に可視化し、より深い洞察を得ることが可能になります。
応用シナリオの例:
- 360度の顧客ビュー: ある大手取引先について、現在進行中の商談、過去の活動履歴、そしてオープンしているサポートケースを一つのレポートで表示し、顧客の全体像を把握する。
- 営業とサポートの連携分析: 営業担当者ごとに、担当する取引先の商談成立数と、同じ取引先から起票されたケース数を比較し、顧客満足度が営業成績に与える影響を分析する。
- マーケティングROIの可視化: 特定のキャンペーンから創出されたリードと、そのリードが転換して成立した商談、さらにその後の活動を並べて表示し、キャンペーンの効果を多角的に測定する。
このように、Joined Reports は、サイロ化しがちなデータを連結し、オブジェクトの垣根を越えた横断的な分析を実現するための重要なツールです。Salesforce 管理者としてこの機能をマスターすることは、ユーザー部門からの高度な分析要求に応え、データ活用の幅を広げる上で不可欠と言えるでしょう。
原理説明
Joined Reports の仕組みを理解する鍵は、「ブロック (Block)」と「共通項目 (Common Field)」という2つの概念です。
一見複雑に見えるかもしれませんが、Joined Reports は実際には複数の標準レポートを一つの「コンテナ」にまとめたもの、と考えると理解しやすくなります。
ブロック (Block)
Joined Reports は、最大5つまでの個別のレポート「ブロック」で構成されます。各ブロックは、それ自体が独立したレポートのように機能します。
- 独自のレポートタイプ: 各ブロックは、それぞれ異なる標準またはカスタムのレポートタイプを持つことができます。例えば、ブロック1は「取引先と商談」、ブロック2は「取引先とケース」といった設定が可能です。
- 独自の項目と検索条件: 各ブロックには、それぞれ表示したい項目(列)を設定し、独自の検索条件を適用できます。「進行中の商談のみ」や「優先度が『高』のケースのみ」といった絞り込みがブロックごとに行えます。
レポートビルダーで Joined Report を作成すると、これらのブロックが画面上で横に並んで表示されます。これにより、異なる視点からのデータを並べて比較することが可能になります。
共通項目 (Common Field) によるグルーピング
複数のブロックをただ並べただけでは、データは関連性を持ちません。Joined Reports の真価は、これらのブロックを「共通項目」でグルーピングすることによって発揮されます。
共通項目とは、レポートに含まれる複数のレポートタイプで共有されている項目のことです。例えば、「取引先名」「所有者名」「作成日」などが典型的な共通項目です。レポートを共通項目でグルーピングすると、Salesforce はその項目の値をキーとして、各ブロックのデータを同じ行に揃えて表示します。
例として、「取引先名」を共通項目としてグルーピングした場合を考えてみましょう。レポートの左端に取引先名のリストが表示され、その右側に各ブロックが続きます。各行には、特定の取引先に関連する商談データ(ブロック1)、ケースデータ(ブロック2)、活動データ(ブロック3)が並んで表示されます。これにより、「A株式会社」という一つの取引先に対する多角的な情報を一目で把握できるのです。
共通項目でグルーピングしない場合でも Joined Report を作成することは可能ですが、その場合は各ブロックのデータが独立して表示されるため、横断的な分析という目的は達成しにくくなります。効果的な Joined Reports を作成するためには、分析の軸となる共通項目を特定することが極めて重要です。
作成手順の例
Joined Reports はコードを書くことなく、Salesforce の標準的なレポートビルダーインターフェースを通じて作成できる宣言的な機能です。ここでは、具体的なシナリオとして「主要な取引先ごとに、現在進行中の商談とオープン中のケースを一覧で確認する」レポートを作成する手順を解説します。
ステップ1:レポートの新規作成と形式の変更
- [レポート] タブに移動し、[新規レポート] ボタンをクリックします。
- 最初のブロックの基礎となるレポートタイプを選択します。ここでは「取引先」を選択し、[続行] をクリックします。
- レポートビルダーが開いたら、まずレポート形式を変更します。画面上部の [レポート] の横にあるドロップダウンメニューをクリックし、[結合レポート] を選択して [適用] をクリックします。
これで、レポートが Joined Report 形式に切り替わり、最初のブロック(ブロック1)が作成されます。
ステップ2:ブロックの追加
- アウトラインペインで、[ブロックを追加] ボタンをクリックします。
- レポートタイプの選択画面が表示されるので、2つ目のブロックとして「商談」を選択し、[ブロックを追加] をクリックします。
- 同様の手順で、再度 [ブロックを追加] をクリックし、3つ目のブロックとして「ケース」を選択します。
これで、レポートには「取引先」「商談」「ケース」の3つのブロックが並んで表示されます。
ステップ3:各ブロックの項目と検索条件を設定
次に、各ブロックに必要な情報を表示し、データを絞り込みます。
- 取引先ブロック:
- [アウトライン] タブで、列に「取引先名」「取引先所有者」「種別」などを追加します。
- [検索条件] タブで、年間売上や地域などで必要に応じて取引先を絞り込みます。例えば、「年間売上 が 1,000,000,000 より大きい」など。
- 商談ブロック:
- 列に「商談名」「フェーズ」「金額」「完了予定日」などを追加します。
- [検索条件] タブで、進行中の商談のみに絞り込みます。「フェーズ が 次の文字列と一致しない Closed Won, Closed Lost」「完了予定日 が 当会計年度」などの条件を設定します。
- ケースブロック:
- 列に「ケース番号」「状況」「優先度」「作成日」などを追加します。
- [検索条件] タブで、オープン中のケースのみに絞り込みます。「状況 が 次の文字列と一致しない Closed」などの条件を設定します。
ステップ4:共通項目によるグルーピング
これが最も重要なステップです。3つのブロックを「取引先」で関連付けます。
- [アウトライン] ペインの [行をグループ化] 検索ボックスに「取引先名」と入力し、表示された項目をドラッグ&ドロップします。
この操作により、「取引先名」がレポート全体のグルーピングキーとなり、各取引先の行に、その取引先に関連する商談とケースの情報が並んで表示されるようになります。
ステップ5:レポートの実行と保存
- [実行] ボタンをクリックして、レポートの結果を確認します。意図した通りにデータが表示されているか、グルーピングが正しく機能しているかを確認します。
- 問題がなければ [保存 & 実行] をクリックし、レポート名(例:「主要取引先別 商談・ケース統合ビュー」)と説明を入力し、適切なフォルダに保存します。
以上で、複数のオブジェクトの情報を横断的に分析できる強力な Joined Report が完成しました。
⚠️ この機能は宣言的な(クリック操作による)設定であり、Apex や API を直接使用して Joined Report のロジックを構築する公式にサポートされた方法はありません。レポートの定義は Metadata API を通じて取得・デプロイ可能ですが、そのXML構造は非常に複雑です。
注意事項
Joined Reports は非常に強力ですが、利用にあたってはいくつかの制限事項や注意点を理解しておく必要があります。
機能的な制限
- ブロックの最大数: 1つの Joined Report に含めることができるブロックは最大5つまでです。
- ダッシュボードコンポーネント: Joined Report はダッシュボードに追加できますが、グラフとしてのみ表示可能です。レポートのデータテーブルをそのままダッシュボードに表示することはできません。
- レポート登録(サブスクリプション): Joined Reports はレポートの登録機能に対応しています。定期的にメールで受信することが可能です。
- エクスポート: Joined Reports のエクスポートは可能ですが、[レポートの書式設定] 形式でのエクスポートが主となります。この形式は、見た目を維持したまま Excel などに出力しますが、データ処理には向いていません。[詳細のみ] 形式でのエクスポートも可能ですが、その場合、共通項目と各ブロックの情報を含む特殊な形式のファイルが生成されます。
- レポートのスナップショット: Reporting Snapshots (レポートスナップショット) のソースレポートとして Joined Reports を使用することはできません。
- クロス条件: Joined Reports では、ブロックをまたいだクロス条件(例:「商談がない取引先」など)を設定することはできません。各ブロック内の条件は独立しています。
権限とアクセス
- ユーザー権限: Joined Reports を作成・編集するには、プロファイルまたは権限セットで「レポートの作成とカスタマイズ」および「レポートビルダ」権限が必要です。
- データアクセス: レポートを実行するユーザーは、レポートに含まれるすべてのオブジェクトおよび項目への参照アクセス権を持っている必要があります。また、レポートが保存されているフォルダへのアクセス権も必要です。アクセス権がないオブジェクトのブロックは、そのユーザーには表示されません。
パフォーマンス
- Joined Reports は複数のレポートを同時に実行するのと同等の処理負荷がかかります。特に、多くのブロックを含み、各ブロックが大量のデータを処理する場合、レポートの実行に時間がかかることがあります。
- パフォーマンスを最適化するため、各ブロックで可能な限り具体的な検索条件を設定し、不要なデータを予め除外することが重要です。例えば、「すべての商談」ではなく「今期の進行中商談」に絞り込むなど、対象を明確にしましょう。
まとめとベストプラクティス
Joined Reports は、Salesforce 管理者がビジネスユーザーの複雑な分析ニーズに応えるための強力な武器です。オブジェクトの壁を越えてデータを統合し、これまで見えなかったインサイトを引き出すことができます。この機能を最大限に活用するために、以下のベストプラクティスを推奨します。
1. 明確なビジネス上の問いから始める
「とりあえずデータを結合してみよう」というアプローチではなく、「どの取引先が、大きな商談を抱えつつも、深刻なサポート問題を抱えているか?」といった、具体的で明確なビジネス上の問いを最初に設定しましょう。目的が明確であれば、必要なブロック、項目、検索条件、そして最も重要な共通項目を迷わずに選択できます。
2. 共通項目を賢く選択する
レポートのグルーピングは Joined Reports の心臓部です。「取引先 ID」や「所有者 ID」のような一意のID項目を共通項目として使用すると、最も正確なデータマッチングが保証されます。テキストベースの項目(例:「取引先名」)も使用できますが、同名企業などがある場合は意図しないグルーピングが発生する可能性に注意が必要です。
3. シンプルさを心がける
最大5つのブロックを追加できますが、必ずしもすべてを使う必要はありません。まずは2〜3のブロックで問いに答えられないか検討し、必要に応じてブロックを追加していくアプローチが効果的です。レポートが複雑になりすぎると、解釈が難しくなり、パフォーマンスも低下します。
4. 分かりやすい名前を付ける
レポート自体はもちろんのこと、各ブロックにもデフォルトの「新規レポートタイプ」ではなく、内容がわかる名前(例:「進行中商談」「オープンケース」)を付けましょう。これにより、レポートを閲覧する他のユーザーが、各ブロックが何を表しているのかを直感的に理解できるようになります。
5. ユーザーへのトレーニングを実施する
Joined Reports の横並びのレイアウトは、初めて見るユーザーには少し戸惑うかもしれません。管理者として、このレポートの見方や、データがどのように関連付けられているのかをユーザーに説明する簡単なトレーニングセッションを実施することが、レポートの活用を促進する上で非常に有効です。
これらのベストプラクティスを実践することで、Salesforce 管理者は Joined Reports を駆使して、単なるデータの集合体ではない、行動につながる価値あるインサイトを組織に提供することができるでしょう。
コメント
コメントを投稿