I have found the solution to this. Turns out, in 5.0.1, the betweenDates function doesn't work. Find the applicationContext-semanticLayer.xml in the WEB-INF folder and search for "<entry key="betweenDates">" Make sure it uses the function from 5.1.0 that I found on the wiki: def javaType = args[0].getJavaType(); def value1 = args[1] instanceof ParameterVariable ? args[1].getValue() : args[1] def value2 = args[2] instanceof ParameterVariable ? args[2].getValue() : args[2] value1 = value1 instanceof FormattableLiteral ? value1.format() : value1.getValue() value2 = value2 instanceof FormattableLiteral ? value2.format() : value2.getValue() DateRange date1 = DateRangeFactory.getInstanceForExpression(value1, javaType) DateRange date2 = DateRangeFactory.getInstanceForExpression(value2, javaType) Range range = eval.getExpressionFactory().getRange() range.setStart(eval.getDate(date1 == null ? null : date1.getStart(), javaType)) range.setEnd(eval.getDate(date2 == null ? null : date2.getEnd(), javaType)) return eval.getOperator(In.IN, args[0], range) Restart your Jasper server and it should work now.