質問

私はSSRS 2008で、人に関する他のレポートを共同で作成する「マスター」レポートを作成しています。他のすべてのレポートが関連しているとは限らないため、何も返されない場合があります。これをマスターレポートから除外して、空白のページが残らないようにしたいと思います。

「no-rows-message」機能は知っていますが、「この人には適用できません」という単純なページ全体が表示されます。最適なソリューションとは言えません!

本質的に、サブレポートが「空」であるかどうかを判断し、それを可視性式で使用する方法を探しています。

どんなヘルプも大歓迎です

役に立ちましたか?

解決

OK、だから今私はこれを考え出した。答えは、サブレポートを長方形に配置することです。次に、四角形の可視性を次のように設定します。

=IIF(First(Fields![SOMEFEILD].Value, "[SOMEDATASET]") IS NOTHING, TRUE, FALSE)

[SOMEDATASET] は、サブレポートを作成するデータセットと同じ方法で作成されたデータセットです。サブレポートが空の場合、 [SOMEDATASET] も空になり、さらに重要なことに、フィールド [SOMEFEILD] NOTHING

バダビン!紙を無駄にする空のページで散らかっていないレポート。

注:このアプローチには1つの悪い副作用があります。SQLサーバーは同じ情報を2回送信します。1回はサブレポートのデータセットを作成し、もう1回はレポート内の重複データセットを作成します。私にとっては、これは受け入れられますが、他の人はこれを認識したいかもしれません。

他のヒント

このソリューションは期待どおりに機能し、サブリポジトリへのハイパーリンクが削除されました。 «アクション»内サブレポート名を指定するセクションのメニュー:

=iif(fields!SomfieldName.Value <> Nothing, "YourSubReportName",Nothing)

シンプルで簡単なソリューション!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top