Hi Will,
I am not sure whether recent jasper upgrade is having this feature rolled out to OOTB reports or not. But i have modified one of our custom reports date parameters to relative date with out much modifications.
In order to get Relative dates to work we would need to have class of date parameter as "net.sf.jasperreports.types.date.DateRange", and in query we need to use this parameter as '
$X{LESS, sysdate, relative_date_Parameter}
'
Above modifications require much efforts in case of complex query reports.
So to reduce efforts i have followed below workaround.
1. Take copy of existing OOTB/Custom report
2. Create a new parameter with class type as 'net.sf.jasperreports.types.date.DateRange'
3. Default existing parameter (java.util.Date type) with this new parameter(relative type) value. (so that selected relative date would go into query).
4. In order to default parameter to today's date or any relative date, in the default value of New Parameter (relative one), give value as "
new net.sf.jasperreports.types.date.DateRangeBuilder.DateRangeBuilder("DAY+1").toDateRange()
"
5.Remove existing date parameter, and configure new parameter in place of existing one with same name.
It should work like existing report. User has to enter input format as 'DAY','WEEK','MONTH','DAY-1',etc... to get the relative dates while scheduling.
Hope this helps.
Regards
Naveen