反馈已提交

网络繁忙

多级项目符号排序

  • 文档创建者:axing
  • 编辑次数:5次
  • 最近更新:Alicehyy 于 2021-02-02
  • 1. 概述

    1.1 问题描述

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

    1612234749913051.png

    1.2 解决思路

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

    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 端均支持,效果如下图所示:

    Snag_1e24c2e7.png

    3. 模板下载

    已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\OrderReport\多级项目符号排序.cpt

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

    附件列表


    主题: 报表专题
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭