微软配合PBI新出的PBI Report builder,其实和SSRS的功能类同,出这个就是为了拓展PBI的功能项,将分页报表也纳入其中。PBI已经不是单纯的BI工具了,他在适应中国企业的报表需求,将多种人群多种环境的需要都纳入其中。
尤其是当SSRS的报表可直接用RB打开的时候,你可以预想到,一些企业会开始抛弃他们的报表服务器,转而将PBI云端作为他们的报表服务器。不论是考虑到企业内部报表的集成性,还是负担一台服务器所需的资源(服务器资源、系统平台工程师),都会让一些企业开始进行SSRS报表的迁移工作,尤其是当他们本身就在使用PBI,还感觉良好的时候。
最近玩到这一块,这边简单记录一下关于RLS控制的实现。
需求:实现不同用户登录PBI云端时,查看同一份报表时,只能查阅指定权限。
假定我们现在拥有一张权限表和数据表。
权限表中存在用户账号、权限控制字段。
数据表中存在权限控制字段、详细数据字段。
实现思路:
1、获取用户登录账号,用该账号对权限表进行筛选,得到该用户下的权限控制字段;
2、用该用户下的权限控制字段,对数据表进行筛选,获取详细数据字段。
实现注意点:
1、RB内部存在一个UserID,可获取当前用户的登录账号,但需要你先确认,获取到的是用户邮箱还是用户账号名(一般都是邮箱)。值得注意的是,在本地环境跑的时候,即便你登陆了PBI账号,获取到的也只会是电脑登录的域账号,和云端跑出来的内容不同。
2、RB的筛选会自带层级,例如你有AB两个筛选,A筛选先于B,则跑报表的时候,只有当你选了A筛选,B筛选才会处于可用状态。这块详细内容,微软官网关于SSRS的内容中也有所描述,RB只是继承了这一特性。
3、RB可以直连PBI云端数据源,这个操作和连接SSAS源几乎可以说是完全一致(加“几乎”只是为了表述严谨,事实上我还没有找到不同点)。
4、RB目前还存在不稳定性,尤其是大数据量连接时,反应比较慢,还有其他一些细致的毛病,但在我测试的这段时间里,能感觉到他的迭代,可以看出PBI大佬对这块关注,后续应该会更好用一些。
网友评论