Deneb

在开发报表中我们可能会遇到这样的场景,报表文件里有多个报表页,但是并不是所有人都能看到所有页面。最简单的方法就是根据权限把报表拆分成多份,但是这样做的话后面维护起来就很麻烦,那有没有其他更方便的方法呢?

做过web开发的人可能会说这不是很简单吗?建一个目录表指向不同的页面,然后控制不同角色的目录数。

其实,PowerBI中我们也可以借鉴这个思路来控制报表页的权限。实现原理也很简单,还是行级权限控制而已。具体实现步骤如下

1、创建两张表,一张页面包含页面信息,另一张包含角色权限信息,两张表间并建立关系,如下图

2、新建角色,并控制角色权限

3、创建度量值

page = SELECTEDVALUE( 'Pages'[PageName])
page click = 
IF( HASONEFILTER( 'Pages'[PageName]), "点击跳转到" & [page] , "请选择页面" )

4、插入空白按钮,按钮文本和操作处分别用上面写好的度量值

具体效果可见下面效果图

注意

比如A没有某页的权限,B有,B将这个页面的链接发送给A,A登陆状态下打开链接也是可以看到这个页面的。

最后更新于