润乾报表实现预置分组报表及改进

润乾报表实现预置分组报表及改进

ID:37883184

大小:698.20 KB

页数:7页

时间:2019-06-02

润乾报表实现预置分组报表及改进_第1页
润乾报表实现预置分组报表及改进_第2页
润乾报表实现预置分组报表及改进_第3页
润乾报表实现预置分组报表及改进_第4页
润乾报表实现预置分组报表及改进_第5页
资源描述:

《润乾报表实现预置分组报表及改进》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、润乾报表实现预置分组报表及改进预置分组报表在报表开发中比较常见而且比较棘手。所谓预置分组报表是指分组没有规律,可能是分组范围没有规律,也可能分组顺序没有规律,需要报表开发人员事先预置(固定)分组的报表。常见的预置分组报表一般有如下三类:按段分组报表、固定次序分组报表、多层固定次序分组报表。下面分别看一下这几类报表的特点,以及润乾报表的实现方法。按段分组报表这类报表的特点是分段的区间并未在数据库中存储需要根据相应字段(如年龄、日期)计算,并且每个分段可能会发生变化(如每年节假日所在日期可能不同),经常由用户随意指定。如:统计20-30岁,30-40岁,40-50岁各年龄段的用户数量;

2、每年节假日(春节、端午节、国庆节)期间公路铁路承载的旅客统计。下面通过实例说明,报表样式如下:该报表是根据订单表统计各(预置)时间段内,各地区的订单数量、订单金额汇总。其中各时间段范围为:【1996年圣诞前:date<=1996-12-251996年圣诞--1997年国庆:1996-12-25<=date<=1997-10-11997年国庆--1998年五一:1997-10-11998-5-1】实现润乾报表实现该类按段分组报表主要使用ds.plot()函数,计算一个值在一个完全划分中的位置。报表模板及其表达式如下:其中,参

3、数arg1为日期组,默认值为:1996-12-25,1997-10-1,1998-5-1。设置B1显示值表达式:map(to(0,count(arg1)+1),arg2),其中参数arg2为字符串组,默认值为:1996年圣诞前,1996年圣诞--1997年国庆,1997年国庆--1998年五一,1998年五一以后。使用ds.plot()函数可以非常方便地实现上述报表,而且可以通过该函数的参数控制是否包含边界,对于分组较少并且边界包含规律的分组报表尤其适用。不过,当段界包含不规律时则无法使用ds.plot()实现,比如上例中如果时间范围变成:【1996年圣诞前:date<1996-1

4、2-251996年圣诞--1997年国庆:1996-12-25<=date<=1997-10-11997年国庆--1998年五一:1997-10-1<=date<=1998-5-11998年五一以后:date>1998-5-1】起始和结束两段不包含段界日期,而中间的各个分段则包含,ds.plot()函数则存在限制,难以实现这类问题。固定次序分组报表这类报表的特点是用户要求分组次序固定,而数据库中并未存储相应的分组字段。如:要统计长三角地区、珠三角地区以及环首都经济圈内客户的订单情况。数据库客户表中只有城市(如:北京、上海、石家庄)和地区(如:华北、东北、华南)字段,如果单纯为该报表

5、在数据库里增加另外一个地区字段显然是不值得的,所以任务自然落到报表端了。下面通过一个实例来说明使用润乾报表实现这类报表的过程,报表样式如下:要求:1、根据源数据中的城市分区分组汇总,其中:环首都经济圈包括:[北京,天津,张家口,承德,保定,廊坊,唐山,秦皇岛,衡水,沧州,石家庄]长三角地区包括:[上海,南京,苏州,无锡,常州,镇江,南通,扬州,泰州,杭州,宁波,湖州,嘉兴,绍兴,舟山,台州]珠三角地区包括:[广州,深圳,珠海,佛山,江门,东莞,中山,惠州,肇庆]其他城市列为其他地区;2、报表显示的地区顺序固定,即上图所示顺序显示,这里显然无法通过按字母顺序升降来排序。实现该类分组报

6、表主要使用润乾报表的ds.overlap()函数实现,报表模板及其表达式如下:其中,A2的表达式为:=ds1.overlap(true,城市inlist("北京","天津","张家口","承德","保定","廊坊","唐山","秦皇岛","衡水","沧州","石家庄"),"环首都经济圈",城市inlist("上海","南京","苏州","无锡","常州","镇江","南通","扬州","泰州","杭州","宁波","湖州","嘉兴","绍兴","舟山","台州"),"金三角",城市inlist("广州","深圳","珠海","佛山","江门","东莞","中山","惠州","肇庆"

7、),"珠三角","其他")这里可以看到ds.overlap()函数的强大,对于固定的分组以及分组下成员较少的情况尤其适用。但当分组或分组成员过多时,继续使用该函数的可读性就太差了,难于维护;此外,本例中看到的是一层分组,如果要实现多层固定次序分组报表,ds.overlap()函数则无法直接实现。下面看一个例子。多层固定次序分组报表再修改一下上例的报表需求,要求按地区和城市分组,且地区和城市的展现顺序固定,如下顺序(没有则不显示):环首都经济圈包括:[北京,天津,张家口

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。