是否可以在Jasper ReportServer中使用SQL窗口函数?

时间:2013-06-16 13:50:51

标签: oracle jasper-reports jasperserver window-functions

有关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效果?

谢谢!

1 个答案:

答案 0 :(得分:0)

绝对不可能。很伤心。

相关问题