1. 概述
1.1 思路
项目负责人小潘以「销售部」、「人事部」、「仓储部」三个部门作为试点,通过调研数据需求,将原先分散在各个业务数据库中的数据进行整合,规范的存放在 BI 系统中,并根据不同层级的责任人设置数据权限,通过类似数据集市的形式让不同业务部门取自己需要的数据进行分析。
1)确定三个部门需要的业务数据。
2)将所需数据表进行层级划分,根据数据处理加工程度划分为「原始数据」、「基础数据」、「分析数据」三类。
3)根据业务逻辑命名不同的层级并将数据表接入 BI 系统中。
1.2 公司人员信息
在进行案例查看时,首先让大家了解一下该公司用户人员信息,方便后续进行案例理解。
注1:普通业务部用户以吴派为示例。
注2:组长部长不在此展示。
工号 | 一级部门ID | 一级部门名称 | 二级部门ID | 二级部门名称 | 职务 | 姓名 | 英文名 |
---|---|---|---|---|---|---|---|
20170217001 | 08 | IT信息部 | 0802 | 系统维护组 | 数据库工程师 | 胡立阳 | Liyang |
20180511001 | 08 | IT信息部 | 0802 | 系统维护组 | 数据库工程师 | 杨宇 | yu |
20180909001 | 05 | 仓储部 | 0501 | 物流组 | 物流管理工程师(仓储部门数据分析师) | 刘梦杰 | memj |
20200302002 | 07 | 公共职能部 | 0701 | 人事组 | 招聘专员(人事部门数据分析师) | 曾贺 | He |
20180423001 | 06 | 销售部 | 0601 | 线下零售组 | 销售专员(销售部门数据分析师) | 季孝南 | Xn |
20190710001 | 06 | 销售部 | 0601 | 线下零售组 | 销售专员 | 吴派 | pai |
也可制作用户信息仪表板进行用户信息监控:用户信息仪表板
2. 操作步骤
2.1 确定部门所需业务数据
「销售部」、「仓储部」、「人事部」数据分别存放在公司三个不同的数据库,小潘将需要的数据表进行统计整理。
2.2 对数据表进行层级划分
数据类型 | 性质 | 使用/负责人 |
---|---|---|
原始数据 | 具体的维度表与事实表,没有经过过多的数据加工,类似于原始业务系统数据、ODS 层、DW 层 | 负责人:「IT 信息部系统维护组」数据库工程师(胡立阳、杨宇) 使用:各业务部门数据分析师 |
基础数据 | 经原始数据加工得到的大宽表,类似于数仓中的DW层、DM层 | 负责人:各部门的数据分析师、 销售部-季孝南 仓储部-刘梦杰 人事部-曾贺 使用:各业务部门普通用户 |
分析数据 | 经基础数据加工得到的汇总结果表,类似于数仓中的DM层、ADS层 | 使用管理:业务分析人员 |
根据以上对三种数据类型的解释说明将所需数据表进行层级划分:
数据类型 | 业务部门 | 业务组 | 数据表名称 |
---|---|---|---|
原始数据 | 销售 | 线上 | 销售目标表(dwd_dd_xsmb_inc_daily_xs) |
订单明细表(dwd_dd_ddzf_inc_daily_xs) | |||
店铺维度表(dim_dp_dpxx_scd_monthly_xs) | |||
线下 | 销售目标表 (dwd_dd_xsmb_inc_daily_xx) | ||
订单明细表 (dwd_dd_ddzf_inc_daily_xx) | |||
店铺维度表(dim_dp_dpxx_scd_monthly_xx) | |||
售后 | ...... | ||
仓储 | 仓库 | 仓库维度表 (dwd_kc_ckmx_inc_daily) | |
入库明细表(dwd_kc_rkmx_inc_daily) | |||
出库明细表(dim_ck_ckxx_scd_monthly) | |||
货品、供应商 | 供应商维度表 dim_gys_gysxx_scd_monthly | ||
sku维度表 dim_sp_skuxx_scd_daily | |||
生产 | 生产明细表 dwd_sc_scmx_inc_daily | ||
生产计划表 dwd_sc_scjh_inc_daily | |||
人事 | ..... | ||
基础数据 | 销售 | 线上 | 店铺访客转化表 dws_ll_dpfk_inc_daily_xs |
店铺销售表汇总表_日 | |||
仓储 | .... | 入库明细宽表 | |
.... | 出库明细宽表 | ||
...... | 生产明细宽表 | ||
人事 | ..... | ||
分析数据 | 销售 | .... | ..... |
仓储 | .... | 2020年东北仓1号入库情况 | |
..... | 2020计划与实际生产数量差异情况 | ||
人事 | ...... |
2.3 进行分层命名并添加数据表
2.3.1 进行分层命名
将已有的数据表划分两类或者三类后,即可将其按照对应业务逻辑导入 BI 系统中。在 BI 中数据表存放管理 是通过「分组」和「业务包」实现的。
分组和业务包的命名可以按照:业务/系统/使用部门、数据类型、数据负责人进行划分。
例如:由于公司试点有三个部门,因此小潘按照部门设置了三个分组「销售部」、「仓储部」、「人事部」,然后根据数据类型对每个部门划分了「原始数据」、「基础数据」、「分析数据」三类作为第二层分组,在分组下按照不同的业务小组划分业务包并添加对应数据表。
其中在命名时需要标注不同数据类型、数据的负责人:
「原始数据」责任人为「IT 信息部数据库工程师」,例如「销售部门」原始数据责任人为 IT 信息部数据库工程师-胡立阳
「基础数据」负责人为「各业务部门数据分析师」,例如「销售部门」基础数据责任人为销售部数据分析师-季孝南
「分析数据」负责人可不需标注,默认当前业务部门下所有人都可使用和管理数据
层级命名以及数据存放方式如下所示:
第一层 | 第二层 | 第三层 | 第四层 |
---|---|---|---|
销售部 | 01_销售_原始数据_胡立阳 | 011_线上数据 | 销售_线上_销售目标表(dwd_dd_xsmb_inc_daily_xs) |
销售_线上_订单明细表(dwd_dd_ddzf_inc_daily_xs) | |||
销售_线上_店铺维度表(dim_dp_dpxx_scd_monthly_xs) | |||
012_线下数据 | 销售_线下_销售目标表 (dwd_dd_xsmb_inc_daily_xx) | ||
销售_线下_订单明细表 (dwd_dd_ddzf_inc_daily_xx) | |||
销售_线下_店铺维度表 dim_dp_dpxx_scd_monthly_xx | |||
013_售后数据 | |||
02_销售_基础数据_季孝南 | 021_线上数据 | 销售_线上_店铺访客转化表 dws_ll_dpfk_inc_daily_xs | |
销售_线上_店铺销售表汇总表_日 | |||
销售_线上_商品销售情况汇总表_日 | |||
022_线下数据 | 销售_线下_店铺访客转化表 | ||
销售_线下_店铺销售表汇总表_日 | |||
销售_线下_商品销售情况汇总表_日 | |||
023_售后数据 | |||
03_销售_分析数据 | 031_线上数据_解肖 | 销售_近一年acp10073每月商品销售情况_乔乔 | |
销售_近一年京东2号店每月商品销售情况_戴华 | |||
销售_近一年京东2号店订单总金额_文良 | |||
032_线下数据_蒋梦瑶 | 销售_近一年acp10073每月商品销售情况_石乔 | ||
销售_近一年总店每月商品销售情况_吴放 | |||
销售_近一年新天地店订单总金额_史风 | |||
033_售后数据_齐小雨 | |||
仓储部 | 01_仓储_原始数据_杨宇 | 011_仓库数据 | 仓储_仓库维度表 dwd_kc_ckmx_inc_daily |
仓储_入库明细表 dwd_kc_rkmx_inc_daily | |||
仓储_出库明细表 dim_ck_ckxx_scd_monthly | |||
012_货品、供应商数据 | 仓储_供应商维度表 dim_gys_gysxx_scd_monthly | ||
仓储_sku维度表 dim_sp_skuxx_scd_daily | |||
013_生产数据 | 仓储_生产明细表 dwd_sc_scmx_inc_daily | ||
仓储_生产计划表 dwd_sc_scjh_inc_daily | |||
02_仓储_基础数据_刘梦杰 | 021_出入库宽表 | 仓储_入库明细宽表 | |
仓储_出库明细宽表 | |||
仓储_生产明细宽表 | |||
03_仓储_分析数据 | 031_供应链数据 | 仓储_2020年东北仓1号入库情况_刘蒙易 | |
仓储_2020计划与实际生产数量差异情况_牛奇 | |||
仓储_2020出库金额情况_牛奇 | |||
人事部 | 01_Hr_基础数据_曾贺 | 011_招聘数据 | Hr_招聘信息表 |
Hr_面试记录表 | |||
012_员工信息 | Hr_员工信息表 Hr_岗位信息表 Hr_部门职务表 注:由于进行权限分配时需要使用该数据表制作「用户信息表」作为用户登录数据,为防止后续分配权限混乱,因此可将其另外存放在公共分组。 | ||
Hr_离职转岗表 | |||
Hr_员工合同信息 | |||
013_薪资福利 | Hr_薪资福利表 | ||
014_考勤数据 | Hr_考勤记录表 | ||
Hr_请假明细表 | |||
Hr_加班申请表 | |||
Hr_出差明细表 | |||
02_Hr_分析数据 | 021_招聘数据_乔素 | Hr_面试通过时间数据_乔素 | |
032_员工信息_林晓晓 | Hr_部门人数按月统计表_林晓晓 | ||
033_薪资福利_林晓晓 | Hr_每月社保公积金缴纳总额_林晓晓 | ||
024_考勤数据_林晓晓 | Hr_每月社保公积金缴纳总额_林晓晓 |
添加分组、业务包、数据表方式如下图所示:
添加好数据在 BI 系统中的呈现如下图所示:
2.3.2 添加数据表至对应层级业务包
小潘已经创建好层级后,就需要将数据接入 BI 中。
由于之前不同业务数据都存放在各自业务数据库中,因此需要创建多个数据连接对接数据库。
数据连接命名规范:
命名方式 | 示例 |
---|---|
数据域+编号+数据库类型+数据库地址(可简写) | 人事域01_mysql_31 |
业务系统+数据库类型+责任人 | 销售_hive_lily |
小潘创建三个业务部门的数据连接,如下图所示:
接入数据库后,即可将对应数据库中 数据表添加至 BI 已经创建好的分组业务包 中,例如将「dim_dp_dpxx_scd_monthly_xs」添加至「011_线上数据」中,并修改表名为「销售_线上_店铺维度表」,如下图所示:
按照上述步骤将所有数据表根据设计好的表存放位置和名称添加至 BI 系统中。
2.4 添加公共分组
为了存放后续为用户分配权限的数据表,防止后续分配权限混乱,方便统一管理,可创建公共分组,并在其下新增「用户权限」业务包。
在导入数据后,即可对 BI 用户进行权限的分配。详情参见:为用户分配BI使用权限