概览
内容工具
实际的生产环境中经常需要根据用户的角色来决定他能查看哪些数据,而已有的数据表中却没有与角色匹配的字段。
此时,我们需要将角色信息添加到过滤器中进行数据过滤。
场景&需求:
某大学使用仪表板在大屏中分析显示学校的数据,想要达到如下效果:
使用同一个仪表板,不同角色用户来查看时,所能看到的数据范围(行)是不同的。
具体如下:
我们这里以全局组织为例,所有角色都是在全局组织中,由系统管理员来创建该数据集。
(1) 在系统中创建对应的角色和用户。
(2) 添加扩展属性“所管学院”,由于分管校长管辖多个学院,因此这里需要勾选允许多值。有关扩展属性的介绍,请见扩展属性。
重新编辑用户信息,为各分管校长和院长添加对应的扩展属性值。
(3) 在数据集(本例以报表数据集为例)中添加参数,将扩展属性“所管学院”以及用户“角色”传递给参数,待在过滤器中使用。
并创建三个常量参数:校长、分管校长和院长。
(4) 在数据集上创建过滤器,具体如下,请注意选择各过滤器和组之间的与或关系。
过滤器解读:
当用户角色是“校长”时,满足第一条过滤器。直接获取所有数据。
当用户角色是“分管校长”或“院长”时,还需满足学院过滤条件。
(5) 保存数据集并将数据集分享给校长、分管校长和院长。
(6) 查看效果。
校长赵宽登录系统,查看此数据集时可见所有数据。
分管校长登录系统,查看此数据集时可看到自己管辖学院的数据。
院长登录系统,查看此数据集时仅能看到自己管辖学院的数据。