0

私はこの 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 から「応答なし」の値を削除すると、レポートは正常に機能します。

4

1 に答える 1