Since you are using a collection parameter, the query executes once for all the values of the parameter.
I would suggest you use integer/string parameter and generate the report once for I1, next time for I2 and the third time for I3.
Thanks for your reply. Actually I'm trying for Multi value parameter as input.
Could you please explain more on
"I would suggest you use integer/string parameter and generate the report once for I1, next time for I2 and the third time for I3."
as I couldn't follow?
Reason why you are getting that input is because while the query of the subreport executes, the input values for the collection parameter go together. example:
select * from table_1
where p_para IN (2,3,4);
This query is bound to return a single result sets with multiple rows or column depending on the fields.
While if you don't use a collection type parameter but instead use java.lang.integer type, you can achieve different query sets. Example;
Instance 1: when you enter the value of parameter as 2
Select * from table_1
where p_para = 2
which will return a result set, i.e, S1, S2 and S3 executes for value 2 (I1)
Instance 2 & 3 : Similarly next run the report for 3 and 4 values of p_para.
Here your requirement would be achieved but only at different instances.
Thanks for the reply. But my requirement is to pass the multiple input in same parameter. I couldn't acheive it using just the integer.
Let me explain, the end user inputs by selecting multiple project name in the filter section of the report. These values have to be used together as collection type to get all the results in reports. Above solution is only for Single input. Is there any other way I could use for Multi input parameter instead of collection to acheive my requirement?