[Java报表软件—技术知识]专业Web报表工具FineReport ——报表教程之结果集筛选 |
一般来说,我们呈现在报表当中的数据,是将数据库中的数据全部呈现出来,或者通过通过筛选条件过滤一些数据。但是筛选条件的过滤只能通过一个固定值作为筛选标准来过滤数据。而我们有时候需要的数据仅仅是最前或最末几个的数据,不能够使用固定值作为筛选条件。例如在一张产品销售量月报表当中,部门经理最关心的是销售业绩最优秀的五个城市和销售业绩最差的三个城市,而此时我们并不知道具体的销售量准确的衡量数字,所以这时候就可以通过结果集筛选来得到想要的数据。
结果集筛选,就是可以通过一些设置对结果值进行一些特定的筛选,设置的方式是在绑定数据列对话框中的其它页面,结果集筛选区域。如下图所示:
500)this.width=500'>
系统默认的设置是未定义,即不对结果值做任何设置。用户可通过下拉框进行选择的设置包括:前N个,后N个,偶数,奇数,指定。具体的意义解释如下:
前N个:即报表当中只显示指定的前N个数据,选择了前N个之后,会在下拉框右侧出现对应的文本框,在文本框中输入N的具体值即可。
后N个:即报表当中只显示指定的后N个数据,选择了后N个之后,会在下拉框右侧出现对应的文本框,在文本框中输入N的具体值即可。
偶数:即数据集号从1开始,选择偶数的数据集。
奇数:即数据集号从1开始,选择奇数的数据集。
指定:即用户可以指定显示的数据集号,选择了指定之后,会在下拉框右侧出现对应的文本框,在文本框中数据要显示的数据集的具体值即可,当需要显示的数据集多于一个的时候,指定的数值必须用逗号分隔。
【实例】结果集筛选(高级)
用一个实例来演示一下结果集筛选的作用。如下图:
500)this.width=500'>
该效果的做法如下:
1、新建一个自由报表。
2、添加私有数据源命名为ds1,其SQL语句为select * from sales。
3、将数据查询 ds1 的 ProductName 字段放置在单元格A4当中。类型为扩展,数据为分组,扩展方向为从上向下。
4、将 Month 字段放置在单元格B4当中。类型为扩展,数据为分组,扩展方向为从上向下。
5、将 Attributes 字段放置在单元格C3当中。类型为扩展,数据为分组,扩展方向为从左向右。
6、将 Sales 字段放置在单元格C4当中。类型为不扩展,数据为汇总|所有行(sum).
7、将A5和B5单元格合并,在合并后的单元格中写入内容 Sum:。在C5单元格中写入公式 =sum(C4) 。
8、将A6和B6单元格合并,在合并后的单元格中写入内容 Total: 。在C6单元格中写入公式 =sum(C4) 。
500)this.width=500'>
9、双击B4单元格,在结果集筛选当中,选择前N个,在右边的文本框中写入数字 2 ,这样便定义了筛选的条件为前2个。
500)this.width=500'>
10、同上,双击A4单元格,在结果集筛选当中,选择前N个,在右边的文本框中写入数字 2 。
11、最后将报表保存为../WebReport/WEB-INF/reportlets/com/doc/choose.cpt。
(下载地址:http://www.finereport.com/FineReport-CN.exe)
论坛专区与专家交流
完善的报表使用文档和二次开发文档
更多了解,敬请关注:www.finereport.com
|
|
|

.: 公告
本博客提供详细的java报表软件的制作过程,发布java报表软件的版本更新信息,并适时对国内主流报表软件进行功能比较。 |
|
« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
|
.: 我的分类(专题)
|

.: 最新日志
.: 最新回复
|

blog名称:Java报表软件 日志总数:357 评论数量:69 留言数量:0 访问次数:1208470 建立时间:2006年4月16日 |
|

.: 留言板
|

.: 链接
|

|