まったく理解できない奇妙な動作が見られます。多数のパラメーターを含むレポートがありますが、カスケードしているものはありません。いくつかのパラメーターは複数選択できるように設定されており、ストアド プロシージャを使用したデータ セットから使用可能な値または既定値が取得されます。
レポートを読み込むと、すべてのデータ セットが実行されます。ただし、日付パラメーターの日付などのパラメーター値を変更すると、すべてのデータ セットが再度実行されます。どうしてこれなの?
状況を悪化させているのは、各パラメーター (Param1、Param1_Internal、Param2、Param2_Internal など) の 2 つのコピーがあることです。レポートで使用している式のように設定して、ユーザーが複数選択パラメーターに「すべて選択」を選択したかどうかを判断します。たとえば、Param1 と Param1_Internal をデータ セット 1 から設定し、Param2 と Param2_Internal をデータ セット 2 から設定します。無関係なパラメータを変更すると、データ セット 1 が 2 回実行され、次にデータ セット 2 が 2 回実行されます。
提案:
- 1 つのデータ セットが 2 つのパラメーターの使用可能な値をフィードする場合でも、これらのデータ セットをそれぞれ 1 回実行しますか?
- 関連のないパラメータを変更するたびに、データ セットの実行を停止しますか?
現在、SQL Server 2016 を使用しています。
ありがとう
編集
それで、私は私の質問の一部に対する答えを見つけました。場合によっては、ストアド プロシージャを呼び出すデータ セットのパラメータ値として式を使用しています。これを行うと、パラメーター値を変更するたびに SSRS がそのデータ セットを実行するように見えます。デフォルト/利用可能な値に使用する2つのパラメーターがある状況で、データセットを1回実行する方法について誰かがアドバイスをくれることを願っています。