3

意図的に何も表示しない「親」レポートがありますが、請求対象のジョブ番号のデータセットを照会しています。次に、この親レポートはそれらのジョブをループし、それらを1つから2つのサブレポートに渡します。最初のサブレポートは、渡されたジョブに対して請求される内容の要約です。2番目のサブレポートは、そのジョブの請求書、従業員、時間、料金などのすべての詳細の内訳です。

親からサブレポートに提出されるジョブは約400あります。要約レポートは、それらすべてに対して美しく印刷されます。詳細サブレポートは、約90〜95%のケースでこれを行いますが、一部のジョブでは空白であり、サブレポートを表示できないというエラーメッセージが表示されます。

これを調査する場合、最も一般的な応答は、パラメーターの受け渡し方法に問題があるというものです。特に、400のジョブのうち約380以上が詳細を美しく表示していることを考えると、ここではそうではないようです。そこで、そのサブレポートに対して特定のクエリを実行して、問題のあるジョブの1つについて実際にデータを取得したかどうかを確認しました。はい、何百行ものデータがあるので、データはそこにあり、単一のパラメーターが渡されています。

他に何がこのエラーを引き起こす可能性がありますか?

レポートはエラーを過ぎても続くので、それは良いことですが、これらの詳細シートも表示する必要があります。

4

2 に答える 2

3

この種の問題をデバッグするために、私は次のアプローチを取ります。

  1. それが特定のデータセットであるかどうかを調べます。IEは、特定のジョブ番号のセットです。これを行うには、クエリを何らかの方法(パラメーター、ハードコードなど)で制限します。
  2. データに関連している場合は、問題の原因となっている実際のデータが見つかるまで絞り込みます
  3. データに関連していない場合は、レンダリングテクノロジを1つずつ絞り込みます。

    • まず、別のブラウザを使用します
    • 次に、別のレポートサーバーを試します
    • 最後に、さまざまなレポートビューア(SharePointネイティブ、ダイレクト、ビジュアルスタジオなど)。

通常、次のデータストリームのレンダリングをスローするのは、マイナーなデータ変換の問題であることがわかります。

レポートシステムのバグも軽視しないでください。私の意見では、レガシーテクノロジーを使用しています。

注意:サブレポートがそれ自体でレンダリングされるからといって、それがマスターレポートと連携して機能するという意味ではありません。さまざまな部分が相互作用する方法も重要です。

于 2013-02-01T19:47:09.123 に答える
0

この問題は解決されました。これはかなり奇妙な状況のように見えますが、似たようなことを経験している可能性のある人のために、ここに私の決議を投稿します。この問題は、テーブルのさまざまな要素に適用されるHiddenプロパティに関連していました。

当社では、ジョブのグループがプログラムに割り当てられています。これらのプログラムの1つのプログラムマネージャーは、プログラム内の「サブジョブ」ごとにグループ化された収益の小計を確認したいと考えています。他の誰もこれを見ることを気にしません。私の解決策は、レポートされているプログラムである場合にのみ、可視性プロパティがtrueに設定されたフィールドを(問題のあるテーブルの)レポートに作成することでした。

これらのレポートのグループ化は、Program / Job/SubJobです。IIFステートメントを使用して、テーブル内のさまざまなフィールドに非表示のプロパティを適用していました。彼のプログラムの場合はデータを表示し、そうでない場合は表示しないでください。結局のところ、SSRS 2005の何かは、これらの非表示フィールドが原因で競合していましたが、特定のジョブでのみ発生しました。この競合により、これらのジョブが実行されたときに「オブジェクトが見つかりません」という例外がスローされていました。競合が何であったか、なぜそれが常に表示されなかったのかはまだわかりません。レポートの約95%が正常に印刷されました。

解決策は、すべての非表示の値をテーブルの1つの列に移動し、非表示のプロパティをその列にのみ適用することでした。したがって、列全体が必要に応じて非表示になり、列内のすべてが列自体の非表示のプロパティに従います。

于 2013-02-05T15:33:17.500 に答える