反馈已提交

网络繁忙

排序FAQ

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

    本文将介绍各类排序使用过程中遇到的问题和解决方案。

    2. 排序时数值型字段存在空值时报错

    问题描述

    若对「数值型字段」设置了排序,而字段中存在空值,那么在预览或点击标题排序时就会出现报错。

    例如在「订单 ID」列设置了点击某一列标题改变排序,其扩展后排序公式为:if($a=1,$$$,-$$$),表示根据当前列的值进行排序。如下图所示:

    1615947689973944.png

    此时预览报表,点击「订单 ID」标题,出现报错如下图所示:

    解决方案

    在排序公式中对空值赋值后参与排序。

    将公式写为:if($a=1,if(len($$$)=0,min(ds1.select(订单ID))-1,$$$),if(len($$$)=0,-(min(ds1.select(订单ID))-1),-$$$)) 。即当字段为空时,给其赋值为(订单 ID最小值-1),参与排序。

    公式说明如下表:

    公式
    说明
    len($$$)=0当前单元格值为空
    min(ds1.select(订单ID))-1获取数据集 ds1 中「订单ID」(排序字段)的(最小值-1)
    -(min(ds1.select(订单ID))-1) 获取数据集 ds1 中「订单ID」(排序字段)的 -(最小值-1)

    注:数据集函数使用方法参考数据集函数

    修改公式后,点击预览报表,效果如下图所示:

    6144D72B2201C26674D05D4A22A55695.gif

    模板下载

    已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\OrderReport\数值型字段排序有空值.cpt

    点击下载模板:数值型字段排序有空值.cpt

    3. 非纯数字横向扩展列乱序排列

    问题描述

    制作一张月报表时,期望将「月份」数据列拖入单元格使用横向扩展得出,但如果遇到 1月、2月 这种非纯数字的扩展表头时,使用原值排序就会导致错乱。如下图所示:

    222

    解决方案

    使用公式 INT(REPLACE($$$,'月','')) 将「月」替换为空字符串,再将字符串转换为 INT 类型。

    Snag_15c85429.png

    设置完成后,单元格的字符串值就被转换成了整型数据,再排序的话就会按照设置的升序或降序排序了,如下图所示:

    222

    模板下载

    已完成模板可参见:%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后关闭