1. 概述
1.1 版本说明
报表服务器版本 | 功能变动 |
---|---|
11.0.3 | 高级排序功能可以实现多列排序 |
1.2 应用场景
用户希望单列数据或多列数据,按照升序或降序进行展示。例如在一张订单表格中,「运货费」按照降序排列。如下图所示:
1.3 功能简介
高级排序,可以实现以下效果:
模板预览后,单列/多列按照设置的顺序排序。
自定义排序。
2. 功能说明
高级排序其实就是扩展前排序,它依赖于一个或多个「数据列」的数据和排序规则进行排序。
若结果集筛选和排序顺序同时使用时数据先进行排序后再进行筛选。
2.1 11.0.3 之前版本
注:支持普通报表、决策报表和FVS可视化看板表格。
高级排序必须在「最父格」单元格设置,例如 C1 单元格的左父格是 B1,B1 单元格的左父格是 A1,那么 A1 即为「最父格」。
双击「最父格」所在单元格,弹出「数据列」设置对话框,选择「高级」,可以看到「排列顺序」默认为「不排序」,公式输入框不可编辑。如下图所示:
选择「升序」或「降序」后,公式输入框可编辑,公式中可直接输入「数据列的名称」或「包含数据列的公式」进行排序设置。不填写公式时,则默认根据「当前列」进行升序或降序。
也可以在「单元格元素>高级」中设置「排列顺序」。
2.2 11.0.3 及之后版本
注1:需要保证最父格的数据设置是「列表」,否则排序将不生效。
注2:若使用了数据列排序中的「表头排序」功能,请注意该功能对 填报预览/数据分析预览 不生效,仅支持普通报表、决策报表和FVS可视化看板表格。详情请参见:扩展后排序
入口如下图所示:
只添加「主要排列序」是实现单列排序,在添加了「主要排列序」后再添加「次要排列序」可以实现多列排序。
比如要设置 B 数据列的排序,建议在最父格或者 B 上设置高级排序;如果 B 是 C 的父格,在 C 上设置 B 的排序可能不生效。
若在 A 数据列上设置 B 为主要排列序,C 为次要排列序,则按照 B 排序后,再按照 C 来排序,即实现 扩展后多列按先后排序 的效果。
具体设置项介绍如下表所示:
设置项 | 介绍 |
---|---|
排序区域 | 选择某个数据列,作为排序的依赖。如下图所示: |
排序依据 | 共有三项:
注:支持时间、日期、字符串、数字、布尔类型数据的排序 |
排序规则 | 可选择升序、降序、不排序 |
3. 单列排序
此处提供一个单列排序(只依赖一个数据列排序)的示例,演示下设置方法。
3.1 设计报表
1)新建一张空白的普通报表,新建一个数据库查询数据集 ds1,SQL 语句为:SELECT * FROM 订单
2)如下图设计表格,将字段拖到对应单元格中。如下图所示:
注:「重复标题行」设置请参见:分页时重复显示标题 文档的 2.2 节内容。
3)将两个日期字段所在单元格 C2 和 D2 的格式改为日期型,yyyy-MM-dd 样式。如下图所示:
4)将 F2 单元格的格式改为数字,#0.00 样式,也就是保留两位小数。如下图所示:
3.2 设置排序
1)选中最父格 A2,将其数据设置从分组改为「列表」。如下图所示:
2)选中 A2 单元格,点击单元格元素高级属性下数据列排序功能的「添加主要排列序」。如下图所示:
3)设置排序区域为「运货费」,排序依据为「单元格」(也就是根据数字大小来判别升降序),排序规则为「降序」。如下图所示:
这样报表预览时,按照「运货费」这一数据列降序排序。
3.3 效果预览
保存报表,分页预览后的效果如 1.2 应用场景中所示。
同时支持 App 端和 HTML5 端预览。
4. 多列排序
注:11.0.3 之前的版本实现多列排序请参考:自定义排列顺序 。
高级排序现在支持设置多列排序,也就是可以依赖多个「数据列」进行组合排序。
例如:希望整体数据按照「订购日期」字段降序排序的同时,相同订购日期的数据可以按照「运货费」升序排序,效果如下图所示:
此时只需要设置好主要排序和次要排序即可实现。设置方法如下图所示:
5. 模板下载
已完成模板可参见:
%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\OrderReport\单列高级排序.cpt
%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\OrderReport\多列高级排序.cpt
点击下载模板: