数据集IF函数问题

${IF(len(门店) > 2, "and 归属门店 in ("+门店+")"," ",)} 

在9.0服务器报错, 在本地10.0服务器正常查询,我怀疑是这个语句的问题

image.pngimage.png

FineReport 壹之型 发布于 2021-3-12 17:03 (编辑于 2021-3-12 17:04)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共6回答
最佳回答
0
壹之型Lv5初级互助
发布于2021-3-15 17:27

9.0和10.0的服务器传参过来数据格式有差异。。

最佳回答
1
free_zzLv6中级互助
发布于2021-3-12 17:04(编辑于 2021-3-12 17:04)

${IF(len(门店) > 2, "and 归属门店 in ('"+门店+"')"," ")} 

后面多了个逗号,单引号也加上

最佳回答
0
luojian0323Lv7资深互助
发布于2021-3-12 17:04

""之间没有必要加空格

门店所在的控件,分隔符是否设置正确:','

  • 壹之型 壹之型(提问者) 我的问题其实是为什么一样的模板9.0 会报错,10.0不报错,是不是10.0对多选下拉框的参数传参格式有问题。单引号的问题
    2021-03-12 17:21 
  • luojian0323 luojian0323 回复 壹之型(提问者) 应该不是单引号的问题哦 你查看一下你那个9.0对应的表中有没有这个字段? 也许你两个版本数据连接不太一样呢。只是猜测。
    2021-03-12 17:26 
  • 壹之型 壹之型(提问者) 确实是传参格式有差异
    2021-03-12 17:45 
最佳回答
0
wangfutaoLv5初级互助
发布于2021-3-12 17:05(编辑于 2021-3-15 15:35)

${IF(len(门店) > 2, "and 归属门店 in ("+门店+")"," ",)} 你这个最后面为啥多了个逗号,

应该是这样的

${IF(len(门店) > 2, " and 归属门店 in ('"+门店+"')", "")}

对了,下拉复选框的那个要选字符串,然后分隔符是','

最佳回答
0
在下邢某人Lv4见习互助
发布于2021-3-12 17:10(编辑于 2021-3-12 17:13)

如前面答案所说,后面多了一个逗号。然后如果你取的下拉框的值是Long类型的,那么你条件这么写没有问题。如果你取的下拉框的值是String 类型,那你就要改成${IF(len(门店) > 2, " and 归属门店 in ('"+门店+"')"," ")} ,就是参数外层加单引号。如果你这个是下拉多选框,且取的值是String类型,那么还要把分隔符设置为','

大佬是不是来钓鱼的啊

  • 壹之型 壹之型(提问者) 我的问题其实是为什么一样的模板9.0 会报错,10.0不报错,是不是10.0对多选下拉框的参数传参格式有问题。单引号的问题
    2021-03-12 17:21 
  • 壹之型 壹之型(提问者) 这个我开DB日志监控下吧。只是看大佬知不知道
    2021-03-12 17:21 
最佳回答
0
CD20160914Lv8专家互助
发布于2021-3-15 15:35

${IF(len(门店) > 2, "and 归属门店 in ("+门店+")","and 归属门店='"+门店+"'")

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