非纯数字扩展列乱序排列的解决方案

  • 文档创建者:yiyemeiying
  • 编辑次数:4次
  • 最近更新:Kevin-s 于 2019-06-18
  • 1. 描述

    报表的展示效果直接关乎到用户的体验和使用!比如一张月报表,如果是按照 1 月-12 月的顺序展示出来,用户查阅便一目了然,但有时候却事与愿违。遇到这种非纯数字的扩展表头时,使用原值排序就会导致错乱。此时,我们可以使用公式排序, 如图所示:

    原值排序:
    222

    公式排序:
    222


    2. 实现思路

    我们可以通过有关公式(函数)对表头进行处理后再排序!

    例如:INT(REPLACE($$$,'','')) SWITCH($$$,'','')


    3. 解决方案

    新建数据集 ds1: SQL 为:SELECT * FROM sale_month where type ='实际' 

    选中 B1 单元格,选择单元格属性表-扩展属性,扩展方向为横向,扩展后选择升序并输入公式,有两个公式可选:

    222


    公式①:INT(REPLACE($$$,'月','')) ,将单元格内容中的'月'替换成'',再将其转换成整型。比如:10 月变成 10

    公式②:SWITCH($$$,'1月',1,'2月',2,'3月',3,'4月',4,'5月',5,'6月',6,'7月',7,'8月',8,'9月',9,'10月',10,'11月',11,'12月',12) 

    SWITCH()函数的用法,这里就不详述了,请参考 Switch 函数

    设置完成后,单元格的字符串值就被转换成了整型数据,再排序的话就会按照设置的从大到小(从小到大)有序排列了!

    保存模板,预览效果如上。


    附件列表


    主题: 报表应用
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!