问个填报校验的问题,我现在填报的页面数据必须在一段sql查询里面有才能进行提交,这个校验怎么写呢

看下这个校验,这么写有啥问题

c3==sql("mysql","select distinct region  from  dw_qcci_bi.dw_dim_t_dept_config_plus

where 1=1

${if(len(fine_username) == 0||fine_username='admin'||fine_role='管理员',"","and region in (select organization from fr_user_farm t where t.username='"+fine_username+"')")}",1)

FineReport yzmxYDx35608993 发布于 2024-5-21 08:31 (编辑于 2024-5-21 08:55)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
CovidLv3高级互助
发布于2024-5-21 08:32(编辑于 2024-5-21 09:29)

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

--------

LEN(sql("mysql","select distinct region  from  dw_qcci_bi.dw_dim_t_dept_config_plus where 1=1 "+if(or(len($fine_username) == 0,$fine_username="admin",$fine_role="管理员"),"","and region='"+C3+"' region in (select organization from fr_user_farm t where t.username='"+$fine_username+"')")+"}",1,1))>0

  • yzmxYDx35608993 yzmxYDx35608993(提问者) 补充了下,感觉公式写不对
    2024-05-21 08:55 
  • Covid Covid 回复 yzmxYDx35608993(提问者) 公式改上面了
    2024-05-21 09:29 
最佳回答
0
snrtuemcLv8专家互助
发布于2024-5-21 08:33

参考联立多字段校验是否与数据库中数据重复 https://help.fanruan.com/finereport/doc-view-3032.html

与数据库中数据对比校验 https://help.fanruan.com/finereport/doc-view-566.html

JS校验填报值是否在数据库中存在 https://help.fanruan.com/finereport/doc-view-4548.html

  • yzmxYDx35608993 yzmxYDx35608993(提问者) 补充了下,感觉公式不对
    2024-05-21 08:56 
  • snrtuemc snrtuemc 回复 yzmxYDx35608993(提问者) 两个问题点,1、这个需要在决策系统才能生效,普通预览获取不到fine_username,2、你是sql函数去了一列数据,不是单个数据,除非你C3单元格也是一列数据的字符串,你可以试试直接sql函数在单元格看看取到什么值
    2024-05-21 09:01 
最佳回答
0
free_zzLv6中级互助
发布于2024-5-21 09:12

你这写的不对啊

这段写在数据集里面

select distinct region  from  dw_qcci_bi.dw_dim_t_dept_config_plus

where 1=1

${if(len(fine_username)= 0||fine_username='admin'||fine_role='管理员',"","and region in (select organization from fr_user_farm t where t.username='"+fine_username+"')")}

把这个数据集字段拖到单元格中

校验公式:C3 = 拖的单元格

  • 3关注人数
  • 213浏览人数
  • 最后回答于:2024-5-21 09:29
    请选择关闭问题的原因
    确定 取消
    返回顶部