我的结果集包含列:
interval_start(timestamp) , camp , queue , other columns
2012-09-10 11:10 c1 q1
2012-09-10 11:20 c1 q2
interval_start 的值间隔为10分钟,如:
2012-09-10 11:10,
2012-09-10 11:20,
2012-09-10 11:30 ....
使用 Joda Time 库和 interval_start 字段,我创建了一个变量来创建字符串,以便 interval_start 的分钟位于00- 30,30设置为分钟,否则00设置为分钟。
我想将数据分组为:
camp as group1
variable created as group2
queue as group3
并完成了一些聚合
但在我的报告结果中,我在相同的时间间隔内多次获得相同的队列
我使用过order by camp, interval_start, queue
,但问题仍然存在。
附上截图供您参考:
有没有办法根据创建的变量对 resultset 进行排序?
答案 0 :(得分:0)
最佳猜测是您的实际SQL查询的问题。你说同一个队列正在重复,但从查看你的图像实际上并没有重复它是一个不同的行。
您的查询很难实现,因为您真的希望查询按order by camp, (rounded)interval_start, queue
排序。如果没有它,则按camp
列排序,然后排序interval_start
的非舍入版本,然后camp
。当意味着数据的顺序不正确时,Jasper Reports会按照您希望的方式对它们进行分组。然后真正的踢球者是Jasper Reports,一旦获得数据,就没有对数据进行排序的功能。由开发人员提供。
所以你有几个选择:
REPORT_DATASOURCE
参数。老实说,这两个选项都不理想,我希望有人出现并提供证明我错误的答案。但我认为目前没有更好的方法。