Saya akan menebak dan mengatakan 'bagaimana' Anda melewati parameter multi nilai. Secara pribadi ketika berurusan dengan SSRS saya menggunakan tampilan, fungsi tabel, atau hanya memilih karena SSRS dapat memahami secara asli bahwa ini:
Where thing in (@Thing)
Sebenarnya artinya ini di SSMS:
Where thing in (@Thing.Value1, @Thing.Value2, @Thing.Value3, etc...)
Saya menduga proc Anda mengambil string yang sebenarnya adalah array yang dipisahkan koma. Ketika Anda melakukan parameter yang mengambil larik string seperti '1,2,3,4' dan Anda menangani prosedur dengan sesuatu seperti parameter 'Teks' yang menerima beberapa nilai yang Anda tentukan atau dapatkan dari kueri yang pada dasarnya Anda perlu ' Gabung 'parameter jika prosedur Anda mengambil nilai string yang berisi array. EG:Proc yang disebut dbo.test dijalankan untuk mengembalikan baris untuk nilai 1,2,4 untuk id parameter ditampilkan seperti:
exec dbo.test @ids = '1,2,4'
Jika saya ingin menjalankan proc di SSRS dengan nilai ini dan saya memiliki parameter multi nilai yang disebut 'IDS', saya harus merakit array secara manual dalam fungsi di SSRS seperti:
=JOIN(Parameters!IDS.Value, ",")
Pada dasarnya memberi tahu proc menjalankan parameter 'IDS' dengan menggabungkan beberapa nilai dalam rantai nilai yang dipisahkan koma. Anda melakukan ini di dataset di panel kiri di mana ia mencantumkan 'Parameters' alih-alih menentukan Parameter seperti [@IDS] Anda mengklik 'Fx' sebagai gantinya dan memasukkan fungsi di atas.
Untuk alasan ini, saya adalah pendukung besar dari tampilan, pemilihan, dan fungsi tabel karena Anda dapat menggunakan logika predikat untuk menangani hal ini.