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 ( RoleAcce***层", SUM ( '案例数据'[Budget] ), SUM ( '案例数据'[Amount] ) )

将其放入到可视化中,我们来看一下效果。

DAX控制列权限的方式,最佳实践是与SSAS搭配使用,这样可以在Tabular中将列进行隐藏,只呈现DAX给用户,实现真正的OLS管控。

注意事项:

1.权限控制可以在本地部署和云上Servers使用,本机免费版仅可以通过角色进行查看。

2.云上Servers使用最低许可证需要为Pro账号。

3.云上Servers需要将被分享用户添加到对应工作区,权限为“查看器”。且需要在同一组织中。

4.需要对数据集安全性进行设置,将用户邮箱添加到角色里面。

(白茶:文件在知识星球)

这里是白茶,一个PowerBI的初学者。