历史版本22 :多层级权限分配 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

FineBI服务器版本功能变更
6.0-

1.2 预期场景

当公司存在树状的层级关系,每个层级想要分配不同的权限。

比如公司领导、区域主管、区域组员间存在树状关系,需要根据不同门店维度为用户分配不同权限。

实现效果为公司领导可以看到全部数据,区域主管看到对应区域的数据,区域组员只能看到自己的数据。

1.3 实现思路

本文使用「四联表模型」来实现多层级/树权限的权限配置。

1.3.1 模型搭建

「四联表模型」搭建过程如下:

1)准备四类数据表

  • 用户信息表:存储用户信息,「账号」字段作为用户的唯一标识。

  • 门店维度表:存储门店信息,「店号」字段作为门店的唯一标识。

  • 用户-门店权限表:存储用户对门店维度的数据查看权限,即用户能看到哪些门店的数据。

  • 销量明细表:存储各门店的销量数据,作为仪表板的数据来源。

2)添加两类表间关联

关联 A:

建立「用户信息表」与「用户-门店权限表」的关联,关联关系为 1:N。

关联后,通过用户的「账号」字段可以查询出「用户-门店权限表」中该用户对应的数据。

关联 B:

建立「门店维度表」与「销售明细表」的关联,关联关系为 1:N。

关联后,通过门店的「店号」字段可以查询出「销量明细表」中该门店对应的数据。

3)配置行权限

设置登录用户所在字段为「用户信息表」中的「账号」字段。

在门店维度表上,设置行权限:「门店维度表.店号」字段「属于(登录者信息)」的「用户-门店权限表.店号」字段

1.3.2 使用「四联表模型」

使用「四联表模型」,用户登录 FineBI 系统查看仪表板数据的逻辑如下:

  • 系统获取登录用户名,通过关联 A 获取「用户-维度权限表」中该用户对应的数据。

  • 通过配置的行权限,查询「门店维度表」,获取该用户所能看到的门店维度值。

  • 通过关联 B ,使用门店维度值过滤出「销量明细表」中对应门店的数据。

1.3.3 实现步骤

FineBI 多层级/树权限的实现步骤为「数据准备>添加表间关联> 服务器数据集导入用户(或者用户同步数据集) > 设置登录用户名所在字段 > 根据门店维度分配权限」。

序号操作步骤
说明
1数据准备

1)准备数据表,包括:用户信息表、门店维度表、用户-门店权限表、销量明细表

2)新建 Excel 数据集,将以上四张表导入公共数据,用于后续分析

2添加表间关联

1)建立「用户信息表」与「用户-维度权限表」的关联,关联关系为 1:N

2)建立「门店维度表」与「销售明细表」的关联,关联关系为 1:N

3导入用户通过服务器数据集导入数据,或者使用用户同步数据集直接同步数据库中保存的用户表
4匹配登录用户名所在字段

此步骤是为了在用户登录系统时,根据用户登录的账号,匹配到用户对应的门店维度

5根据门店维度分配权限

根据不同门店维度分配不同权限,从而在用户登录时根据门店维度匹配权限

2. 数据准备编辑

2.1 准备示例数据

点击下载示例数据并解压:多层级权限示例数据.zip

  • 用户信息表:包含了账号、密码、部门及职务,如下图所示:

  • 门店维度表:包含了店号、店名,如下图所示:


  • 用户-门店权限表:包含了账号、店号。其中领导(xa1)有所有门店的数据权限;北京区域主管(ecco)有门店「11011、11012」的数据权限;北京一店店长(Alice)只有自己门店「11011」的数据权限。如下图所示:

  • 销量明细表:包含了公司各个门店的销量数据,如下图所示:

2.2 新建 Excel 数据集

管理员登录 FineBI 系统,点击「公共数据」,添加文件夹「示例数据」。如下图所示:

选中文件夹,添加「Excel数据集」,将上文准备的四张数据表依次导入。

注:在添加每张表时,需要修改「店号」的字段类型为「文本」,否则会导致字段的部分数据为空,导致后续表间关联建立失败。

1)文件夹中添加 Excel 数据集「用户信息表」,如下图所示:

2)在文件夹中添加 Excel 数据集「门店维度表」,请手动修改「店号」字段格式为「文本」,如下图所示:

3)在文件夹中添加 Excel 数据集「用户-门店权限表」,请手动修改「店号」字段格式为「文本」,如下图所示:

4)在文件夹中添加 Excel 数据集「销量明细表」,请手动修改「店号」字段格式为「文本」,如下图所示:

3. 添加表间关联编辑

注1:添加关联关系的具体操作请参见:添加表间关联 。

注2:文件夹更新时,不会更新 Excel 数据集关联,可使用全局更新。 

1)选择「示例数据>用户信息表」,点击「关联视图」,配置与「用户-门店权限表」的关联关系并更新数据表。如下图所示:

2)选择「示例数据>门店维度表」,点击「关联视图」,配置与「销量明细表」的关联关系并更新数据表。如下图所示:

4. 设计仪表板编辑

4.1 新建分析主题

管理员登录 FineBI 系统,点击「我的分析>新建分析主题」,新建一个分析主题「销量分析」,点击「编辑」按钮。如下图所示:

4.2 添加数据

在「数据」下,点击「添加」按钮,选择「公共数据>示例数据」下的销量明细表,点击「确定」,如下图所示:

4.3 添加组件

新增组件「每日销量明细」,组件数据为 4.2 节添加的数据表「销量明细表」,组件设计如下图所示:

4.4 制作仪表板

新增「销量分析仪表板」,添加 4.3 节准备的「每日销量明细」组件,如下图所示:

4.5 发布仪表板

点击「管理系统>目录管理」,将「销量分析仪表板」挂载到目录列表中。如下图所示:

5. 用户管理编辑

用户的添加方式支持:手动添加、导入用户、同步用户。

本章以「导入用户」为例,确保导入的用户名和上文准备的数据表中的用户名一致即可。

5.1 新建服务器数据集

管理员登录 FineBI 系统,点击「管理系统>数据连接>服务器数据集」,创建 Excel 文件数据集,如下图所示:

数据集名称为「用户信息表」,文件类型为「Excel」,点击「本地文件」,上传 2.1 节准备的「用户信息表」,点击「保存」。如下图所示:

最终创建的服务器数据集如下图所示:

5.2 导入用户

管理员登录 FineBI 系统,点击「管理系统>用户管理>所有用户」,点击「导入用户」。

选择添加的服务器数据集「用户信息表」,并设置对应的「账号、密码、部门、职务」等,点击「确定」。如下图所示:

5.3 设置用户类型

若「平台使用用户」中「PC端使用用户」及其子分类均为「不限人数」,则无需执行本节操作。

若「平台使用用户」中「PC端使用用户」及其子分类限制了人数,则必须执行本节操作,否则无法查看仪表板。

管理员登录 FineBI 系统,点击「管理系统>用户管理>平台使用用户」,将这些导入的用户添加至「BI使用用户(查看用户或设计用户)」中,如下图所示:

6. 权限配置编辑

注:本章节以部门为权限载体,进行权限配置。管理员也可以根据角色或者用户进行权限设置。若总部的人员不希望被控制权限,可以给总部设置一个角色进行单独控制。

6.1 分配目录查看权限

管理员登录 FineBI 系统,点击「管理系统>权限管理>普通权限配置」,选择「管理部」和「销售部」。

点击「目录权限」,分别为这两个部门分配目录「销量分析仪表板」的「查看」权限。如下图所示:

6.2 设置登录用户所在字段

管理员登录 FineBI 系统,点击「管理系统>权限管理>普通权限配置」,选择权限载体为「所有部门」。

点击「数据权限」,点击登录用户所在字段(抽取数据)处的「请选择」,选择「示例数据>用户信息表」里的「账号」字段,即对应用户登录系统的用户名。如下图所示:

6.3 根据门店维度分配数据权限

管理员登录 FineBI 系统,点击「管理系统>权限管理>普通权限配置」,选择「管理部」和「销售部」。

1)点击「数据权限」,分别为这两个部门分配「销量分析仪表板」用到的「销量明细表」和「门店维度表」的「组件数据」权限。如下图所示:


2)选择「门店维度表」后的「权限设置」按钮,分别为「管理部」和「销售部」添加行权限条件,使得「门店维度表.店号」字段「属于(登录者信息)」的「用户-门店权限表.店号」字段,点击「确定」,如下图所示:

7. 效果查看编辑

分别使用领导、北京区域负责人、北京一店店长的账号登录数据决策系统,查看「销量分析仪表板」。

1)领导(账号为xa1,密码为123)可以看到所有门店的销量数据。如下图所示:

2)北京区域负责人(账号为ecco,密码为123)可以看到北京区域门店的销量数据。如下图所示:

3)北京一店店长(账号为Alice,密码为123)仅能查看到本店的数据,如下图所示: