验证公式问题

验证公式:image.png

已知去除H4条件后 公式sql()可以正常运行,但是去除后无法满足查询需求。

image.png

红框为H4内容,怎么能让这个sql成功查询查询之后要在sql的外面用len()包起来,看这个sql的长度是否大于零image.png通过性能分析插件得知应该是由于该数据列为横向扩展导致sql没有获取到值 ,怎么样解决比较好。需求是实现具有重复性的数据不能再次提交的验证,我想的方法是安装数据库搜索出来数据则不能提交,

FineReport 用户DRQXF9153762 发布于 2022-11-9 10:16 (编辑于 2022-11-9 13:53)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
snrtuemcLv8专家互助
发布于2023-5-19 19:10

其实你可以直接在报表单元格,假设A1单元格,=H4 ,获取H4扩展的所有值

然后你的sql语句

XXXX_code ='"+H4+"' and XXXX

改成

XXXX_code in ('"+H4+"')  and XXXX

格式。这样就可以获取了

最佳回答
0
congerLv6高级互助
发布于2022-11-9 10:19(编辑于 2022-11-9 10:21)

你这个H4是不是扩展的,拼接后应该是公式出问题了

试试这个插件 

https://help.fanruan.com/finereport/doc-view-3639.html

看一下是不是拼接后的sql有问题

最佳回答
0
用户k6280494Lv6资深互助
发布于2022-11-9 10:22(编辑于 2022-11-9 10:23)

count(sql("FRDemo","select * from 表 where 字段='"+ H4 +"'",1,1))

count(value("ds1",1,1))

  • 用户DRQXF9153762 用户DRQXF9153762(提问者) 这不是len和count的问题 也不是sql最后加,1的问题,这些之前我试过了,显示是空的 没有效果
    2022-11-09 10:26 
最佳回答
0
吾姓独孤Lv6高级互助
发布于2022-11-9 10:44(编辑于 2022-11-9 11:03)

你先不用sql函数,你先直接显示H4单元格看看出来什么样的数据,是没有数据,还是数组,还是什么,要不发下内置数据集模板看看

简单模拟了下,你不用sql函数,只显示sql代码,多条记录

image.png

  • 用户DRQXF9153762 用户DRQXF9153762(提问者) H4就是我发的图里的红框数据
    2022-11-09 10:45 
  • 吾姓独孤 吾姓独孤 回复 用户DRQXF9153762(提问者) 他展示是这样的,但是你不清楚他在你公式里是什么样的呢,你的公式是放在哪里的呢,最好是发下内置数据集模板,大家看到你模板会理解很多,有时候光看照片看的不全面
    2022-11-09 10:47 
  • 用户DRQXF9153762 用户DRQXF9153762(提问者) 回复 吾姓独孤 明白了,已上传模板
    2022-11-09 10:53 
  • 用户DRQXF9153762 用户DRQXF9153762(提问者) 这样好像看不出来搜索结果。
    2022-11-09 11:09 
  • 吾姓独孤 吾姓独孤 回复 用户DRQXF9153762(提问者) 你本来就是要多个值的么,这个情况说明他是显示多个值,你len就错了啊
    2022-11-09 11:10 
  • 5关注人数
  • 468浏览人数
  • 最后回答于:2023-5-19 19:10
    请选择关闭问题的原因
    确定 取消
    返回顶部