4

メイン レポートに渡されるパラメータに基づいてサブレポートを非表示/表示したいという問題があります。

サブレポートを非表示/表示する式を使用して非表示のプロパティを設定できますが、SQL プロファイラーを使用して見つけたのは、サブレポートが非表示になっていても、サブレポートのストアド プロシージャがまだ実行されていることです。

ストアドプロシージャ自体を変更する以外に、これを回避する方法を知っている人はいますか? そうでない場合、サブレポートが非表示になっているにもかかわらず、ストアド プロシージャが実行される理由を知っている人はいますか?

4

3 に答える 3

8

SSRS の非表示のレポート要素は引き続き処理されます。非表示のプロパティは、それらが出力に表示されるかどうかを決定するだけです。

プロシージャが条件付きでのみ実行されるようにする 1 つの方法は、データセット内のストアド プロシージャの名前を次のような式に変更することです。

=iif(Parameters!RunMyDataset.Value="Y","sp_MyDataSet","sp_Dummy")

- ここで、sp_Dummy は最小限の処理を実行するストアド プロシージャです (例: SELECT NULL)。

于 2012-04-14T08:43:09.420 に答える
0
  1. メイン レポートのサブ レポート オブジェクトを右クリックし、[サブレポートの書式設定] を選択します。これにより、フォーマット エディターが開きます。

  2. フォーマット エディタで [サブレポート] タブを選択します。

  3. 「空白のサブレポートを抑制する」チェックボックスにチェックマークを付けます。

于 2015-10-19T06:32:14.890 に答える