The clause is used to check whether a particular value is present in a discrete set of values. Here is an example: SELECT * FROM ORDERS WHERE SHIPCOUNTRY IS IN ('USA','Italy','Germany') The set here is defined by the countries USA, Italy and Germany. Assuming we are passing the set of countries in a list (or better a java.util.Collection) or in an array, the syntax to make the previous query dynamic in reference to the set of countries is: SELECT * FROM ORDERS WHERE $X{IN, SHIPCOUNTRY, myCountries} where myCountries is the name of the parameter that contains the set of country names. The $X{} clause recognizes three parameters: Type of function to apply (IN or NOTIN) Field name to be evaluated Parameter name Above example works perfectly... My questions is? how to dynamically change Field name by passing parameter? i have tried by passing parameter for field name $P{...} but couldn't