SSRS 2008で空のサブレポートを抑制する方法
-
06-07-2019 - |
質問
私は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)
シンプルで簡単なソリューション!