1

SQL Server レポート サービスを使用するのは初めてです。開始日と終了日の 2 つの日付型パラメーターがあります。これら 2 つのパラメーターに対応するデータセットを入力すると、レポートを正しく実行できます。

しかし、ユーザーが開始日のみを入力した場合、その日以降のレポートを表示したいと考えています。たとえば、ユーザーが開始日のみを入力した場合、クエリはそのようなものになります

WHERE StartDate >= @StartDate

または、ユーザーが EndDate フィールドのみを入力した場合、クエリはそのようなものになります

WHERE EndDate <= @EndDate.

次の 2 つの質問があります。

1) ユーザーが SSRS を使用して選択した内容に応じて、異なるデータセットを使用できますか? たとえば、ユーザーが何も選択しない場合、別のクエリを実行したいと思います。

2)そうであれば、どうすればそれを処理できますか?フィルタ パラメータは必須フィールドであり、常に警告メッセージが表示されるためです。

アドバイスをいただければ幸いです。ありがとうございました。

4

1 に答える 1

2

私が物事を正しく理解していれば、あなたの問題に対するより簡単な解決策があるようです。パラメータがオプションであることを示しているようです。その場合は、パラメータにNull 値を許可WHEREするだけで、句を次のように書き換えます。

WHERE (@StartDate IS NULL OR StartDate >= @StartDate)
AND   (@EndDate   IS NULL OR EndDate   <= @EndDate)

いずれにせよ、選択したパラメーターに基づいて「データセットを実行しない」ことはできません (通常は必要ありません)。そのようなものが必要な場合は、おそらくサブレポートが最適です。ただし、あなたの質問に基づいて、より簡単な解決策が利用できると思います。

于 2013-05-08T09:45:30.163 に答える