1. 概述
1.1 应用场景
在进行企业数据分析时,经常会遇到这样的问题:
信息部数据管理人员 | 对于数据的分发管控困难,取数分散,数据口径不统一; 数据维护更新困难,数据变动或者指标缺失时维护成本很高; 数据复杂,数据未分层,跨层关联多,更新和计算性能不好。 |
---|---|
业务分析人员 | 分析需求响应缓慢,没有数据集市,无法快速获取想要的数据,实现自助分析。 |
此时搭建「业务包数据体系」进行数据的分组即可以解决这些问题。
通过 分组 、业务包 作为文件夹,分门别类的将数据表存放在 BI 中,理清杂乱的数据关系。
让没有数据分析基础的用户,可以根据分析所需维度&指标,快速地获取数据,减少数据分析的阻力;同时为数据更新和后续的数据权限开放打好坚实的基础。
业务包数据体系在搭建后能实现:
数据表按分组>业务包分门别类,统一命名规范,方便查找与管理。
便于后续持续的进行数据的添加和补充。
1.2 预期效果
将数据库中的数据表进行分类,有序添加至 FineBI 中,并进行层级梳理,使得不同用户能够取自己需要的数据进行自助分析。
以下为一个企业 BI 业务包数据体系示例:
1.3 实现思路
2. 搭建业务包体系
2.1 确认数据需求
确定需要使用的数据表范围。
2.2 判断所需数据层级并对数据进行归纳整理
数据体系的基础是数据表,首先可以根据数据性质将数据表划分为三类:
原始数据:具体的维度表与事实表,没有经过过多的数据加工,类似于原始业务系统数据、ODS层、DW层,作为基础数据和分析数据的原始表;
基础数据:经原始数据加工得到的大宽表,类似于数仓中的DW层、DM层,作为原始数据与业务分析的中间数据层;
分析数据:经基础数据加工得到的汇总结果表,类似于数仓中的DM层、ADS层,增加业务人员使用数据的自由度;
原始数据、基础数据、分析数据是层层递进的,如果原始数据对应数据仓库中的 ODS 层,则基础数据对应DW层,分析数据对应DM层。
注:原始数据为非必须层级,主要是为了保持可扩展性,当数据量较大时,会造成一定的数据冗余,可根据实际情况选择。
用户可根据自己的实际情况选择是否三个数据层级都要保留,或者仅仅使用「基础数据」和「分析数据」层级,并将已有数据表归类至对应数据层级。
以xx集团总部的财务部为例,将已有的数据表分类,表层次结构示例如下图所示:
2.3 设计业务包/分组框架
对于存放数据表的分组 、业务包,依据原始数据(可以没有)、基础数据、分析数据三类创建业务包和分组,同时可根据系统、业务类型、使用部门、责任人进行进一步的细化,如下图所示:
除了根据不同部门、系统划分分组和业务包外,为便于后续对不同的用户分配不同的数据使用等权限,可以创建「公共」分组,用于存放 BI 系统中多个部门公共使用的数据表以及配置 BI 权限的数据表,可以有效避免权限混乱。
2.4 制定命名规范
业务包命名原四要素为:业务/系统/使用部门+业务包/表层级+数据信息(表含义)+业务包/表负责人。
命名规则可根据企业实际情况来调整,不一定要严格按照命名规范中的定义,例如在有一些客户应用过程中,就通常会简化命名,直接省略一些前缀。
示例如下图所示:
2.5 业务包管理制度
将数据表导入 BI 并进行分层梳理后,如何进行业务包的后续管理呢?这里给出两大业务包管理的原则共参考:
业务包管理遵循两大原则:
业务包责任制
1)每个业务包/组按需分配数据管理员,通常「原始数据」管理员为 IT 人员、「基础数据」为部门「数据分析师」、「分析数据」为部门业务人员。
2)管理员为自己的业务包/组数据质量兜底,包括但不限于无重复数据表、指标逻辑正确、数据口径一致等。
3)业务包数据官方唯一出口,业务包管理员所发布的数据为对应模块的唯一官方数据。
数据使用层级制
1)不同使用人群具备的数据查看&使用权限不同。
2)数据获取&变更需求不得越级处理,即分析表层级用户需要数据必须像基础表业务包管理员提需求,不可越级向原始表管理员提需求。