报表数据集中判断函数怎么用?数据为空时返回断线

Dingtalk_20230728181939.jpgDingtalk_20230728174919.jpg

FineReport zongducc 发布于 2023-7-28 17:50 (编辑于 2023-7-28 18:19)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
坚定的小帆薯Lv7高级互助
发布于2023-7-28 17:55(编辑于 2023-7-28 18:26)

如果monitor_value是数据库字段,写法用对应数据库的函数,不清楚你是什么数据库,用case when吧

case when monitor_value is null then '断线' else '正常' end

------------------------------

你这个是字符,需要加'',否则会识别为字段的

'${if(len(monitor_value)==0,'正常','断线')}'

image.png

image.png

  • zongducc zongducc(提问者) 谢谢你,还有判断函数为啥无效,都返回正常了,我上传了新的截图
    2023-07-28 18:21 
  • 坚定的小帆薯 坚定的小帆薯 回复 zongducc(提问者) 哥,那你写错了,这个是调用参数的,你开始这种写法意味monitor_value是参数,你这个要用case when的
    2023-07-28 18:23 
  • 坚定的小帆薯 坚定的小帆薯 回复 zongducc(提问者) 看新补充的~~;数据集用数据集函数,${}这个是调用帆软的报表参数的
    2023-07-28 18:28 
  • zongducc zongducc(提问者) 回复 坚定的小帆薯 知道了,谢谢
    2023-07-28 18:30 
  • 坚定的小帆薯 坚定的小帆薯 回复 zongducc(提问者) 小事~~
    2023-07-28 18:30 
最佳回答
0
runnerLv7资深互助
发布于2023-7-28 17:54(编辑于 2023-7-28 18:29)

断线改成单引号

image.png

双引号是字段,单引号是常量

select 

${if(len(monitor_value)== 0, "'正常'" ,"'断线'")} as StatusInfo

from dual

如果是常量的话改成上面,如果是字段的话,改成单引号

image.png

那它检查一下sql

-------

你写的是参数的写法,你又没引用参数

写sql就可以,

case when monitor_value is null then '断线' else '正常' end as statusinfo

  • 3关注人数
  • 269浏览人数
  • 最后回答于:2023-7-28 18:29
    请选择关闭问题的原因
    确定 取消
    返回顶部