Yes, there are are several ways you could accomplish this. A simple, but tedious way, would be to create three parameters: query1, query2, and mainquery. Set the default value for query1 and query2 as the valid query and other query respectively. Then set the default value for mainquery as Code:$P(valid).equals("true"«»)?$P(query1):$P(query2)and set your report query as only $P!(mainquery) This is kinda ugly, though, as you have to put the SQL for the two queries in String format. I would suggest a another method: Set your report query as Code:[code] (put first query here) AND $P(valid)='true' UNION (put second query here) AND $P(valid)!='true' This will only work, however, if the two queries have the same types in their selects (# of column and datatypes for each column) but I would assume they would if the report is designed to handle either situation the same. In both methods, I'm assuming $P(valid) is a String which will be set to "true" or "false" based on your checkbox.