1. 概述
提供了一个关于FineBI系统中用户准入管理、开发流程以及性能优化的详细指南。
文档旨在帮助用户理解在BI系统中如何进行有效的用户管理和开发流程,同时提供了确保系统性能和数据质量的最佳实践。
2. 用户准入管理
2.2 用户区分
在BI中,根据用户行为的不同,用户可分为以下几种:
用户 | 行为 |
---|---|
数据BP用户 | 可以编辑基础数据,也会做分析的用户 |
IT用户 | 可以编辑基础数据,不会做分析的用户 |
普通分析用户 | 不会编辑基础数据,会编辑自助数据集,会做分析的用户 |
查看用户 | 只是查看其他用户做好的仪表板的用户 |
对于不同的用户,在系统中需要分配不同的权限,详见:数据体系&权限管理
2.3 用户要求
为保障BI环境各项数据资产的规范性、高性能,在允许用户进入生产环境进行自助开发前,管理员应检查用户,需先完成标准规范学习、通过准入考核,可以“帆软认证初级BI工程师”为参考标准见:FCA-FineBI
注:对于【数据BP用户】和【IT用户】,要求应适当提升,要求其掌握一定的数据处理能力和思维、拥有一定的规范意识,因为无限制的数据处理可能会导致系统性能问题。
3. 用户开发流程
3.1 权限申请
查看可见范围:查看当前公开的仪表盘和数据列表。
确认分析权限:针对自己的分析相关的数据,核对有无权限。
进行权限申请:无权限,则进行申请。
权限二次复核:申请通过后再次确认权限是否解决。
3.2 数据开发与发布
3.2.1 流程
对于拥有公共文件夹权限的开发用户,在数据集开发完之后可以通过将数据集发布到「公共数据」的形式,发布数据需注意几点:
规范性:遵守企业规定的命名规范。
安全性:检查数据敏感性,对其中敏感数据,与次管确认数据权限管控是否到位。
准确性:对于数据来源、计算指标、有歧义的数据等应当作出解释,可以放在数据集的备注中。
流程性:发布前需向次管确认,发布后及时记录信息。例如:
发布人 | 发布时间 | 数据路径及名称 | 数据解释 | 数据用途 |
---|---|---|---|---|
Peter | 2022-11-11 11点 | xxxx/xxx/03_销量明细表_peter | 内部文档链接 | xx部门xx产品的销量明细,预计用于销售额分析,也可用于绩效统计 |
3.2.2 数据路径
与5.x版本不同,6.0在开发时,新增了“分析主题”的概念。
在分析主题中,存在3种实体:
数据集
组件
仪表板
分析文档
在使用路径上,先有数据,再制作组件,最后组成仪表板。
注:不同于5.x的分散,6.0中用户可以根据业务/分析内容来组织这4种实体,在结构上更方便查看和使用。
3.2.3 公共数据概念
在个人的分析主题中,用户可以对数据集和组件进行开发,无法直接在公共业务包内新建数据集。
【我的分析】可以认为是一个相对独立且自由的空间,类似于个人PC,用户可以在里面进行各种各样的数据组合和处理,探索各种数据的特征,不会影响到其他人的使用。同时,在“我的分析”中,不支持设置数据集的更新频率,所有的数据集都是跟随公共数据内引用的父表而更新的。
【公共数据】则可以认为是一个企业内的网盘,数据必须有一定的复用性、符合一定的规范才能够进入此区域,供他人使用。同时个人需对自己发布到公共区域的数据进行担责和维护。只要是进入“公共数据"中,就肩负起了维护和建设一个良好数据质量的责任,逻辑变更时,一定要考虑到会不会对其他用户造成不好的影响。如果公共数据中的表出现了错误,那么对应的数据管理员就有责任要尽快修复这个问题。如果这个数据将要退出公共数据,那么也要走流程来进行下架,来减少对其他用户的影响。
3.3 可视化开发与分享
3.3.1 命名规则
命名应当以简洁性、特征性为追求。
规范示例:
“分析主题-分析内容-创建人”
“分析内容-使用场景-创建人”
“组内序号-分析内容-创建人”
3.3.2 视觉规则
用户开发的仪表板,在视觉上需遵守一定的规则,要注意 看板的可读性 和 表达的合理性 ,主要体现在:
字体字号要合理。
排版布局要遵从“主次原则”,有主要部分和次要部分的区别,尊重阅读顺序。
图表选择要合理,尽可能将能同时分析的数据放在同一个图表中。
整体配色要和谐,避免反差色
必要时添加文字注释,例如对数据来源做出解释、对数据结论做出总结。
必要时添加logo。
布局
比如分析型仪表板应该具有以下布局元素:
更多详情参见:页面布局
色彩
比如,如果你是互联网科技型公司,可以将蓝色作为 BI 平台的主色调。
更多配色详情参见:几套预定义样式推荐
3.3.3 发布途径
1)团队内分享
若分析主题是小团队使用,或者仅需某些用户查看,可以不发布到公共目录。此时需注意以下几点:
分享的用户是否有对应数据的权限。
是否想让分享的目标用户看到制作者能看到的数据。
是否告知分享的用户本主题内资源的内容、使用场景、数据来源。
2)公共目录挂出(发布设置)
需要挂出到公共目录时,挂出的主题 配套数据源 一定是已在公共目录下的,否则无法给用户授权数据源查看权限和配置行权限。
若使用到的数据源目前尚不存在公共目录下,需先参考本文的 「3.2节数据开发与上架」步骤进行相关数据发布 。
申请挂出到公共目录的主题资源,必须进行如下检查:
数据准确性:有特殊处理的数据是否做了解释。
可读性:查看者能否清晰且快速了解到仪表盘内容,认知无偏差。
数据保密性:若有敏感数据,是否已经配置权限。
UI标准性:是否符合企业的UI标准、视觉效果是否合理。
3)创建公共链接
公共链接打开能看的数据权限,跟制作者是完全一致的,故而使用公共链接功能时,需格外注意数据保密性。
公共链接使用完后应及时关闭。
4)协作
在5.x中,BI支持将数据集进行分享协作,详见分享/协作自助数据集,但该功能无法满足“查看仪表板制作过程”的需求。
在 6.0 中,用户可以将文件夹或者主题进行点对点的协作,被协作的用户能查看或者使用相关分析主题的内容,实现分析主题的协同编辑。详情请参见:协作
4. 灵活开发与系统性能
在FineBI中,展现速度是随着仪表板组件的复杂程度而各有不同的,组件越复杂,展现速度越慢。
此处列出一些会导致性能表现差异的因素,和它们对应的时间指标。
FineBI 6.0开发规范
详情请参考文档:FineBI6.0灵活开发与系统性能
FineBI 6.1开发规范
详情请参考文档:FineBI6.1灵活开发与系统性能
4.1 大数据量下合理性能表现
对 FineBI 的抽取数据来说,最大支持的底表数据量是1亿(行),在不超过此限制的情况下,单组件响应时长应在 3 秒内,仪表板有 15 个组件时,响应时长应在 30 秒内。
大数据量情况下,以下场景往往会降低 FineBI 性能,增加查询时间。如下表所示:
测试环境:主题内分析的数据底表默认 1kw 行。
类别 | 场景描述 | 仪表板查询合理时间参考 | ||
---|---|---|---|---|
普通单场景 |
| 3~6s | ||
交叉表设置组内合计行且设置数值下拉 | 6~20s | |||
IF类函数:if/switch/datedif | 嵌套数:10层 3~6s | |||
文本类函数:regexp/left/lower/upper/indexof/concatenate | 3~6s | |||
日期类函数:days360 | 3~6s | |||
数值类函数:cos/sin/tan | 10~15s | |||
DEF函数 | 1w分组,10个指标 | 底表100w以内:3s 底表1kw+:3~6s 底表1ww+:10s+ | ||
DEF(EARLIER) | 单层公式单个字段:同环比对比应用场景下 计算字段=def(MAX_AGG(字段1),字段2,YEAR(字段3)>EARLIER(YEAR(字段3)-1)) 字段2 对数据进行分组,分组数=10 | 底表10w:2s 底表100w:7s | ||
字段2 对数据进行分组,分组数=100 (计算过程中有10w→5.7kw的数据膨胀) | 底表10w:7s 极易膨胀超限,要想使用earlier,1w条数据内任意使用,超过1w条都有隐患,要么耗时久,要么超限失败 | |||
主题模型
| 明细表:字段来源【单维度表】+【单事实表】 | 3s内 | ||
明细表:字段来源【多维度表】+【多事实表分析】 | 6~20s | |||
| 6~20s | |||
| 20~90s | |||
交叉表:字段来源【单维度表】+【单事实表】 | 30s+ | |||
n2n模型,场景示例:(存在A、B两表,关联关系为N:N)
| 不做性能保证,且膨胀易有限制报错 | |||
大表多行多列 | 数据量>1kw +,字段 >100列 取数性能风险 | 6kw100列 耗时: 6s+ 1ww~5ww 耗时: 10~20s | ||
数据集步骤类型 | 左右合并、分组汇总、新增赋值列、行转列、新增def列、新增汇总列、删除重复行(去重结果集<1k)、排序(依据字段数>10个) | >3s |
4.2 使用建议
分析主题
数据编辑
数据集个数不超过 100
数据编辑步骤数不超过 10
上传的 Excel表 不超过 2000w 个单元格
主题模型
不推荐交叉表使用复杂场景
不推荐 N:N 模型
组件
组件个数不超过 30
组件计算字段个数不超过 50
导出
仪表板导出 Excel 不超过 2ww 个单元格
函数
少用 EARLIER 函数
函数尽量减少嵌套层数