BI模板内获取用户登录用户所属角色

6216
9

Carson 小试身手Lv3

发表于2018-8-20 16:24

悬赏100

已解决

楼主
我新建了一个考勤角色,然后将某几个用户加入到了这个考勤角色里面,我想在报表模板里面获取这几个登录用户所属考勤角色的ID,可以获取到吗?如果可以改怎么获取?

最近看过此主题的会员

AgentP

gaoxg

15633597537

esen_3G8UN21O2849

zly_2960

chestnut

嗨我来了

lyg

阿瓦大

esen_4Y3L5ADO80

最佳答案
Carson 发表于 2018-8-20 17:01
现在的问题是,后天数据库表里面那张表存放的是角色与属于这个角色的关系表,如果不能通过登录用户取到所属 ...

这是我刚建的一个用户,和两个角色,这一个用户有两个角色,然后通过字符函数把第三个$后面的值取出来
select * from ES10_PERMISSION where resourcetype_='4' and authid_='ceshi'



还有一种方式:对用户开放一个扩展属性,把角色维护进去

针对login对象获取不到role信息,我们会向内部反馈,后续会持续跟进同步给您
9个回答

只看楼主

混乱七星天 数据达人Lv4

发表于2018-8-20 16:45

只看该作者

取消 关注该作者的回复

沙发

目前角色通过login对象暂时获取不到,但是可以尝试使用ardb通过sql取出来,具体还得看看您的使用场景,建议您先描述一下您的需求,如果可以,把表样发上来我们一起看看

混乱七星天 数据达人Lv4

发表于2018-8-20 16:48

只看该作者

取消 关注该作者的回复

板凳

在BI中,ardb函数有两种用法,一种是用在SQL过滤,形如标题;另一种是返回一个数组对象,可以作为另一种分析的源,例如较大数据量的聚类分析,一般都需要使用ardb来准备数据。
示例:a.USERID_ in ardb("select distinct userid_ from b where substr(bbq_,1,4) ='<#=@bbq#>'")

Carson 小试身手Lv3

发表于2018-8-20 16:48

只看该作者

取消 关注该作者的回复

地板

就是在这个角色里面的人,可以查看全部的人员积分,每个用户登录只可以看到自己的积分,这样,只要分配了用户角色,就相当于分配了查看权限

混乱七星天 数据达人Lv4

发表于2018-8-20 16:51

只看该作者

取消 关注该作者的回复

5#

Carson 发表于 2018-8-20 16:48
就是在这个角色里面的人,可以查看全部的人员积分,每个用户登录只可以看到自己的积分,这样,只要分配了用 ...

您先按照我上面的示例用ardb来尝试一下

Carson 小试身手Lv3

发表于2018-8-20 17:01

只看该作者

取消 关注该作者的回复

6#

现在的问题是,后天数据库表里面那张表存放的是角色与属于这个角色的关系表,如果不能通过登录用户取到所属角色ID,过滤没发做的

混乱七星天 数据达人Lv4

发表于2018-8-20 16:24

只看该作者

取消 关注该作者的回复

7#

Carson 发表于 2018-8-20 17:01
现在的问题是,后天数据库表里面那张表存放的是角色与属于这个角色的关系表,如果不能通过登录用户取到所属 ...

这是我刚建的一个用户,和两个角色,这一个用户有两个角色,然后通过字符函数把第三个$后面的值取出来
select * from ES10_PERMISSION where resourcetype_='4' and authid_='ceshi'



还有一种方式:对用户开放一个扩展属性,把角色维护进去

针对login对象获取不到role信息,我们会向内部反馈,后续会持续跟进同步给您

Carson 小试身手Lv3

发表于2018-8-20 18:18

只看该作者

取消 关注该作者的回复

8#

已解决,过滤条件如下
if(@admin='admin',1=1,if('0021'= ardb("select right(resourceid_,4) roleid from biemp.ES10_PERMISSION where resourcetype_='4' and  authid_='<#=@admin#>' limit 1"),1=1,if(@td='5',RYJF.ORG_CODE = @sstd,RYJF.emp_code=@uc)))
0021是角色id,@admin参数是登录用户ID

坏小孩 初学数据Lv2

发表于2018-8-21 09:25

只看该作者

取消 关注该作者的回复

9#

Carson 发表于 2018-8-20 18:18
已解决,过滤条件如下
if(@admin='admin',1=1,if('0021'= ardb("select right(resourceid_,4) roleid from  ...

混乱七星天 数据达人Lv4

发表于2018-8-21 10:15

只看该作者

取消 关注该作者的回复

10#

Carson 发表于 2018-8-20 18:18
已解决,过滤条件如下
if(@admin='admin',1=1,if('0021'= ardb("select right(resourceid_,4) roleid from  ...

棒棒棒

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号