ADVERTISEMENT

【Salesforce】レポートタイプが想定と違う時の管理者が見るべき原因

【Salesforce】レポートタイプが想定と違う時の管理者が見るべき原因
🛡️ 超解決

Salesforceでレポートを作成したとき、表示されるデータの範囲や項目が想定と異なるという経験は管理者にとって珍しくありません。レポートタイプの設計が正しくても、アクセス権限やオブジェクト間のリレーション設定によって結果が変わることがあります。特に会社全体で利用するレポートでは、一部のユーザーだけが異なる結果を見ているケースも発生します。本記事では、レポートタイプが想定通りに動作しない原因を管理者が体系的に切り分ける方法を解説します。システム設定を変更する前に確認すべきポイントを整理しました。

【要点】この記事で確認すること

  • 最初に見る場所: レポートタイプの定義詳細画面。オブジェクトとリレーションの一覧、標準項目とカスタム項目の有無を確認します。
  • 切り分けの軸: ①データ参照権限(プロファイル/権限セット) ②オブジェクト間のリレーション設定(参照関係の種類) ③フィールドレベルセキュリティ(項目の可視性) ④共有設定(組織の既定やロール階層)。この4つを段階的に検証します。
  • 注意点: レポートタイプそのものを編集すると既存のレポートに影響します。最初は原因特定のために新しいレポートタイプを複製してテストしてください。共有設定の変更は全ユーザーに影響するため、事前に影響範囲を確認しましょう。

ADVERTISEMENT

目次

1. レポートタイプの基本設定を再確認する

レポートタイプが想定と異なる場合、最初に行うべきはレポートタイプの定義そのものの確認です。設定画面で主オブジェクトと関連オブジェクト、およびリレーションの種類を精査します。

1-1. 主オブジェクトと関連オブジェクトの設定

レポートタイプは必ず「主オブジェクト」を1つ持ち、それに「関連オブジェクト」を追加します。主オブジェクトのデータがレポートの基点となり、関連オブジェクトのデータは「結合(内部結合)」または「外部参照(左外部結合)」として結合されます。レポート実行時に、主オブジェクトのレコードが存在しない関連オブジェクトのデータは表示されないことがあります。想定と違う場合は、まず主オブジェクトと関連オブジェクトの選択が正しいかどうかを確認してください。例えば、取引先責任者を主オブジェクトにすべきところを取引先にしていると、責任者を持たない取引先が大量に出力されてしまいます。

1-2. リレーションの種類と方向

関連オブジェクトごとに「すべてのレコードを含める」か「条件を満たすレコードのみを含める」かを選択できます。この設定が適切でないとデータが不足したり過剰になったりします。例えば、「商談」に紐づく「商談品目」を外部参照にすると、商談品目がない商談もレポートに含まれます。逆に結合にすると品目がない商談は除外されます。管理者は、レポートタイプの編集画面で各関連オブジェクトの結合アイコンを確認し、必要に応じてテストレポートで結果を検証します。

2. データ参照権限と可視性を確認する

レポートタイプ自体が正しくても、ユーザーがデータを見る権限が不足していると想定とは異なる結果になります。特にカスタムオブジェクトや外部オブジェクトでは権限設定を見落としがちです。

2-1. プロファイルと権限セットの確認

レポートに表示される各オブジェクトに対して、ユーザーのプロファイルまたは権限セットで「参照」権限が付与されている必要があります。権限がない場合、そのオブジェクトのデータはレポートから完全に欠落します。管理者は、対象ユーザーの権限を「プロファイル」画面から確認し、不足があれば権限セットで追加します。特に、レポートタイプに追加したカスタムオブジェクトの権限が全ユーザーに付与されているかをチェックしてください。

2-2. フィールドレベルセキュリティの影響

オブジェクトへの参照権限があっても、特定のフィールドがフィールドレベルセキュリティで非表示になっている場合、レポートの列としてそのフィールドを追加できません。例えば「年間売上」というカスタム項目が「システム管理者のみ表示可能」になっていると、一般ユーザーはレポートでそのフィールドを使用できません。レポートタイプに含まれている項目のうち、ユーザーが実際に参照できるかどうかを確認するには、レポートエディタで「項目の追加」を開き、表示されない項目がないか確認します。管理者は該当フィールドのフィールドレベルセキュリティ設定を編集して可視性を調整できます。

2-3. 共有設定とレポート結果

同じレポートタイプでも、ユーザーがアクセスできるレコードの範囲が異なる場合があります。組織の共有設定で「公開読み取り」など一部のレコードしか見えない設定になっていると、レポートに表示されるレコード数が想定より少なくなります。特にロール階層やチーム共有を利用している場合、上位ロールのユーザーは多くのレコードを見られますが、下位ロールのユーザーは制限を受けます。管理者は、組織の共有設定の既定値と、特定のレコードに対する手動共有の有無を確認します。レポートの「フィルタ」条件で「自分のレコードのみ」などが設定されていないかも合わせてチェックしましょう。

3. カスタムオブジェクトのリレーション設定を検証する

標準オブジェクトだけでなく、カスタムオブジェクトが含まれるレポートタイプでは、オブジェクト間のリレーション(参照関係)が正しく設定されていることが重要です。間違ったリレーションを使うとデータが正しく結合されません。

3-1. 参照関係フィールドの確認

カスタムオブジェクト間のリレーションは、参照関係(ルックアップ)フィールドや主従関係(マスター詳細)フィールドで定義されます。レポートタイプ作成時、関連オブジェクトとして追加できるのは、主オブジェクトに対して直接または間接のリレーションパスが存在するオブジェクトのみです。想定したオブジェクトがレポートタイプに追加できない場合、リレーションパスが不足している可能性があります。管理者は、カスタムオブジェクトの「項目」一覧から参照関係フィールドが正しいオブジェクトを指しているか確認します。必要に応じて新しい参照関係フィールドを作成し、リレーションパスを追加します。

3-2. 間接リレーションと外部オブジェクト

外部オブジェクト(外部データソースに接続)を使用している場合、レポートタイプで外部オブジェクトを直接主オブジェクトにできないことがあります。また、間接リレーション(カスタムメタデータを使った紐づけ)では、レポートタイプに正しく表示されないケースがあります。このような場合は、まず外部オブジェクトの同期状態を確認し、外部データソースの接続が正常であることを検証します。間接リレーションについては、カスタムメタデータの値が正しく設定されているか、および参照関係フィールドが適切に外部IDを参照しているかを確認します。

4. レポートタイプのバージョンとカスタマイズ履歴を確認する

レポートタイプは時間とともに改変されることがあります。以前は正常だったレポートタイプが突然想定と違う振る舞いをする場合、誰かが設定を変更した可能性があります。

4-1. レポートタイプの変更履歴を追跡する

Salesforceの設定画面で「レポートタイプ」を開き、該当のレポートタイプの詳細ページに移動します。画面上部の「変更履歴」セクション(または監査トレイル)から、誰がいつ何を変更したかを確認できます。特に、オブジェクトの追加・削除やリレーションの変更が行われていないかをチェックします。また、レポートタイプが「無効化」されていないかも確認します。無効化されているレポートタイプは新規レポートで選択できませんが、既存のレポートは引き続き実行できる場合があります。

4-2. 開発者コンソールでの詳細調査

より詳細な情報が必要な場合は、開発者コンソールの「クエリエディタ」を使用して、レポートタイプに関するメタデータを直接SOQLで取得できます。例えば「SELECT Id, DeveloperName, SobjectType, IsCustomizable FROM ReportType」のようなクエリを実行し、カスタム項目が有効かなどを確認します。ただし、この方法は高度なテクニックであり、通常は設定画面の操作で十分です。管理者が違和感を感じた場合の最終確認手段として覚えておきましょう。

5. よくある原因と症状の比較表

以下の表は、レポートタイプが想定と違う場合の典型的な原因とその症状をまとめたものです。トラブルシューティングの際に参考にしてください。

原因 症状 確認すべき設定
主オブジェクトの選択ミス 表示されるレコード数が極端に多い、または少ない レポートタイプの主オブジェクト設定
関連オブジェクトの結合タイプ誤り 一部のデータが表示されない、重複して表示される 関連オブジェクトの「すべてのレコードを含める」チェック
プロファイル権限の不足 特定ユーザーのみレポートにデータが表示されない 対象オブジェクトの「参照」権限
フィールドレベルセキュリティ レポートの列として使用したい項目が表示されない 該当フィールドのフィールドレベルセキュリティ
共有設定の制限 ユーザーごとに表示レコード数が異なる 組織の共有設定、ロール階層
カスタムオブジェクトのリレーション不足 レポートタイプに関連オブジェクトを追加できない オブジェクト間の参照関係フィールドの有無
レポートタイプの無効化や変更 突然レポートがエラーになる、またはデータが変わった レポートタイプの変更履歴、有効/無効フラグ

6. トラブルシューティングの実践手順

原因を特定するための具体的な作業手順を説明します。以下の順序で進めることで、効率よく問題を特定できます。

  1. 手順1:レポートタイプの定義を確認する。 設定>レポートタイプ>該当レポートタイプ>編集 で、主オブジェクトと関連オブジェクトの一覧、および各リレーションの種類を書き出します。スプレッドシートに記録しておくと後で比較しやすくなります。
  2. 手順2:テストユーザーでレポートを実行する。 問題が発生しているユーザーと同じ権限を持つテストユーザーを作成し、実際にレポートを開きます。表示されるレコード数と項目を、システム管理者として実行した結果と比較します。
  3. 手順3:権限と共有設定を検証する。 テストユーザーのプロファイルと権限セットで、レポートタイプに含まれる全オブジェクトの「参照」権限があるか確認します。次に、フィールドレベルセキュリティで、レポートに表示されない項目がないか個別にチェックします。
  4. 手順4:レコードアクセスを確認する。 組織の共有設定を開き、各オブジェクトの既定のアクセスレベルを確認します。ロール階層が有効な場合、テストユーザーのロールが原因でアクセスできないレコードがないか検証します。
  5. 手順5:リレーションのデータを実際に照会する。 開発者コンソールでSOQLを使って、主オブジェクトと関連オブジェクトの結合結果を直接確認します。例えば「SELECT Id, (SELECT Id FROM Related_Object__r) FROM Main_Object__c」のようなクエリを実行し、期待通りのリレーションが返るか確認します。
  6. 手順6:レポートタイプの複製でテストする。 既存のレポートタイプを複製し、設定を一部変更したバージョンで同じレポートを作成して比較します。これにより、元のレポートタイプの問題か、レポート自体のフィルタなどの問題かを切り分けられます。

7. 管理者が注意すべき失敗パターン

多くの管理者が陥りがちな失敗パターンとその回避策を紹介します。これらを事前に把握しておくことで、無駄な作業を減らせます。

7-1. 権限確認を軽視する

レポートタイプそのものの設定ばかりに注目し、ユーザー権限の確認を後回しにしてしまうケースがよく見られます。特にカスタムオブジェクトはプロファイルで明示的に権限を付与しないと、管理者以外のユーザーは全くデータを参照できません。権限セットを使って段階的に権限を付与することをおすすめします。

7-2. 「すべてのレコードを含める」の誤解

関連オブジェクトの「すべてのレコードを含める」にチェックを入れると、関連レコードを持たない主レコードも含まれるという意味ですが、この動作を誤解して「関連オブジェクトのすべてのレコードが表示される」と思っている管理者がいます。実際は主オブジェクトのレコードがベースで、関連オブジェクトのデータはマッチするものだけが表示される(左外部結合)という点に注意が必要です。

7-3. 共有設定の変更による影響を見落とす

組織の共有設定を「公開/非公開」に変更すると、全てのレポートに影響します。部分的な変更(特定のレコードタイプや権限セット)であれば影響範囲を限定できますが、全体的な変更は慎重に行う必要があります。変更前には必ず影響分析レポートを実行して、どのレコードがどのユーザーに見えなくなるかを事前に把握しましょう。

8. よくある質問(FAQ)

以下は、レポートタイプに関する管理者からのよくある質問とその回答です。

Q1. レポートタイプを編集したら、既存のレポートはどうなりますか?

A. レポートタイプの定義を変更すると、そのレポートタイプを使用しているすべてのレポートに影響します。例えば、関連オブジェクトを削除すると、そのオブジェクトの項目を使用していたレポートではエラーが発生します。変更前に、レポートタイプが使用されているレポートの一覧を確認してください(設定>レポートタイプ>該当レポートタイプ>「使用されているレポート」セクション)。

Q3. 特定のユーザーだけレポートにデータが表示されません。原因は何ですか?

A. 多くの場合、権限または共有設定が原因です。まず、そのユーザーがレポートタイプに含まれるすべてのオブジェクトに対して参照権限を持っているか確認します。次に、組織の共有設定で、そのユーザーが必要なレコードにアクセスできるかを検証します。ロール階層が適切に設定されていないと、上位ロールのレコードが見えないことがあります。

Q2. レポートタイプの「関連オブジェクト」として表示されないオブジェクトがあるのはなぜですか?

A. レポートタイプに追加できる関連オブジェクトは、主オブジェクトに対して参照関係または主従関係で直接または間接的に紐づいているものに限られます。もし追加したいオブジェクトがリストに表示されない場合、まずそのオブジェクト間に適切なリレーションフィールドが存在するか確認してください。また、外部オブジェクトの場合は、リレーションが定義されていてもレポートタイプで使用できない場合があります。この場合は、カスタム計算項目や間接リレーションの代替手段を検討します。

Q4. レポートタイプの変更履歴が表示されないのはなぜですか?

A. 変更履歴は、レポートタイプの詳細ページにある「変更履歴」関連リストで確認できます。表示されない場合は、ユーザーのプロファイルで「監査履歴の表示」権限が有効になっているか確認してください。また、組織の監査設定が有効である必要があります。設定>監査設定から変更履歴が有効かどうかを確認できます。

9. まとめ

レポートタイプが想定と異なる場合、まずレポートタイプの定義自体を再確認し、その後データ参照権限、フィールド可視性、共有設定、オブジェクトリレーションの順に原因を絞り込んでください。特にカスタムオブジェクトを含むレポートでは、権限とリレーションの設定漏れが頻発します。変更履歴を活用することで、意図しない設定変更を早期に発見できます。適切な手順で切り分ければ、多くの問題は30分以内に原因を特定できるはずです。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT