最新历史版本 :自定义排列顺序 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 问题描述

对于 11.0.3 及之后的版本可以使用高级排序功能实现多列排序,但对于 11.0.3 之前的版本如果实现对于记录数较少,又没有排序规则的「数据列」,如何实现自定义排列顺序。例如按尺码大小排序,如下图所示:

1.2 解决思路

可以利用公式实现多列排序。

2. 示例编辑

下面我们用一个内置数据集,来看下如何使用「高级排序」设置自定义排列顺序。

2.1 准备数据

新建一个普通报表,新建内置数据集,设置两个字段分别为「size」和「number」。size 由 XS 至 XXL,需打乱顺序;number 随意设置,如下图所示:


2.2 报表设计

将数据列分别拖入 A2、B2 单元格,在 A1、B1 单元格输入对应标题, 自定义表格样式,如下图所示:


2.3 设置高级排序

报表的「左父格」为 A2 单元格,选中 A2 单元格,选择「单元格元素>高级」,设置排列顺序为「升序」,输入公式:switch($$$,"XS",1,"S",2,"M",3,"L",4,"XL",5,"XXL",6)或者INDEX($$$,"XS","S","M","L","XL","XXL")

公式说明:

  • $$$ 表示当前数据列

  • switch 函数的作用是:当前值为 XS 则返回 1,当前值为 S 则返回 2,以此类推

  • INDEX 函数的作用是:返回当前值在 "XS","S","M","L","XL","XXL" 序列中的位置

  • 最后按返回的数字大小进行排序

步骤如下图所示:

2.4 效果预览

2.4.1 PC 端

保存报表,点击「分页预览」,数据即以:XS、S、M、L、XL、XXL 的顺序进行排列,效果如下图所示:


2.4.2 移动端

App 和 HTML5 端均支持,效果如下图所示:

3. 模板下载编辑

已完成模板可参见:

%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\OrderReport\高级排序-自定义顺序.cpt

点击下载:高级排序-自定义顺序.cpt