数据查询权限过滤

通过数据工厂拿到了登录人的权限sql,如何将权限sql拼接到数据查询中限制只展示权限范围内的内容

FineReport FR-Harper 发布于 2023-8-10 09:46
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
FR-HarperLv2见习互助
发布于2023-8-10 11:35

使用label存储了数据工厂信息,在数据查询时获取label的信息

最佳回答
0
用户k6280494Lv6资深互助
发布于2023-8-10 09:48(编辑于 2023-8-10 09:57)

select * from name in (select name from b)

select * from b where name in (${参数})

image.png

  • FR-Harper FR-Harper(提问者) 标准的语法都没对哦,select * from table where name in( select name from tebleB) 我的问题是( select name from tebleB)这一段是通过另一个数据工厂模块拿到的,怎么放到数据查询里面来
    2023-08-10 09:51 
  • 用户k6280494 用户k6280494 回复 FR-Harper(提问者) 当成参数啊
    2023-08-10 09:52 
  • 用户k6280494 用户k6280494 回复 FR-Harper(提问者) 把括号里那段sql直接当成参数,传到数据集的sql里面
    2023-08-10 09:54 
  • 用户k6280494 用户k6280494 回复 FR-Harper(提问者) 忘了加{}
    2023-08-10 09:56 
  • FR-Harper FR-Harper(提问者) 这个好像只能拿FRDemo1这个库的吧,写sql好像获取不到属于外部数据接口获取的数据呢
    2023-08-10 10:19 
最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-8-10 09:54
最佳回答
0
CD20160914Lv8专家互助
发布于2023-8-10 09:56

数据工厂数据集- FineReport帮助文档 - 全面的报表使用教程和学习资料 (fanruan.com)

另一个数据集是从这里获取的?那建议你先把这个得到的数据,通过填报写入你们数据库以后再关联表即可

  • FR-Harper FR-Harper(提问者) 这个是动态的呢,根据预览的人实时获取的,每次都写入不行吧
    2023-08-10 10:17 
  • CD20160914 CD20160914 回复 FR-Harper(提问者) 动态的话不好弄,你还是想办法如何存入表中吧,不然他们关联不到!
    2023-08-10 10:24 
最佳回答
0
AzureLLv2见习互助
发布于2023-8-10 10:11(编辑于 2023-8-10 10:29)

select * from A where 1=1

${if(1 != 1,"",

" and t.CUSTOMER_NAME in (

select Decode(Dpa.CUSTOMER_NAME,'ALL' ,t.CUSTOMER_NAME,Dpa.CUSTOMER_NAME) from DWS_FL_C_CUSTOMER_AUTH Dpa 

where dpa.User_Code = '"+ fine_username +"') "

)} 

说明:fine_username   BI用户账号;A     需要继续数据权限过滤的目标表;

DWS_FL_C_CUSTOMER_AUTH     用户权限表 

  • 3关注人数
  • 491浏览人数
  • 最后回答于:2023-8-10 11:35
    请选择关闭问题的原因
    确定 取消
    返回顶部