公開されたレポートに予期されるすべてのデータが表示されないIssue レポートの公開は、レポートの派生元のデータを含むソースインスタンスのアカウントを持たないユーザーを含め、他のユーザーとレポートを共有する便利な方法です。ただし、こうした外部ユーザーに対して表示される最終レポートが、内部ユーザーに対して表示されるのと必ずしも同じではないことがあります。この KB 記事では、表示される最終レポートにおけるこれらの不一致の一般的な原因のいくつかについて説明します。Causeしたがって、公開されたレポートの使用における問題やデータの不一致の最も一般的な原因のいくつかと、可能な修正方法について説明します。 リストレポートに表示される行数が期待より少ない パブリッシュされたレポートで報告される一般的な問題の 1 つは、リストタイプのレポートでは、通常予想されるよりも、ログインしていないユーザーのレポートの公開バージョンに表示される行が少ないことです。ログインしたユーザーのリスト レポートには 100 行が表示されますが、ログインしていないときにレポート URL を表示すると、同じユーザーが表示する行の数が少ないか、まったく表示されない場合があります。1 つ以上の行がレポートから削除された場合は、通常、セキュリティ上の制約によってリストから削除されたグループの数を示すメッセージも表示されます。 たとえば、ログインしたユーザーがアクティブなプリンターのリストレポートを表示しているときに、レポートの次のビューが表示される場合があります。 ただし、この同じユーザー (または別のユーザー) が、インスタンスにログインしていないときに、公開されたレポートのパブリック URL を使用して同じレポートを表示しようとすると、次のように表示されることがあります。 この問題の原因は、リストタイプのレポートでは、各行がレポートのテーブルソースで定義されている読み取り アクセス制御 (ACL) レコードと比較されるためです。パブリックな匿名ユーザーが "ゲスト" ユーザーとしてログインしていると見なされることを理解した上で、ACL は、これらのログインしていないユーザーについて、そのゲスト ユーザーのコンテキストで参照されます。 したがって、このリストレポートの例では、レポートに表示されるリスト行ごとに次の ACL が考慮されます。 この問題を修正するには、リストレポートに表示されるレコードへの「ゲスト」アカウントアクセスを提供する新しい ACL を作成 (または既存の ACL レコードを更新) する必要があります。ゲストアカウントは、インスタンスで見つかった「公開」ロールと一致します。もちろん、いつものように、他のユーザーと共有してはいけない情報をリスト レポートに表示しないように注意する必要があります。新しい ACL レコードを変更または作成するには、security_admin に昇格されたアドミンアカウントが必要です。 不完全なデータを示すグラフレポート 公開されたレポートで報告されるもう 1 つのかなり一般的な問題は、インスタンスにログインして同じレポートを表示している実際のユーザーと比較して、グラフィカルタイプのレポート (リストタイプ以外のレポート) で不完全なデータセットが表示される場合があることです。 この問題は、レポートが生成されて閲覧者に表示される前に、ソーステーブルのデータに対してクエリ前 ビジネスルール が実行されることが原因です。したがって、そのような適用可能なビジネスルールがソーステーブルで見つかり、権限または同様の基準に基づいてデータを制限した場合、その基準を満たさないレコードはレポートに含めるとは見なされません。したがって、匿名のログインしていないユーザーの場合、これらのルールはグループまたはロールを持たないユーザーのコンテキストで実行され、このように評価されます。その結果、「ゲスト」または匿名ユーザーには、レポートに表示される元のデータの小さなサブセットが表示される可能性があります。 たとえば、インスタンスに次のようなレポート「All Incidents by Category」があるとします。 次に、レポートを公開し、そのURLを外部の閲覧者に配布します。ただし、レポートを表示すると、これらの外部ビューアーは、同じレポートの縮小バージョンを見たと説明しています。 調査の結果、このレポートのソーステーブルであるインシデントには、最終レポートがエンドユーザーに表示される前にレポートデータで実行されるクエリ前ビジネスルールが関連付けられていることがわかりました。 したがって、この例では、標準提供のクエリ前ビジネスルールには、現在のユーザーが (ウォッチリストに含まれているレコードのどちらかである) レコードのオープナーであったか、レコードの [Caller] フィールドのユーザーであるデータのみが含まれることがわかります。匿名公開ユーザーはシステムによって「ゲスト」ユーザーと見なされるため、そのユーザーのビジネスルールは、「guest」がウォッチリストにあり、「guest」が発信者であるか、「guest」がオープン者フィールドにあるレコードのみを返します。このレポートで考慮される実際のデータを確認すると、ゲストユーザーの要件を満たすレコードが 1 つだけ存在するため、レポートの公開バージョンに表示されることがわかります。 この問題を修正するには、データの収集元であるテーブルに適用可能なクエリ前ビジネスルールを変更して、これらの「ゲスト」ユーザーにアクセスを許可する (またはすべてのユーザーにアクセスを許可する) 必要があります。ビジネスルールが「公開」ロールのユーザーに適用されないように条件を調整する、ビジネスルールを非アクティブ化する、またはスクリプトを変更してこれらのレコードへのアクセスを制限しないようにするなど、さまざまな方法があります。 また、この特定の問題はグラフタイプのレポートで説明されていますが、これらの同じビジネスルールはリストレポートで返される行にも適用されることに注意してください。ただし、これらの行は、通常、ビジネスルールよりも制限の厳しい ACL によって制限されることが多いため、通常、これらのレポートタイプではこの問題は発生しません。Related Links公開されたレポートの使用に関して留意すべき重要な点がいくつかあります。 レポートが非公開になると、以前のパブリック URL は無効になり、その URL に (ログインしているかどうかにかかわらず) アクセスすると ページが見つかりません というメッセージが表示されます。 ユーザーが別のブラウザウィンドウでまだインスタンスにログインしている場合は、ほとんどの場合、ゲストユーザーまたはパブリックユーザー以外のログインユーザーに従ってレポートが表示されます。したがって、レポート作成者は、テスト目的で、URL にアクセスする前にインスタンスからログアウトして、レポートを表示しているログインしていないユーザーに表示される内容を決定する必要があります。 既存のレポートが公開されているかどうかを確認する方法 特定のレポートが実際に公開されているかどうかを判断すると役立つ場合があります。これを行うには、次のようないくつかの方法があります。 1 つの方法は、[レポート - > 表示/実行] を参照し、レポートが含まれている可能性のある適切なタブ ([マイ レポート]、[グループ]、[グローバル]、または [すべて]) をクリックすることです。リストでレポートを見つけます。現在公開されているレポートでは、[公開済み] 列にチェックマークが付いた青い円が表示されます。公開されていないものには、そのような区別はありません。 または、レポートがレポートレコード自体から公開されているかどうかをすばやく判断することもできます。レポート自体のレコードにアクセスし、表示または編集するレポートを開きます。 現在公開されているレポートでは、レポートの上部メニューバーに「リンク」アイコンが表示されます。 レポートが公開されているかどうかを判断する別の方法として、レポートを表示または編集するために開き、[共有] アイコンをクリックします。現在公開されているレポートには [非公開] というタイトルのオプションが含まれ、現在未公開のレポートには [公開] というタイトルのオプションが含まれます。これらのオプションを表示するには、ユーザーがそのレポートに対する適切な権限を持っている必要があることに注意してください。 公開されたレポートの URL を決定する方法 レポートが公開されたら、そのレポートの一意の URL を取得して、パブリック ユーザーに配布して表示できるようにする必要があります。URL は、公開されたレポートを開いて編集または表示することで簡単に取得できます。レポートレコードに対応するレコードが画面に表示されたら、レポートツールバーの「リンク」アイコンをクリックする必要があります。これにより、完全なレポート URL がローカル コンピューターのクリップボードにコピーされます。URL がコンピューターのローカル メモリにコピーされたことを示す簡単なメッセージも表示されます。 この URL は、パブリック インターネットにアクセスできる個人を含むエンド ユーザーに電子メールで送信したり、その他の方法で配布したりできます。 このようにして生成される URL の形式は次のとおりです。 https://<instance_name>.service-now.com/sys_report_display.do?sysparm_report_id=<sys_id> ここで、<instance_name>はレポートの生成元のインスタンスの特定の名前で、<sys_id>はそのインスタンスで見つかったそのレポートレコードの一意のシステム ID です。 レポートが公開されている間は、その URL を参照するすべてのユーザーは、レポートを確認できます。 役立つリンク : 次の記事では、新しいレポート デザイナー ユーザー インターフェイスを使用して、現在未公開のレポートを公開したり、以前に公開したレポートをインスタンスから非公開にしたりする手順について説明します。 KB0727099 - レポートを公開または非公開にする方法 (レポート デザイナ インターフェイス) 別の記事では、Report Builder インターフェイスを使用してレポートを公開または非公開にするプロセスについて説明しています。 KB0728025 - レポートを公開または非公開にする方法 (レポート ビルダー インターフェイス)