1. 概述编辑
1.1 版本说明
报表服务器版本 | 功能变动 |
---|---|
11.0.3 | 现在高级排序功能可以实现多列排序 |
1.2 应用场景
首先高级排序并不是说它的功能有什么高级的地方,只是他的设置入口在单元格元素面板的高级属性下。
高级排序其实就是扩展前排序,它依赖于一个或多个「数据列」的数据和排序规则进行排序。
例如下图示例,订单表的所有数据行可以按照运货费这一数据列进行降序排序。
1.3 功能简介
不管在哪个单元格上设置高级排序,都是可以生效的,只要最父格的数据设置是「列表」即可,详细介绍见下面示例的介绍。
只添加主要排序是实现单列排序,在添加了主要排序后再添加次要排序可以实现多列排序。
不管是主要排序还是次要排序,里面的设置项都是一样的,共有3个,简介如下:
排序区域:选择某个数据列,作为排序的依赖
排序依据:规定该数据列数据升序和降序的依据是什么,可以是单元格、公式、自定义序列
排序规则:可以选择升序、降序、不排序
2. 示例编辑
此处提供一个单列排序(只依赖一个数据列排序)的示例,演示下设置方法。
2.1 设计报表
1)新建一张空白的普通报表,新建一个数据库查询数据集 ds1,SQL 语句为:SELECT * FROM 订单
2)如下图设计表格,将字段拖到对应单元格中。
3)将两个日期字段所在单元格 C2 和 D2 的格式改为日期型,yyyy-MM-dd 样式,如下图所示:
4)将 F2 单元格的格式改为数字,#0.00 样式,也就是保留两位小数,如下图所示:
2.2 设置排序
1)选中最父格 A2,将其数据设置从分组改为「列表」,这样在其他单元格(B2~F2)设置高级排序也是能生效的,否则只能在最父格设置。
这步只是告诉您有这样的注意事项,示例还是在最父格 A2 上设置高级排序。
2)选中 A2 单元格,点击单元格元素高级属性下数据列排序功能的「添加主要排列序」。
3)设置排序区域为运货费,排序依据为单元格(也就是根据数字大小来判别升降序),排序规则为降序。
所以最终想要的效果是,这个明细表可以按照运货费这一数据列降序排序。
2.3 效果预览
保存报表,分页预览后的效果如 1.2应用场景 中所示。
同时支持 App 端和 HTML5 端预览。
3. 多列排序编辑
高级排序现在支持设置多列排序,也就是可以依赖多个「数据列」进行组合排序。
例如:希望整体数据按照「订购日期」字段降序排序的同时,相同订购日期的数据可以按照「运货费」升序排序,效果如下图所示:
此时只需要设置好主要排序和次要排序即可实现,设置方法如下图所示:
4. 模板下载编辑
已完成模板可参见:
%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\OrderReport\单列高级排序.cpt
%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\OrderReport\多列高级排序.cpt
点击下载模板: