There is a problem when you configure a report parameter to ‘Accept Multiply Items’, in that it won’t work with a stored procedure (SP).
One work-around is to only Accept Single Items, but make one of them ‘All’, like this …
1) Create a separate SP to populate the parameter and add an ‘All’ option …
SELECT 'All' CustId UNION SELECT DISTINCT CustomerId FROM SomeTable ORDER BY CustId
2) Then amend the main SP by joining to SomeTable, and adding a CASE statement in the WHERE clause, like so …
WHERE SomeTable.CustomerId = CASE WHEN @CustId != 'All' THEN @CustId ELSE SomeTable.CustomerId END
Which translates as …
WHERE SomeTable.CustomerId = SomeTable.CustomerId
… when ‘All’ is selected (which will let everything through), or …
WHERE SomeTable.CustomerId = @CustId
… where ‘All’ is Not selected.
This allows the user to select All or a single value.
However, if you need to select more than one value but not all values – you will need another approach. You will need to use a split-string function.