私が解決しようとしている問題があり、あなたの助けに非常に感謝しています. 作成した SSRS 2008 レポートに複数値レポート パラメーターがあります。ドロップダウン リストから複数の値を選択すると、レポートは正常に実行されます。ただし、ドロップダウン リストで値を 1 つだけ選択すると、「クエリ パラメーター @XXXXXX の値式に含まれるエラー: インデックスが配列の範囲外でした。
SSRSレポートと多値パラメーターに慣れていないか、他の人が同じことを見たので、それは私が見落としているものでなければならないことを私は知っています。ここで他の投稿を調べましたが、同じ問題を見つけることができませんでした。
これが私が定義しているReportParameterです:
<ReportParameter Name="reader">
<DataType>String</DataType>
<DefaultValue>
<DataSetReference>
<DataSetName>dsReaders</DataSetName>
<ValueField>ReaderName</ValueField>
</DataSetReference>
</DefaultValue>
<Prompt>Readers</Prompt>
<ValidValues>
<DataSetReference>
<DataSetName>dsReaders</DataSetName>
<ValueField>ReaderName</ValueField>
<LabelField>ReaderName</LabelField>
</DataSetReference>
</ValidValues>
<MultiValue>true</MultiValue>
</ReportParameter>
これを使用する QueryParameter は次のとおりです。
<QueryParameter Name="@ReaderName">
<Value>
=IIF(Parameters!reader.Count = 1, Parameters!reader.Value, ("'" + Replace(Replace(Join(Parameters!reader.Value, "~"), "'", "'''"), "~" ,"','") + "'"))
</Value>
<rd:UserDefined>true</rd:UserDefined>
</QueryParameter>
私が言及できるもう1つのことは、SSRS 2008 RTMを使用していて、このクエリパラメーターの値パラメーターで常にエラーが発生したことです。SQL 2008 SP3 にアップグレードした後、定義した他のクエリ パラメータの値パラメータが変化します。奇妙に思えますが、私はそれが私に何かを伝えていることを知っています.
これは SSRS 2008 および/または SQL 2008 (非 R2) の既知のバグですか? または、レポート定義に欠けている可能性があります。