Tôi sẽ đoán và nói rằng đó là 'cách' bạn đang truyền tham số đa giá trị. Cá nhân khi xử lý SSRS, tôi sử dụng các dạng xem, các hàm bảng, hoặc chỉ chọn như SSRS có thể hiểu một cách tự nhiên rằng điều này:
Where thing in (@Thing)
Trên thực tế có nghĩa là điều này trong SSMS:
Where thing in (@Thing.Value1, @Thing.Value2, @Thing.Value3, etc...)
Tôi đoán proc của bạn đang lấy một chuỗi thực sự là một mảng được phân tách bằng dấu phẩy. Khi bạn thực hiện một tham số nhận một mảng chuỗi như '1,2,3,4' và bạn đang giải quyết thủ tục với một cái gì đó giống như tham số 'Văn bản' chấp nhận nhiều giá trị bạn chỉ định hoặc nhận được từ một truy vấn về cơ bản bạn cần ' Nối 'các tham số nếu thủ tục của bạn nhận một giá trị của một chuỗi có chứa mảng. EG:Proc được gọi là dbo.test thực thi để trả về các hàng cho các giá trị 1,2,4 cho id tham số được hiển thị như:
exec dbo.test @ids = '1,2,4'
Nếu tôi muốn chạy proc trong SSRS với giá trị này và tôi có một tham số đa giá trị gọi là 'IDS', tôi sẽ phải tập hợp mảng theo cách thủ công trong một hàm trong SSRS như:
=JOIN(Parameters!IDS.Value, ",")
Về cơ bản, yêu cầu proc chạy một tham số 'IDS' bằng cách kết hợp nhiều giá trị với nhau trong một chuỗi các giá trị được phân tách bằng dấu phẩy. Bạn thực hiện việc này trong tập dữ liệu ở ngăn bên trái, nơi nó liệt kê 'Tham số' thay vì chỉ định Tham số như nó giống như [@IDS], bạn nhấp vào 'Fx' thay vào đó và đưa vào hàm ở trên.
Vì lý do này, tôi là người ủng hộ lớn các hàm xem, lựa chọn và bảng vì bạn có thể sử dụng logic vị từ để thực hiện việc này.