来源:
https://forums.opentext.com/forums/discussion/173783/dynamic-grouping-of-crosstab-in-birt#latest
在业务填报中,有时会需要基于时间段进行动态交叉分组统计,根据时间段长短实现按天、按周、按月、按年动态分组。例如:某企业根据业务需要,需按照2个参数(开始日期、结束日期)实现一段时间内订单的统计。统计规则如下:
示例:根据输入的参数值,计算日期之间的差异。
var diff = 结束日期-开始日期 ---- 相隔的天数
如果(diff <15)
将“日期组”分组以显示为日期
如果(diff>15)
将“日期组”分组以显示为周
如果(diff >30)
将“日期组”分组以显示为月份
如果(diff>365)
将“日期组”分组以显示为年份
小伙伴们是不是有点不知所措了呢?上述问题实质上就是一个数据准备的问题,可是SQL或scripted data sources的方式代码难写,工作量大;退而求次使用报表隐藏列的方式,既不通用又非常别扭。那么,一个更好的解决