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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Power BI 如何实现具有组织结构层级的RLS、及多条件RLS相关的知识,希望对你有一定的参考价值。

参考技术A

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

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

2) 新建username 度量值

需要用到path函数
path函数效果可参考:

思路是:用path将员工的层级结构列出来,在建立role时,只要层级里包含当前用户就能显示出来
1)构建表格

2)为角色表新增一列path路径

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

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

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

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

报错排查:

在PQ里将空值替换成null

power bi如何抓取连续的分秒

参考技术A 添加列-提取-日期-年/月。
如需动态可使用表函数MIN/MAX,这样生成出来的日期表是随着事实表而变动的动态日期表。
PowerBI是软件服务、应用和连接器的集合,它们协同工作以将相关数据来源转换为连贯的视觉逼真的交互式见解。

以上是关于Power BI 如何实现具有组织结构层级的RLS、及多条件RLS的主要内容,如果未能解决你的问题,请参考以下文章

奥威Power-BI 水利行业BI解决方案:水环境功能区划分

如何在 Power BI 的日期层次结构中包含“时间”

用Power BI打造企业中的数据文化和氛围

Power-BI的Power-BI标准解决方案介绍

SQL Server 中的函数需要在 Power BI 中具有可选参数

如何在 Power BI 中使用 Python 脚本实现插补?