Power BI页面级权限控制,其实只需要这3步

平时被经常问到的一个问题,就是PowerBI能不能按页面进行权限控制?比如A用户只允许查看报告的第2页,B用户只能查看第6页等,PowerBI本身是没有这个功能的,行级安全性(RLS)也是只能限制数据行,并不能按页面来控制。

不过既然行级别安全性能控制行,我们就利用这个特性,让每个页面的名称作权限表的行,不同的用户能看到不同的页面名称,然后利用导航跳转到对应的页面,不就可以实现了吗?这也正是本文页面级权限控制方案的基本思路。

运用这个方案需要先熟悉PowerBI的RLS功能,关于RLS我前面已经做了足够的铺垫,如果你还不熟悉,请先阅读这几篇文章:

利用Power BI行级安全性,限制用户访问权限
Power BI行级安全性三种常见的角色规则设置
利用Excel和这个函数,对PowerBI报告进行动态的权限控制

下面就让我们开始吧。


以下面这个PowerBI报告为例,正文报告有4个页面,页面名称分别为整体、电脑外设、手机配件和智能设备

1、导入权限表

首先在Excel中制作一个页面权限表:

在权限表中,张三可以查看电脑外设页、手机配件页;李四只能查看智能设备页;王五可以查看所有页面。

将这个表导入到PowerBI中,并利用PowerQuery的分列功能整理成下面的一维表样式:

其实你也可以按这个表的格式录入到Excel权限表,直接导入使用,不用在PowerQuery中整理了。

2、创建角色

创建一个新的角色"页面控制",表达式非常简单,直接在页面权限表添加一个筛选条件:

[账号] = USERNAME()

3、设计封面页

因为是按页面控制权限,这个报告中原有的4个页面不能直接展现,要全部隐藏起来,取而代之的是设计一个封面落地页,让用户先看到该页,然后再根据权限导航到相应的页面,所以,封面页非常重要。

在封面页中,利用权限表中的“页面权限”字段,添加一个切片器,这个切片的内容来自权限表,根据角色规则,它会随着不同的登录账户,返回不同的内容。

然后在切片旁边添加一个按钮:

设置按钮的操作属性:

在【类型】里选择“页导航”,【目标】里放置一个度量值,它的写法为:

页面导航 = SELECTEDVALUE( '页面权限表'[页面权限] )

这个度量值很简单,返回当前切片器的选项内容,但【目标】里可以放度量值,这个功能非常关键,可以说是这个解决方案不可或缺的一环,利用它,才可以实现点击按钮,导航到切片器所选的那一页。

至此,所有的关键节点都已经部署完成。

关于封面页,既然是每个用户打开报告第一眼就看到的,要尽量做的高上大,可以找张图片在PPT中设计好,作为封面页的背景,将切片器和导航放置到相应的位置上,一个按页面级权限控制的报告就设计好了:

还可以用度量值将当前登录的用户名显示出来放到封面上:

当前登录用户名 = CALCULATE( MAX('页面权限表'[用户名]), '页面权限表'[账号]=USERNAME() )&""

然后将这个报告发布到相应的工作区中就可以了。


某个夏日的午后,张三喝着咖啡,打开电脑,登录自己的PowerBI账户,查看他负责的业务进展情况:

一切都是那么的自然。

全神贯注的他,浑然不觉此时的李四,也打开了这个报告,看着与他完全不同的内容……


同样,当有用户需要调整页面权限时,只需要在Excel中更改就行了,如果不在权限列表中的用户,也打开了这个报告,那么他只能欣赏一下封面,什么都看不了:

这个方案并不复杂,灵活运用了PowerBI中的常用功能,行级安全性是灵魂,动态页导航是关键。

本文介绍有总体思路,也详细描述了操作细节,希望能帮你设计一个页面级权限控制的PowerBI报告。


PowerBI商业数据分析
帮你从0到1,轻松上手PowerBI

(0)

相关推荐

  • 前后端分离模式下的权限设计方案

    作者:_liuxx cnblogs.com/liuyh/p/8027833.html 前后端分离模式下,所有的交互场景都变成了数据,传统业务系统中的权限控制方案在前端已经不再适用,因此引发了我对权限的 ...

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

    Power BI报告有多种分享协作方式,不仅可以让用户查看报告的所有数据,还可以根据用户角色进行数据限制,让特定用户只查看部分与之相关的数据. 按角色分享用到的就是PowerBI中的行级安全性(Row ...

  • 如何为Power BI页面批量插入背景图片?

    PowerBI的页面背景可以插入图片,不过只能一页一页的添加,如果报表的页面很多,这样添加起来也会比较麻烦,能不能一次性为所有的页面批量添加背景图片呢? 通过页面设置无法做到批量添加,不过利用Powe ...

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

    上篇文章介绍了PowerBI行级安全性设置的一般步骤,本文再继续介绍一些常用的权限管理角色的设置. 仍然以下面这个PowerBI报表和业务人员张三为例, 前面介绍的是张三负责上海地区的业务,下面根据他 ...

  • Power BI技巧 | 如何让切片器只显示有数据的选项?

    使用PowerBI做数据分析的基础,要先建立合适的数据模型,将数据表分为维度表和事实表,在做可视化时,坐标轴.切片器等上下文应该来源于维度表的字段. 但是很多人不喜欢用维度表,其中一个原因是,如果用维 ...

  • 【实施经验】NC65预算控制规则之:预算末级科目不控制,只控制上级总数

    预算控制场景:预算表中预算科目的末级不控制,只控制上级总数. 预算表编制方式: 客户一般会习惯性地把预算科目末级和上级的预算金额都编制进预算报表,因为预算科目的上级数一般来源于下级科目的合计数.如图一 ...

  • 权限控制(delphi actionlist)

    在软件开发中,为软件加入权限控制功能,使不同的用户有不同的使用权限,是非常重要的一项功能, 由其在开发数据库方面的应用,这项功能更为重要. 但是,要为一个应用加入全面的权限控制功能,又怎样实现呢? 大 ...

  • PBI-基础入门:通过一个简单的案例体会Power BI的数据分析过程

    小勤:用个例子给我讲讲Power BI怎么用的呗. 大海:好吧,Power Query你学了那么多,Power Pivot也基本入门了,Power BI也可以同步开始学了,反正PQ和PP的知识除了操作 ...

  • PBI-基础入门:Power BI是什么?

    按照微软的艰涩定义(不喜欢看的可直接略过本段):Power BI 是软件服务.应用和连接器的集合,它们协同工作以将相关数据来源转换为连贯的视觉逼真的交互式见解.无论你的数据是简单的 Excel 电子表 ...

  • PBI-基础入门:Power BI的基本组成

    Power BI主要有3大块产品组成: PowerBI Desktop:即数据分析人员用来做数据处理.构建模型和数据分析的客户端,是数据模型和分析的设计器. PowerBI Service:即经过Po ...