2 つのデータセットを作成しました。
Dataset1 (ストアド プロシージャから):
CREATE PROCEDURE [dbo].[usp_GetPerson](
@Category varchar(20))
AS
BEGIN
SELECT FirstName, LastName, Category
FROM tblPerson
WHERE (Category IN (@Category))
END
データセット 2:
SELECT DISTINCT Category
FROM tblPerson
SSRS では、パラメーターを編集して複数の値を許可し、Dataset2 から使用可能な値を取得しました。
Dataset1 のみに基づいてフィルタリングを試みましたが、反復的なすべての入力を受け取ります (これが、データセット 2 の使用を選択した理由です)。
ストアド プロシージャを使用すると、複数の値を選択できないようです。単一の値しか選択できません。それ以外の場合、レポートは空白になります。
そのため、Dataset1 を再作成しましたが、ストアド プロシージャは使用しませんでした。代わりに、テキスト エディターで SQL ステートメントを記述しただけで、複数の値を問題なく選択できます。
なぜこれが起こるのか知っていて、これを修正するのを手伝ってくれる人はいますか?
注: SQL ステートメントがより複雑になり、複数のデータベースに参加する場合に備えて、ストアド プロシージャを使用しています。SSRS でこれを実行しようとしましたが、ストアド プロシージャを使用するとはるかに高速でした。
ありがとうございました!