SSRSレポートで複数値の文字を渡す方法は?
1つのデータソースから供給される3つのデータセットを含むSSRSレポートがあります。メインデータセットは、他の2つのデータセットを利用した一連のパラメーターに基づいて一部のデータを集約するストアドプロシージャです。 このレポートを強化するメインのストアドプロシージャには、4つのパラメーターがあります。1つはデータの種類のID、2つは開始日と終了日のID、3つ目は単なるフラグパラメーターです。フラグパラメーターは、VARCHAR値でもある複数のフラグ値を渡したい複数値パラメーターです。 @Flagパラメータのストアドプロシージャには、次の共通点があります。 WHERE [Flag] IN (@Flag) 次に、もちろん、SSRSレポートの@Flagパラメーターを設定して、ディメンションテーブルからそれらの@Flag値をプルしているクエリからも入力される「複数の値」を許可します。 私の問題 INT値を処理する場合、ほとんどの場合、同じ手法を使用すると機能します。ただし、文字値を処理していると失敗します。1つのフラグを選択すると、レポートは魔法のように機能します。複数のフラグを選択すると、フラグがストアドプロシージャに正しく渡されず、結果が返されません。 ストアドプロシージャで複数値フラグを直接テストする場合: WHERE [Flag] IN ('A', 'B', 'C') ストアドプロシージャは正しく動作します。したがって、問題はストアドプロシージャではなく、SSRSが複数値の値を@Flagパラメータに渡す方法です。 試したソリューション この@FlagパラメータのSSRSデータセットに次の調整を試みました。 =join(Parameters!<your param name>.Value,",") そしてこれも: =SPLIT(JOIN(Parameters!<your param name>.Value,","),",") これらはすべて単一値で機能しますが、複数値では機能しません。 ここで何が欠けていますか?