|
随着BI账号申请人数不断增加,因不同部门用户能够查看的权限不同,需要管理部门控制不同角色的权限,以下总结在控制数据行权限中的经验总结,希望对大家有帮助。
软件版本:FineBI--6.0.20
一、数据准备和安装插件
用户表
用户表的字段包含BI账号名、账号使用人、业绩渠道、店铺、品牌组、品牌分类、品牌大类、账号使用人部门、合并字段。
其中BI账户名是必填字段,其他字段可以根据业务需要和管理进行增减,业绩渠道和店铺是强相关字段,品牌组和品牌分类是强相关字段,这两组字段的分类较少便于罗列所有组合,品牌大类的分类太多不宜和前两组字段组合罗列所有组合。
其中合并字段为【用户表】业绩渠道、店铺、品牌组、品牌分类、品牌大类五个字段合并,将字段合并方便后期权限控制引用。
业务表
业务表中需要包含需要控制权限的字段业绩渠道、店铺、品牌组、品牌分类、品牌大类,可以将分析主题中数据处理的数据集发布到【公共数据】,取消权限继承后作为权限控制的业务明细表。
业务明细表
安装插件(切换数据)
用于将仪表板组件切换数据为已发布数据集
fine_conf_entity可视化配置 https://help.fanruan.com/finebi6.X/doc-view-1235.html
下载fine_conf_entity可视化插件后重启BI生效,生效后在【管理系统】中有【系统工具】选项调整,SystemOptimizationConfig.shieldFunction对应的系统参数改为false。
二、搭建仪表板
需要使用发布后的数据集制作仪表板,而不是分析主题中的数据,否则无法根据登录账号控制仪表板内容。
在仪表板组件中切换数据
切换数据时需要使用公共数据中数据表,这点需要注意。如果前期做好的仪表板注意将所有组件都切换数据。
过滤组件中文本筛选也需要切换为公共数据中对应的选项。
下拉树组件切换为公共数据字段
三、权限配置
1、创建角色
在用户管理,可以将需要控制的同类型账号创建角色统一控制。
2、上传用户表
在权限管理中,在角色对应的数据权限中,登录用户名所在字段(抽取数据)选择公共数据中【用户表】的用户名字段,即BI账号名称。
选择【用户表】中用户名。
3、控制公共数据权限
在数据权限中选择需要控制的公共数据集,点击编辑权限设置。
选择公共数据表格,点击编辑公式。
因为用户表中已经将渠道、店铺、品牌组和品牌分类的所有组合已经列出,只有品牌大类存在有可能为空的情况,此时编辑公式只需要考虑两种情况,要么用户权限控制精准到品牌大类,此时业绩渠道、店铺、品牌组、品牌分类、品牌大类五个字段都填写完整;要么用户权限控制只需要到品牌分类,此时只需要品牌大类为空即可。
对应编辑公式需要填写两个公式以或条件连接。
CONCATENATE({1、营销总表分析_分组},{1、营销总表分析_店铺新},{1、营销总表分析_品牌组},{1、营销总表分析_品牌分类},{1、营销总表分析_品牌大类}) CONCATENATE({1、营销总表分析_分组},{1、营销总表分析_店铺新},{1、营销总表分析_品牌组},{1、营销总表分析_品牌分类},“”)
编辑完公式后,选择属于(登录者信息).
属于登录者信息
选择用户表中的合并字段,在写CONCATENATE公式时,注意字段顺序要跟用户表中合并字段顺序保持一致。
四、总结
做完这一步后,对应角色的数据权限就控制好了,尽管在填写CONCATENATE时,可以将其他字段也填写为空,这样有一个问题是多一个字段为空就多两种可能,如果最终考虑存在4个字段为空的情况,就需要编辑2的4次方即16个公式,工作量就大许多,而且编辑公式越多,用户在查询时是根据用户权限实时查询数据集的可以查看行,这样导致用户查询速度较慢,BI的整体CPU计算使用率很容易跑满,所以建议减少字段为空的情况,在【用户表】中补全字段为空的情况。
以上介绍的用户权限控制,在用户权限存在交叉或包含关系也是可以实现的。 |