Oh, I am sorry for not mentioning the report part. This is just my workaround solution.
I set this parameter as a text parameter.

1. For optimized version, I apply directly to the fetchxml query:
- Then in my dataset, I declared the list of parameters with each value like this:
=IIF(Parameters!DocumentStatus.Value = "-1", 100000004, IIF(Split(Parameters!DocumentStatus.Value, ",").Length >= 1, CInt(Split(Parameters!DocumentStatus.Value, ",").GetValue(0)), -1))

- and in the fetchxml:
<condition attribute="statuscode" operator="in">
<value>@StatusCode1</value>
<value>@StatusCode2</value>
<value>@StatusCode3</value>
<value>@StatusCode4</value>
<value>@StatusCode5</value>
<value>@StatusCode6</value>
</condition>
2. If you don't have a large amount of data, you can apply to the filter option of your dataset because the data will be queried using the fetchxml, then these filter conditions will be applied to the result.

Expression:
=CStr(Fields!schema_name_field.Value)
Value:
=IIF(Parameters!ParameterList.Value = "-1", CStr(Fields!schema_name_field.Value), Split(Parameters!ParameterList.Value, ","))