有空值情况,如何实现数字、日期、字符串以及占比排序呢

效率分析1.cpt

功能实现:当我点击字段(字符串类型或数字类型或日期类型或占比)标题,会进行排序,非在SQL语句内实现

 参考:https://help.fanruan.com/finereport/doc-view-890.html

 

根据此前解决的公式:

INARRAY(EVAL($asc),SORTARRAY(EVAL($asc+"[!0]{len("+$asc+")>0}")))*$a

解决了现数字、日期、字符串字段含有空值排序问题,但现在增加了占比字段,

点击占比字段就不起作用了。。。。

如图,如果有占比字段,且也有为0的空值,会出现分段排序,如何调整公式呢

 BFB.jpg

 说明:

测试了一下,字段不为空,为0的话,排序是没问题的;但字段为空,计算出的占比为0的就不参与排序了

 

FineReport chyou 发布于 2021-3-24 20:42 (编辑于 2021-3-25 16:43)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
1
axingLv6专家互助
发布于2021-3-25 16:43

这两列的值中,0是整数,其他的是小数,数据类型不一致,所以排序不起作用。

解决方法,在公式后面乘以1.0,这样不改变值的大小,又统一转化为小数,就可以正常排序了。

image.png

最佳回答
0
luojian0323Lv7资深互助
发布于2021-3-25 08:21

模板上传看一下。

最佳回答
0
shirokoLv6资深互助
发布于2021-3-25 08:47

实际值是不太统一的字符串吧。如果实际值是小数,或者位数统一字符串,排序不应该出问题的

  • chyou chyou(提问者) 占比是通过字段算出来的,有些字段是空值
    2021-03-25 16:26 
最佳回答
0
一心向明月Lv5见习互助
发布于2021-3-25 11:12

排序字段中有NULL值得话,用这个公式就会出现问题,建议把公式去掉,然后动态参数传递到sql中去解决

  • 5关注人数
  • 570浏览人数
  • 最后回答于:2021-3-25 16:43
    请选择关闭问题的原因
    确定 取消
    返回顶部