运行上周的报告

时间:2013-10-15 00:35:14

标签: java jasper-reports ireport jasperserver

让我先说一下我是 JasperReports 的菜鸟,所以如果对我的问题有明显的答案我会道歉。我有一个现有的 JR 报告,每隔一个月手动运行一次。我可以打开报告,从下拉列表中选择一个输入月份,它会反馈给我那个月的数据。

除了每月手动运行之外,我希望此报告按周计划运行并仅返回过去7天的数据。

我看到我可以很容易地设置一个预定的运行,但对我来说,看起来输入是固定的,而且我只能在一周又一周的同一周回来。

我正在使用 iReport 4.5

我觉得最简单的解决方案是复制此报告,并使新报告仅运行每周功能(我永远不会每周进行一次手动运行,只需每月一次)。但是在浏览了一些在线教程之后,我看不到如何在前七天内运行报告。

1 个答案:

答案 0 :(得分:1)

创建两个名为start_date和end_date的参数,类型为Date。然后,在您的查询中,使用以下语法(我有一个Oracle数据源;根据您自己的需要进行调整):

WHERE TRUNC(the_date) BETWEEN COALESCE($P{start_date}, TRUNC(sysdate-7)) 
                      AND COALESCE($P{end_date}, TRUNC(sysdate))

如果用户手动运行报告,他或她可以通过输入控件输入开始和结束日期。如果报告是预定报告,请将输入控件保留为空,并且默认为过去7天。