历史版本7 :多级项目符号排序 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本
适用于 11.0.3 以前版本

1.2 问题描述

当报表中存在多级项目符号时,正常设置排序是无法实现多级排序效果的,那么如何实现多级项目符号的排序效果呢?

1612234749913051.png

1.3 解决思路

多级项目符号是将多个数字用「 . 」隔开的字符串,通过将字符串转化成可以排序的数字,即可实现排序。

2. 示例编辑

2.1 数据准备

新建普通报表,新建一个内置数据集 Embedded1 ,添加两个字段分别为「项目符号」和「项目」,设计表如下图所示:

Snag_1e086203.png

2.2 表格设计

将内置数据集字段分别拖入 A2、B2 单元格,输入对应标题,表格样式如下图所示:

image.png

2.3 扩展后排序

选中 A2 单元格,设置「扩展后排序」,输入公式:SUM(MAPARRAY(split(A2, "\\."), item * POWER(100, 4 - index)))

该公式是将 A2 中的项目符号通过「 . 」来分割,然后乘不同的位数,再求和。

公式说明如下表:

公式
说明

POWER(100,4-index)

返回指定数字的乘幂。即 100 的 4-index 次方

index : 返回位置

注:4-index 中的 4,是因为 A2 中的多级项目符号一共有3级,这里取级数 +1 所以为 4。

SPLIT(A2, "\\.")

返回由「 . 」分割 A2 单元格值组成的字符串数组。

MAPARRAY()批量处理数组,通过 item * POWER(100, 4 - index) 对 split(A2, "\\.") 数组中的元素进行转换
SUM()对转换后的数组进行求和

如下图所示:

1612235876486295.png

2.4 效果预览

2.4.1 PC 端 

保存报表,点击「分页预览」,效果如下图所示:

1612237217315883.png

2.4.2 移动端

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

03697547bff6c4b1ebe972a6d83b925.jpg

3. 模板下载编辑

点击下载模板:多级项目符号排序.cpt