私はこの SSRS レポートに取り組んでいます。ユーザーは、期間、学生のステータス、入学オファーの 3 つのパラメーターを持つレポートを作成するように求めています。
説明: 以下の個別の入学オファーがあります:
辞退-プログラム費用 辞退-その他 辞退-スケジュール/タイミング 受け入れ 辞退-別の学校への入学 辞退-プログラムの適合性/教育上の必要性 延期 辞退-財政支援
学生/入学者がオファーに返信すると、それはその他のテーブルに取り込まれます。ただし、応答が取得されない場合、レコードは作成されません。
ユーザーは、オファーにまだ返信していない学生も含めるように求めています。このように簡単に考えて、これが私がやったことです:
ユーザーが要求した 3 つのパラメーターを持つストアド プロシージャを作成しました。-- このストアド プロシージャでは、パラメータに複数の値を許可するために、次の関数を使用しました。
CREATE FUNCTION CSVToVarChar (
@List VARCHAR(8000),
@Delimiter CHAR(1) = ','
)
RETURNS TABLE
AS
RETURN SELECT CAST(SUBSTRING(@Delimiter + ISNULL(@List,'') + @Delimiter, Number + 1, CHARINDEX(@Delimiter, @Delimiter + ISNULL(@List,'') + @Delimiter, Number + 1) - Number - 1) AS VARCHAR(8000)) AS String
FROM dbo.fff_Number WITH(NOLOCK)
WHERE SUBSTRING( @Delimiter + ISNULL(@List,'') + @Delimiter, Number, 1 ) = @Delimiter
AND Number < LEN( @Delimiter + ISNULL(@List,'') + @Delimiter )
この関数は、sp の where 句で次のように使用されました。
AdmissionOffer IN (SELECT string
FROM
dbo.CSVToVarChar(@AdmissionOffer, ','))
次に、レポートの作成を開始しました。レポートでは、次のクエリを使用して Admissionoffer パラメーターのデータセットを作成し、パラメーター値を取得しました。
SELECT distinct ISNULL(attributevalue, 'No Response') as AdmissionOffer from table....
また、このパラメーターの ssrs で複数の値を許可しました。ユーザーは lov で null を「応答なし」と表示します。
助けが必要なこと:
複数の値で機能するレポート/ストアド プロシージャを作成するにはどうすればよいですか (どこを変更する必要があるかわかりません)。null 値はその 1 つです。レポートを実行しても何も得られません。ssrs のアドミッション オファー LOV から「応答なし」の値を削除すると、レポートは正常に機能します。