有关Jasper ReportServer 5.1及其DomEL(域表达式语言)的问题。
我有一个只有一个表的域。 T 是一个表格,(日日期,值数字)是Oracle中类型的列。
所以,如果我尝试使用表达式在我的域中创建新的“计算字段”:
first_value(value) over (order by day)
错误消息上传:
Found 'over' after end of expression
我认为的主要原因是:
http://community.jaspersoft.com/documentation/sql-functions
引用:
您可以在DomEL表达式中使用SQL函数,但仅限于有限的情况:
•数据库必须支持这些功能。有关可用功能及其语法,请参阅供应商文档。 •函数必须遵循逗号分隔参数的约定。例如,您可以使用TRIM(person.name),但不能使用TRIM('Jr'FROM person.name) •返回值的类型必须适合于表达式或计算字段的类型。 •SQL上下文必须适合函数。例如,您不能在计算字段中使用COUNT等聚合函数,因为没有GROUP BY子句。 除逗号分隔的参数模式外,DomEL验证无法强制执行这些条件。您必须确保任何SQL函数都符合这些条件,否则在使用域创建报告时表达式会导致错误。
我的问题是否是“执法”的结果?
如何使用SQL窗口函数构建计算字段?
Jasper有没有办法达到first_value / last_value / lead / lag效果?
谢谢!
答案 0 :(得分:0)
绝对不可能。很伤心。