报表样例——用BIRT实现不规则月份统计

Posted ljbguanli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了报表样例——用BIRT实现不规则月份统计相关的知识,希望对你有一定的参考价值。

      来源:     http://developer.actuate.com/community/forum/index.php?

/topic/36323-months-and-quarters-group-issue/

      不规则月份统计:假设起始时间是2014-01-10。则将2014-01-10到2014-02-09作为一组,将2014-02-10到2014-03-9作为一组。

假设起始时间是2014-01-31,则将2014-02-27作为一组,将2014-02-28到2014-03-30作为一组。

      集算器代码:

技术分享

        A1:依据起止时间查询数据库,当中startDate和endDate是外部參数。

        A2:依据起止时间算出月份间隔。比方2014-01-31和2014-07-31间隔6个月。

        B2:依据起始时间和日期间隔算出不规则月份的開始日期,并将起始时间插入第1位。“|”表示合并,“~”表示集合中的当前成员,即数字1到6,After函数能够正确计算不规则月份。结果例如以下:

技术分享

        A3:按B2区间对A1分组,统计出不规则月份的销售额,并将B2作为最后一列。函数pseg可返回数据所在的区间号。

~.sum(Amount)中的~表示分组后的当前组。

#表示A1当前组号。计算结果例如以下:

技术分享

        A4:取出A3的第2和第3列,返回给报表工具。集算器对外提供JDBC接口。报表工具会将集算器识别为普通数据库。

 

        以下用BIRT设计简单的list表:

技术分享

     报表调用集算器的方法和调用存储过程一样,比方将本脚本保存为BirtUnregulMonth.dfx,则在BIRT的存储过程设计器中能够用callBirtUnregulMonth(?,?

)来调用。

预览后表例子如以下:

技术分享








以上是关于报表样例——用BIRT实现不规则月份统计的主要内容,如果未能解决你的问题,请参考以下文章

基于Birt4.6实现报表表格数据的可编辑

按段分组报表制作

从BIRT报表文件中获取页面设置信息(页边距纸张大小输出方向)的方法

BIRT报表显示不全

算法学习1773. 统计匹配检索规则的物品数量(java / c / c++ / python / go / rust)

算法学习1773. 统计匹配检索规则的物品数量(java / c / c++ / python / go / rust)