Los ids para filtrar se pasan en el parámetro REPORT_PARAMETERS_MAP por defecto.
Por temas de rendimiento en la consulta y para incluir directamente los ids en la misma y que no sea el jasper el que filtre, me creo un parámetro nuevo que se puede llamar "IDS2" de tipo string y cuyo valor por defecto es $P{REPORT_PARAMETERS_MAP}.IDS.toString().replace("{","(").replace("}",")")
Finalmente en la consulta dentro de la cláusula where pongo "id in $P!{IDS2}"
Dos cosas a tener en cuenta:
1- Cuando el jasper lee los campos del sql, la expresión por defecto de IDS2 evalúa a null. O no pones el filtro de ids hasta que tengas la consulta definida del todo, o bien cambias temporalmente la expresión de "IDS2" a "(1)" por ejemplo.
2- En algunas ocasiones (siempre instalaciones diferentes, no es que sea aleatorio) me he encontrado con que el método toString() no devuelve una lista entre llaves, sino que lo hace entre corchetes. Por lo tanto la expresión debe cambiar por $P{REPORT_PARAMETERS_MAP}.IDS.toString().replace("[","(").replace("]",")")