首页 » SEO优化 » phppowerbi技巧_运用Excel和DAX函数轻松实现Power BI申报进行动态的权限控制

phppowerbi技巧_运用Excel和DAX函数轻松实现Power BI申报进行动态的权限控制

访客 2024-11-19 0

扫一扫用手机浏览

文章目录 [+]

利用Power BI行级安全性,限定用户访问权限

Power BI行级安全性三种常见的角色规则设置

phppowerbi技巧_运用Excel和DAX函数轻松实现Power BI申报进行动态的权限控制

有伙伴问能不能对每个账户的权限,进行动态的设置,让管理员能够更灵巧的掌握对每个用户的权限,而不用必须在角色设置里分别调度。

phppowerbi技巧_运用Excel和DAX函数轻松实现Power BI申报进行动态的权限控制
(图片来自网络侵删)

实在还有个DAX函数USERNAME,它可以获取当前登录的账户,利用它就能够灵巧的掌握权限,这个函数也紧张用于行级安全性。

如果这是在Excel中掩护的一个权限表,有这三个账户,每个人可以查看的权限如下:

以张三为例,它的权限是可以查看北京、上海的耳机和贴膜数据。
将这个权限表,导入到须要掌握权限的Power BI报告中,先在PowerQuery中将这个表整理一下。

由于在Excel中为了方便录入和管理权限列表,让每个账户的产品权限和城市权限都挤在一个单元格中,现在须要将他们分开,可以利用PowerQuery的分列功能"拆分到行"来处理,比如选中“产品权限”列,实行按分隔符拆分列:

关于分列,可参考:Powerquery数据处理:你该当会用到的分列技巧

对付“城市权限”列,也实行同样的操作,终极将数据整理如下:

权限表上载到模型后,不须要与其他表建立关系,而是写两个度量值:

产品权限 = VAR product_access=CALCULATETABLE( VALUES('权限表'[产品权限]), '权限表'[账号]=USERNAME() )RETURN SELECTEDVALUE('产品表'[产品名称]) IN product_access

这个度量值的逻辑是,通过当前登录的账户,筛选出它在权限表中可访问的产品名称列表,末了判断当前高下文的产品名称是否在这个列表内,返回一个布尔值。

同理,写一个城市权限的度量值。

城市权限 = VAR city_access=CALCULATETABLE( VALUES('权限表'[城市权限]), '权限表'[账号]=USERNAME())RETURN SELECTEDVALUE('客户表'[客户城市]) IN city_access

然后创建一个角色“权限动态掌握”,分别在产品表和客户表写入以下筛选表达式:

这样,按权限表的动态掌握就设计好了,可以用“张三”的身份测试,

效果如下:

和权限表中该账户的权限是同等的。

如果某个用户的权限须要调度,直接在Excel表中修正就可以,比如张三的权限增加“数据线”和“广州市”:

在PowerBI中无需再进行权限设置,只须要点击刷新,“张三”的报告就将显示为:

是不是非常灵巧。

权限表可以根据自己的须要来设置,并不是必须是上面的格式,不过终极都要整理成类似一维表的样式,以方便获取当前用户的权限列表,并且权限表的格式一旦确定,不要随意改动,否则刷新可能会报错。

以上便是利用USERNAME和权限表动态分配权限的例子,利用这个特性,还可以有其他灵巧的运用,下篇文章先容一个更实用的技巧。

更多精彩:

PowerBI中的关系为什么有虚线?这篇文章见告你

PowerBI常用的业务剖析:按排名分组统计

PowerBI报告设计技巧:一键部分重置

采悟 | PowerBI星球

标签:

相关文章