...
以上数据在本示例中都存储于MySQL数据库中,接下来我们来实现数据权限控制。
实现步骤
一、创建用户
在smartbi中,创建用户组和用户,其中用户组的名称与业务数据中的机构信息一致。如下:
二、设置数据权限
接下来在进行数据权限的设置,有三种方式进行设置。如下:
方式一:简单参数实现方式
在所有报表上增加“选择机构_ALL”参数,该参数为多选参数,根据当前登录用户的机构信息,可下拉选择该用户的机构及下属机构进行数据的查看。
...
缺点:机构参数中不存在层级的关系,并且机构的显示顺序有可能是无序的
设置步骤如下:
1.创建参数
创建一个下拉框参数,参数名称为“选择机构_ALL”,数据类型为“字符串”,控件类型为下拉框
勾选“允许多选”
备选值设置为
select INST_NAME from perm_inst where INST_NAME=CurrentUserDefaultDepartmengName() or INST_NAME1=CurrentUserDefaultDepartmentName() or INST_NAME2=CurrentUserDefaultDepartmentName() or INST_NAME3=CurrentUserDefaultDepartmentName()
其中 为系统函数,获取当前用户默认所属组的名称,然后与INST_NAME、INST_NAME1、INST_NAME2、INST_NAME3几个字段进行过滤,查询出当前用户默认所属组的机构及所有下级机构
以“广州联社”机构下的用户登录为例,备选值结果如下:
几种情况:
1.参数中直接包含所有的机构
2.先选择层级,再下拉选择对应层级的机构
...