专门研究各种报表工具软件和BI商业智能分析工具

如何通过用户上下文信息控制报表元素的可见性

在查看报表时,经常同一张报表,需要根据查看者的省份,对需要显示的元素进行控制,以保证数据的权限控制和安全管理。
在Wyn Enterprise报表软件当中,每个可视化元素都有丰富的配置属性。其中,隐藏属性可以用来控制报表元素的可见性。
其属性值可以通过表达式来进行控制。

实现基于用户上下文信息的报表元素可见性控制,核心步骤如下:
1.通过表达式获取当前用户上下文信息;
   使用UserContext.GetValue函数来获取当前登录用户的上下文信息。具体使用方法参考:
https://help.grapecity.com.cn/pages/viewpage.action?pageId=50017924

2.将元素的隐藏属性设置为对应的表达式。

本文以控制图表的可见性和表格列的可见性为例进行讲解。
根据用户角色控制可见性,如果是销售总监则可以查看到类别利润占比饼图和表格中的利润列,如果不是,则看不见。
1.控制图表的可见性
1.1设计报表的核心元素

1.2 设置圆环图的隐藏属性
选中圆环图,在显示选项中设置【隐藏属性】表达式:
=IIF(InStr(Join(UserContext.GetValues("role"),","),"销售总监")>0,false,true)

表达式释义:如果当前用户的角色中有“销售总监”这个角色,则返回假,即不隐藏;否则为真,即隐藏。


2.通过表达式中表中的中列可见性
2.1 在表格中选中需要隐藏的列头,并设置其【隐藏】属性。

2.2 设置隐藏表达式,1.2中的步骤

示例效果:
销售总监报表:可以看到类别的利润占比圆环图和表格中的利润列。


销售经理:只能看到自己所负责地区的省份数据,看不到其他不属于他权限内可见的元素。 

posted @ 2020-07-31 08:52  智能报表工具知识园地  阅读(142)  评论(0编辑  收藏  举报