1. 概述
1.1 版本
FineBI服务器版本 | 功能变更 |
---|---|
6.0 | - |
1.2 预期场景
当公司机构存在树状的层级关系,每个层级想要分配不同的权限。
比如总行、分行、支行之间存在树状关系,需要根据不同机构为所属用户分配不同权限.
实现效果为总行可以看到所有的数据,分行看到所在分行数据和分行所辖支行所有数据,支行只看自己的数据。
1.3 实现思路
FineBI 多层级/树权限的实现步骤为「构建自循环列 > 服务器数据集导入用户(或者用户同步数据集) > 匹配用户登录所在字段 > 根据机构分配权限 > 根据用户分配权限」。
注:实时数据不支持「自循环列」设置。
用户可用自循环SQL分配权限,详情请参见:使用fine_username参数分配权限 。
序号 | 操作步骤 | 说明 |
---|---|---|
1 | 构建自循环列 | 原始的机构数据在添加到 BI 中以后,通常是不存在树状结构的。通过构建自循环列可以形成树状的机构关系,方便后续根据层级分配权限 |
2 | 导入用户 | 通过服务器数据集导入数据,或者使用用户同步数据集直接同步数据库中保存的用户表 |
3 | 匹配用户登录所在字段 | 将用户登录的账号与系统中保存的用户登录权限表账号进行匹配。此步骤是为了在用户登录系统时,根据用户登录的账号,来匹配用户所在机构 |
4 | 根据机构分配权限 | 根据不同层级的机构分配不同权限,从而在用户登录时根据机构匹配权限 |
5 | 根据用户分配权限 | 若存在某些用户仅能查看自己相关的数据时,可单独为这些用户分配匹配账号的权限,这样用户登录时仅能看到自己的相关数据 |
2. 准备示例数据
点击下载示例数据并解压:样式数据.zip
机构表:包含了银行总行、分行、支行,及对应的「机构码」和「上级机构码」,如下图所示:
用户权限表:包含了银行职员的用户账号、密码、所属机构码、部门及职务,如下图所示:
业务流水表:包含了对应职员能看到的交易数据,如下图所示:
3. 数据准备
3.1 新建 Excel 数据集
管理员登录FineBI系统,点击「公共数据」,添加文件夹「示例数据」。如下图所示:
选中文件夹,添加「Excel数据集」,将上文准备的三张数据表依次导入。
注:导入数据时,机构、上级机构、机构号等字段需要选择为文本字段,否则在下面的自循环列设置中无法选择机构为显示值。
1)在文件夹中添加 Excel 数据集「机构表」,请手动修改「机构」和「上级机构」字段格式为「文本」,如下图所示:
2)在文件夹中添加 Excel 数据集「业务流水表」,请手动修改「地区号」、「机构号」和「柜员号」字段格式为「文本」,如下图所示:
3)在文件夹中添加 Excel 数据集「用户权限表」,请手动修改「账号」和「机构」字段格式为「文本」,如下图所示:
3.2 添加表间关联
点击「公共数据」,选择「示例数据>机构表」,点击「关联视图」,为「机构表」、「用户权限表」和「业务流水表」配置关联关系并更新数据表。如下图所示:
注1:添加关联关系的具体操作请参见:添加表间关联 。
注2:导入数据时机构、上级机构、机构号等字段需要选择为文本字段,否则在下面的自循环列设置中无法选择机构为显示值。
注3:文件夹更新时,不会更新 Excel 数据集关联,可使用全局更新。
3.3 创建自循环列
点击「公共数据」,选择「示例数据>机构表」,点击「编辑」,全选字段,创建「自循环列」,配置机构表的层级关系。如下图所示:
自循环列类型选择「根据两列数据分层」,分层结果显示值选择「机构」和「机构名称」,分层依据 ID 列选择「机构」,Parent ID列选择「上级机构」。
点击「构建关系」和「预览」,可看到如下的分层和数据预览。点击右上角的「保存」即可保存该自循环列操作。如下图所示:
4. 设计仪表板
4.1 新建分析主题
管理员登录FineBI系统,点击「我的分析>新建分析主题」,新建一个分析主题「业务流水」,点击「编辑」按钮。如下图所示:
4.2 添加数据
在「数据」下,点击「添加」按钮,批量选择「公共数据>示例数据」下的业务流水表和机构表,点击「确定」,如下图所示:
选中「业务流水表」,点击「左右合并」,选择「机构表」中的字段,如下图所示:
设置合并方式为「左合并」,合并依据为当前表的「机构号」和机构表的「机构」字段。
点击「退出并预览>保存并更新」,如下图所示:
4.3 添加组件
新增组件「业务流水每日明细」,组件数据为上一节选择添加的数据表「业务流水表」,组件设计如下图所示:
4.4 制作仪表板
使用上一节的组件创建「业务流水仪表板」,如下图所示:
4.5 目录发布仪表板
点击「管理系统>目录管理」,将「业务流水仪表板」挂载到目录列表中。如下图所示:
5. 用户管理
用户的添加方式支持:手动添加、导入用户、同步用户。
本章以「导入用户」为例,确保导入的用户名和上文准备的数据表中的用户名一致即可。
5.1 新建服务器数据集
管理员登录FineBI系统,点击「管理系统>数据连接>服务器数据集」,创建 Excel 文件数据集,如下图所示:
数据集名称为「用户表」,文件类型为「Excel」,文件选择第二章准备的「用户权限表」,点击「保存」。如下图所示:
最终创建的服务器数据集如下图所示:
5.2 导入用户
管理员登录FineBI系统,点击「管理系统>用户管理>所有用户」,点击「导入用户」。
选择添加的服务器数据集「用户表」,并设置对应的「账号、密码、部门、职务」等,点击「确定」。如下图所示:
5.3 设置用户类型
若「平台使用用户」中「PC端使用用户」及其子分类均为「不限人数」,则无需执行本节操作。
若「平台使用用户」中「PC端使用用户」及其子分类限制了人数,则必须执行本节操作,否则无法查看仪表板。
管理员登录FineBI系统,点击「管理系统>用户管理>平台使用用户」,将这些导入的用户添加至「BI使用用户(查看用户或设计用户)」中,如下图所示:
6. 权限配置
注:本章节以部门为权限载体,进行权限配置。管理员也可以根据角色或者用户进行权限设置。若总部的人员不希望被控制权限,可以给总部设置一个角色进行单独控制。
6.1 分配目录查看权限
管理员登录FineBI系统,点击「管理系统>权限管理>普通权限配置」,选择「管理部」和「业务部」。
点击「目录权限」,分别为这两个部门分配目录「业务流水仪表板」的「查看」权限。如下图所示:
6.2 设置登录用户所在字段
管理员登录FineBI系统,点击「管理系统>权限管理>普通权限配置」,选择权限载体为「所有部门」。
点击「数据权限」,点击登录用户所在字段(抽取数据)处的「请选择」,选择「示例数据>用户权限表」里的「账号」字段,即对应用户登录系统的用户名。如下图所示:
6.3 根据机构分配管理部数据权限
管理员登录FineBI系统,点击「管理系统>权限管理>普通权限配置」,选择「管理部」。
点击「数据权限」,为管理部分配「业务流水仪表板」用到的「业务流水表」和「机构表」的「组件数据」权限。如下图所示:
此时管理部的所有人可以看到所有数据。若要实现的是总行可以看到所有的数据,分行看到所在分行和管辖支行的数据,支行看到自己的数据,需要根据所在机构配置用户数据权限。
选择「机构表」后的「权限设置」按钮,添加行权限条件,使得「机构表.机构」字段「属于(登录者信息)」的「用户权限表.机构」字段,点击「确定」,如下图所示:
6.4 根据用户分配业务部数据权限
管理员登录FineBI系统,点击「管理系统>权限管理>普通权限配置」,选择「业务部」。
点击「数据权限」,为业务部分配「业务流水仪表板」用到的「业务流水表」和「机构表」的「组件数据」权限。如下图所示:
此时业务部的所有人可以看到所有数据。若要实现柜员只看自己的数据,需要根据柜员账号配置用户数据权限。
选择「业务流水表」后的「权限设置」按钮,添加行权限条件,使得「业务流水表.柜员号」字段「属于(登录者信息)」的「用户权限表.账号」字段,点击「确定」,如下图所示:
7. 效果查看
分别使用支行长、分行长、柜员账号登录数据决策系统,查看「业务员流水仪表板」。
1)分行长(账号99,密码123)显示为所有地区号为 22 (即南昌分行),查看仪表板显示包括下属地区的数据,如下图所示:
2)支行长(账号101,密码123)显示为所有机构号为 22701(即 A 支行)的数据,如下图所示:
3)柜员(账号6159,密码123)显示仅为本柜员号 6159 的数据,如下图所示: