Power BI 如何实现具有组织结构层级的RLS、及多条件RLS

具有组织层次结构Power BI的动态行级安全性
Remark:以下RLS基于username构建

1. username RLS一般做法

1)先构建基础数据表,如下:
(注:@gmail这儿,一定要换成自己组织的邮箱后缀。因为后续应用时,还需要在service端配置,而非组织内邮箱后缀的账户无法添加)


Power BI 如何实现具有组织结构层级的RLS、及多条件RLS_第1张图片
image.png

Power BI 如何实现具有组织结构层级的RLS、及多条件RLS_第2张图片
image.png

Power BI 如何实现具有组织结构层级的RLS、及多条件RLS_第3张图片
image.png

2) 新建username 度量值


image.png

3)新建角色
Power BI 如何实现具有组织结构层级的RLS、及多条件RLS_第4张图片
image.png

4)在Service端设置邮箱(可以先跳到步骤5测试,实际使用需要service端配置账号)
Power BI 如何实现具有组织结构层级的RLS、及多条件RLS_第5张图片
image.png

5)在desktop中测试看结果
Power BI 如何实现具有组织结构层级的RLS、及多条件RLS_第6张图片
image.png

Power BI 如何实现具有组织结构层级的RLS、及多条件RLS_第7张图片
image.png

2. 具有组织结构层级的话,RLS如何构建

需要用到path函数
path函数效果可参考:https://www.jianshu.com/p/5b51a39976ce
思路是:用path将员工的层级结构列出来,在建立role时,只要层级里包含当前用户就能显示出来
1)构建表格

Power BI 如何实现具有组织结构层级的RLS、及多条件RLS_第8张图片
角色表

Power BI 如何实现具有组织结构层级的RLS、及多条件RLS_第9张图片
sales

2)为角色表新增一列path路径
Power BI 如何实现具有组织结构层级的RLS、及多条件RLS_第10张图片
image.png

3)新建角色
Power BI 如何实现具有组织结构层级的RLS、及多条件RLS_第11张图片
image.png

4)看结果
Power BI 如何实现具有组织结构层级的RLS、及多条件RLS_第12张图片
image.png

Power BI 如何实现具有组织结构层级的RLS、及多条件RLS_第13张图片
manager

Power BI 如何实现具有组织结构层级的RLS、及多条件RLS_第14张图片
name-b

3. 多条件情况下的RLS

Power BI 如何实现具有组织结构层级的RLS、及多条件RLS_第15张图片
sample

如果多筛选条件来自多个表格:


Power BI 如何实现具有组织结构层级的RLS、及多条件RLS_第16张图片
image.png

4. 有些指标希望是全局指标,而非当前用户的

1)这个时候没法用all函数,加载的数据只是当前用户的数据
2)解决方法一: 可以不使用RLS,自己用DAX构建RLS(因为RLS的本质其实用TRUE/False筛选表格)
eg.

Sales.role = CALCULATE( [销售 销售额] , FILTER( '权限表' , '权限表'[PowerBI账号] = [用户 当前用户] ) )

--[用户 当前用户]  = username()

缺点是,度量值如果太多,那么每一个都要这么写,太累了
3) 解决方法二:将涉及到全局指标的表格,复制一份出来,不做权限控制
缺点是数据冗余

5. RLS故障排除

Power BI 如何实现具有组织结构层级的RLS、及多条件RLS_第17张图片
image.png

6. 一个用户,多个角色:

Power BI 如何实现具有组织结构层级的RLS、及多条件RLS_第18张图片
image.jpeg

当一个用户被赋予多个角色时,是取并集。如上述截图,是返回了结果1并上结果2

REFER TO:
https://mp.weixin.qq.com/s?__biz=MzI1MDA4MzcxMA==&mid=2650781832&idx=1&sn=c109316cab83d68c77926ccd66802712&chksm=f18cb899c6fb318ffa21d88dd8674eaac61dddf177fd189de09d94b38f58851c06ff705fd146&scene=21
https://radacad.com/dynamic-row-level-security-with-organizational-hierarchy-power-bi
https://docs.microsoft.com/en-us/power-bi/guidance/rls-guidance

你可能感兴趣的:(Power BI 如何实现具有组织结构层级的RLS、及多条件RLS)