I assume that you do not want to use a multi-valued parameter here, you want users to run against only all assemblies, or only one, not the assembly selection. Otherwise, you simply use the standard parameter with multiple values .
One way to do this is to return an additional row for all assemblies in the parameter data set, for example. sort of:
select buildId as null, build = 'All' union all select buildId = build, build from builds
I am returning two columns here so that we can pass a parameter to NULL values, but still have a description that is convenient for describing in the report.
Define this as a parameter data set. In the report code, you can use a parameter to do something like:
select * from builds where (@build is null or @build = build)
Which will return all assemblies if @build is null and the specified assembly if @build not null.
source share