2

ここでは、SSRS を使用して、多値パラメーターからデータセットに使用されるストアド プロシージャに NULL 値をフィードしようとしています。

ユーザーがレポートの複数値パラメーターで選択した値は、ストアド プロシージャの単一の入力パラメーターに渡されます。たとえば、@Color と呼ばれる複数値のドロップダウンは、ストアド プロシージャの '@ColorList' パラメータに 'Red'、'White'、'Blue' を供給することができます。ストアード・プロシージャーは、SQL ステートメント作成関数のパラメーターを使用して、結果セットを提供します。一部のレコードには Color 値がないため、値に加えて複数値パラメーターに NULL 値を追加したいと考えています。

残念ながら、ストアド プロシージャを変更する権限がないため、ISNULL(Value,'') 回避策を使用したり、'IN' 構文を使用して何かを変更したりすることはできません。ストアド プロシージャは、次のようにレポートで実行されています。

 EXEC StoredProc
 @Name = @Name
 @ColorList = @Color

@Color は JOIN 式を使用して渡されます

=JOIN(Parameters!Color.Value,",")

助言がありますか?

4

1 に答える 1

1

状況をよく理解しているようです。NULL は単に値ではなく、値がないため、NULL の値をパラメーターとして渡すことはできません。パラメータ @color として文字列 "NULL" を渡すこともできnoColorますが、単に物事を明確にするために、カラフルな名前の (特徴的なものと言いましょうか?) 特徴的な変数を作成する方がよいでしょう。

于 2013-02-12T21:39:36.477 に答える