反馈已提交

网络繁忙

您正在浏览的是 FineBI6.0 帮助文档,点击跳转至: FineBI5.1帮助文档

四联表模型

  • 文档创建者:Suki陈
  • 历史版本:3
  • 最近更新:Suki陈 于 2023-07-28
  • 1. 概述

    1.1 背景

    企业中存在复杂的层级关系,不同层级的用户拥有不同的的数据权限,并希望在查看业务数据时,不同层级的用户仅可查看自己所拥有权限下的数据。

    原始方案:使用一张权限宽表记录用户在不同维度上拥有的权限信息,并在每个业务数据表上配置行权限。

    注:本文示例使用品牌和区域维度来演示权限配置过程,用户可根据实际场景调整维度。

    示例权限宽表如下图所示:

    原始方案权限配置过程如下图所示:

    1.2 问题描述

    原始方案在真实场景中,会出现以下问题:

    • 数据冗余:用户和维度权限间为多对多关系,权限宽表中有大量冗余信息

    • 权限宽表不易于动态权限配置:若新增一个维度,有 n 个不同的维度值,且当前权限宽表行数为 m ,则在权限宽表中最多需要插入 m * n 条记录。

    1.3 解决方案

    我们提出「四联表」模型,将一张权限宽表拆分成一张用户信息表、多个维度表和维度权限表,独立维护用户在不同维度上的权限信息。

    相较于原始方案,「四联表」模型主要做了以下调整:

    1)拆分权限宽表,即放弃原有的权限宽表,重新创建「用户信息表」、「维度表」和「维度权限表」。

    2)使用「用户信息表」、「维度表」和「维度权限表」,联合「业务数据表」共同搭建「四联表」模型。模型搭建过程如下图所示:

    2. 操作步骤

    2.1 数据准备

    在配置行权限前,用户需提前准备以下类型的数据表:

    1)用户信息表:包含用户名等字段,且用户名字段值唯一。

    2)维度表:包含维度字段,且维度字段值唯一。

    3)维度权限表:包含用户名、维度等字段,存储用户在该维度上的权限信息。

    4)业务数据表:包含维度等字段,存储该维度下实际的业务数据。

    2.2 模型搭建

    1)建立以下两类关联,详情请参考:设置关联

    • 关联「用户信息表」与「维度权限表」,关联关系为 1:N,记录用户拥有的不同维度的权限信息。

    • 关联「维度表」与「业务数据表」,关联关系为 1:N ,用于后续业务数据的查询。

    2)设置登录用户所在字段。

    3)打开「维度表」和「业务数据表」的「组件数据」使用权限,详情请参考:公共数据组件数据权限 。

    4)在「维度表上」配置行权限,获取到登录用户有权限的维度。通过关联,在业务数据表中查询出相应维度下的数据。最终查看到多个维度的交集数据。

    3. 动态配置行权限

    企业的组织结构、职能部门、岗位等在经营中会经常发生变化,如何对变化部分进行数据权限配置呢?

    3.1 新增维度

    「四联表」模型易于扩展维度。新增维度时,用户需要配置相关关联,并在新增的维度表上配置一次行权限即可,系统会自动取多个维度的交集数据。

    具体操作步骤如下:

    1)准备一张「维度表」和一张「维度权限表」。

    2)建立以下关联:

    • 关联「用户信息表」与新增「维度权限表」,关联关系为 1:N

    • 关联「维度表」与相关「业务数据表」,关联关系为 1:N

    3)在新增的维度表上配置一次行权限。如下图所示:

    3.2 新增业务数据表

    新增业务数据表时,无需配置行权限,与对应的维度表进行关联即可。

    例如:新增「业务数据表 XXX」 ,此表与「区域维度表」有逻辑关系,则将其与「区域维度表」进行关联。如下图所示:

    4. 示例

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

    实现效果为公司领导可以看到全部数据,区域主管看到对应区域的数据,区域组员只能看到自己的数据。详情请参考:多层级权限分配 。

    附件列表


    主题: 管理系统
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持