数据中台公共层建设--多维度组合下的数据模型设计-阿里云开发者社区

开发者社区> 大数据> 正文

数据中台公共层建设--多维度组合下的数据模型设计

简介: 对于数据中台指标而言,维度联合组合的情况越多,最终实现的指标越复杂。本文考虑为了满足多个维度任意组合下的指标,数据中台cdm公共层的事实表与维度表应该如何设计。

1、多维度组合筛选指标

以线下零售业务为主的公司,往往存在销售渠道维度、供应链渠道维度、多种商品维度等筛选条件。如下所示的数据中台公共层指标以及筛选条件:
image.png

上述指标的赛选条件含义:可以任意组合 “时间/品牌/销售渠道/组织结构/商品结构/商品属性/消费者类型/标签类型/性别/年龄段” 中的若干个筛选条件,得到对应条件下的会员有效销售金额派生指标。
上述指标需求属于典型的多维度组合筛选指标需求,我们在设计数据中台公共层数据模型的时候,必须考虑指标的所有最细粒度维度。上述维度和组合条件可以划分到以下3个最细粒度的维度:
(1)商品:包含商品品牌、商品结构、商品属性这3个筛选条件;
(2)门店渠道:包含销售渠道、组织结构这2个筛选条件;
(3)会员:包含消费者类型、标签类型、性别、年龄段这4个筛选条件。
因此,我们在设计数据中台公共层数据模型,fct公共事务表必须包含上述3个最细粒度的维度字段。同时,必须设计至少3个dim维度表(商品维表、门店维表、会员维表),且每个维度表至少包含上述几种属性。
image.png

为了实现上述设计的公共层数据表,需要对ODS贴源层数据进行预处理。本文建议单独建立一张ODS数据表,将商品、门店、会员3种粒度的支付收款数据通过join数据表关联融合成一张数据表,公共层数据模型直接引用这张数据表。

2、多维度组合筛选情况下的比率型指标如何构建

对于报表开发而言,比率型指标有两种常见的开发方式:
第一种:提前将比率型指标的分子、分母计算逻辑开发完成,然后再将所有可能维度组合下的分子/分母求和,得到所有可能维度组合下的比率型指标。报表工具直接使用计算得到的比率型指标。
第二种:提前将比率型指标的分子、分母计算逻辑开发完成,所有比率型指标都在报表工具建立新的指标(写表达公式实现的指标)去实现。
以下面的比率型指标举例:
image.png

需要实现“时间/品牌/销售渠道/组织结构/商品结构/商品属性/消费者类型/标签类型/性别/年龄段”任意组合下的“会员连单率 = 单比销售两件以上(含两件)的单数 / 销售订单数”。
比如:
组合1:筛选品牌1/品牌2 + 线下专卖店销售渠道 + 西服/衬衫/皮鞋 + 今年新品 + 男性会员 + 30-40岁会员;
组合2:筛选品牌1/品牌3 + 天猫旗舰店/京东旗舰店 + 连衣裙/小西装 + 女性会员 + 25-30岁会员 + 金牌会员;

上述两种组合完全不同,得到的“会员连单率”指标结果不同。在9种属性中的任意若干个组合下,即使有一个属性不同,对应的“会员连单率”指标也会变化。
针对上述任意维度组合筛选条件下的比率型指标,我们建议在公共层(CDM层和ADS层)均开发分子和分母的指标。
(1)分子:单比销售两件以上(含两件)的单数,具有可加性;
(2)分母:销售订单数,具有可加性。
分子分母均具有可加性,因此可以在ADS应用层分别建设分子和分母的指标。然后在报表工具建立新的指标:

*会员连单率 = sum(单比销售两件以上(含两件)的单数) / sum(销售订单数)*

在报表工具建立好上述指标之后,就可以利用报表工具实现任意维度组合下的会员连单率指标。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
大数据
使用钉钉扫一扫加入圈子
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

其他文章