BI可视化在实施过程中,用户最关注的点有哪些?
这个问题相信很多小伙伴都遇到过,或者被其他人问过,白茶总结了一下用户比较在意的几个点:安全性、自助性、权限管控、易用性、兼容性、扩展性、便捷性、反应速度等。
本期呢,我们来聊一聊关于权限管控那些事。
PowerBI截至目前为止,可以实现的权限管控包含三方面:页面权限、行权限、列权限。
那么这三者在PowerBI中是如何实现的呢?别急,跟着白茶的思路走。
先来看看本期的案例数据:
案例数据并不是很复杂,共计三张表,分别是权限表、国家表以及案例数据。
将其导入到PowerBI中,我们对权限表进行一下简单的处理。
这是在PowerQuery中关于权限表的截图,大家可以看到页面权限和国家权限采用逗号分割的方式进行存储。
我们需要对这两列进行一下拆分处理。
选择“页面权限”,选择“拆分列”,选择按“分隔符拆分”。
选择“自定义分隔符”,输入文本间的间隔,选择高级选项,选择拆分为“行”。
结果如下:
同理,根据上面的操作,我们将“行权限”进行拆分。
这样做的好处在于,报表正式投入使用后,用户只需要维护Excel文件中的权限配置,PowerBI就会在后台自动执行拆分,进行报表权限控制。
选择关闭并应用,模型如下图。
这里注意一下,权限表不需要与其他表建立模型关系。
白茶根据案例数据,简单的做了如下几个报表。
首页:作为页面权限管控使用,使用字段为权限表中的页面权限字段。
可视化页面:用来展示列权限。
明细页面与地图页面:展示页面权限与行权限使用。
到这里,我们的准备工作基本完成,我们来看一下,三者在PowerBI中的实现方式。
页面权限:
1.报表页面命名与隐藏。
这里大家需要注意,报表页面的名称,一定要与Excel中的文本相对应,不然会导航失败。
当我们配置完成后,除了首页之外的页面,均要设置为隐藏;发布时页面要停留在首页。
2.页面权限配置:选择“管理角色”,选择创建一个角色“页面权限”,在“权限表”输入以下代码。
[邮箱]=USERNAME()
3.页面设置:切片器字段选择权限表中的“页面权限”字段。
添加如下度量值:
页面选择 =
SELECTEDVALUE ( '权限表'[页面权限] )
添加按钮,在“操作”设置中选择类型为“页导航”,点击“fx” 按钮,选择字段值为“页面选择”。
到这里,页面权限配置完成,我们点击面板上的“通过以下身份查看”。
其他用户这里面我们可以输入用户的邮箱进行测试。
我们输入BB测试一下:
可以看到,当我们输入BB邮箱时,切片器会自动的根据用户的权限进行页面筛选。
行权限(RLS):
行权限这个往往代表用户所能看到的数据范围。
1.添加如下度量值:
国家权限 =
VAR CountryAccess =
CALCULATETABLE ( VALUES ( '权限表'[行权限] ), '权限表'[邮箱] = USERNAME () )
RETURN
SELECTEDVALUE ( '国家表'[CountryZH] ) IN CountryAccess
2.在管理角色页面添加新角色如下。
代码如下:
[国家权限]=True()
这样我们能看到的数据范围,就会根据用户的权限进行筛选。
我们在报表页面进行一下简单的查看。
列权限(OLS):
列权限管控,通常代表用户可以看到不同的列。
在PowerBI中,有两种方式可以实现:A.Tabular Editor的方式。B.DAX的方式。
这两种方式,A的方式其实白茶不太建议大家去使用。
举个例子:Tabular Editor可以控制某一物理列根据用户权限是否显示,那么这一列,制作报表的过程中,就需要慎用,一旦使用了,某些无权限的用户打开报表时,报表页面就会有部分可视化图表报错,这对用户的体验来说,非常的差。
B的方式,是白茶比较推荐大家的,将列权限写进DAX中,这样更加的灵活。
模拟场景:
若用户是“管理层”,则图表显示“Budget”数据,若用户是“执行层”,则图表显示“Amount”数据。
编写如下DAX:
列权限 =
VAR RoleAccess =
CALCULATETABLE ( VALUES ( '权限表'[角色] ), '权限表'[邮箱] = USERNAME () )
RETURN
IF ( RoleAccess = "管理层", SUM ( '案例数据'[Budget] ), SUM ( '案例数据'[Amount] ) )
将其放入到可视化中,我们来看一下效果。
DAX控制列权限的方式,最佳实践是与SSAS搭配使用,这样可以在Tabular中将列进行隐藏,只呈现DAX给用户,实现真正的OLS管控。
注意事项:
1.权限控制可以在本地部署和云上Servers使用,本机免费版仅可以通过角色进行查看。
2.云上Servers使用最低许可证需要为Pro账号。
3.云上Servers需要将被分享用户添加到对应工作区,权限为“查看器”。且需要在同一组织中。
4.需要对数据集安全性进行设置,将用户邮箱添加到角色里面。
(白茶:文件在知识星球)
这里是白茶,一个PowerBI的初学者。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。