第二章 零售营销

本单主要针对零售的案例来讲述各种维度设计的方法

1.  四步维度设计过程

a)         选取要建模的业务过程

业务处理过程是机构中进行的一般都由源数据收集系统提供支持的自然业务活动。

b)        定义业务处理的粒度

粒度定义意味着对各事实表行实际代表的内容给出明确的说明。粒度传递了同事实表度量值相联系的细节表达到的程度方面的信息

 

数据仓库团队经常将这个看起来似乎不必要不要的步骤绕了过去。请不要这样做!粒度的定义是不容轻视的至关重要的步骤

c)        选定用于每个事实表行的维度

维度所引出的问题是:“业务人员将如何描述从业务处理过程得到的数据?”如果对粒度方面的内容很清楚,那么维度的确定一般是非常容易的。

d)        确定用于形成每个事实表行的数字型事实

事实的确定可以通过回答:“要对什么内容进行评测”这个问题来进行。

2.  零售实例研究

基础术语介绍:

        库存储单位SKUs (Stock Keeping Units)

        统一产品编码UPCs(Universal Produce Codes)

        POS (Point of Sale)

诸如百分比和比率这类毛利润率是非加性的。分子与分母应该存放在事实表中。可以用数据存取工具求出事实表任何数据形式的比率,只是要记住求取的是合计值的比率,而不是比率的求和。

3.  维度表属性

注意:不应该在报表生成器中执行将编码标记翻译成易理解的标记这种操作,而应该将翻译内容存放在数据库中,以便使各种用户不受其报表生成工具的限制而得到一致的翻译结果

 

一般性的促销活动通常不放在日期表中处一是,而以促销维度的形式进行更加完整的描述。这样做的主要原因在于,促销事件并不是仅仅由日期来定义,而通常是由日期,产品,与商店的组合形式进行定义的

a)         日期与时间

日期与时间几乎是完全不相关的。如果将这两个维度组合在一起,日期维度表就会增大许多

b)        商场面积

描述销售面积的列应该是数字型的,并且在理论上是跨商场可相加的。有的人可能试图把它放到事实表中,不过很明显,它是商场的一个不变属性,并且作为报表约束或者行标题使用的情况比用做要求和的可加他量要多得多。

c)        首度开业日期与修理日期

首度开业日期与最新重修日期一般都是连接到日期维度表拷贝的关键字,这些日期拷贝通过VIEW结构在SQL中进行定义,并在语义上同基本日期维度相区别。

Create view first_open_date (first_open_number,first_open_month,…)

      As  select day_number,month)

from date

d)        促销维度

促销维度是方案中可能是最令人感兴趣的维度。促销维度描述产品销售的促销情形。促销情形包括临时降价、廊端展销、报纸广告与优惠券等。因为这个维度用来描述被认为会使产品销售发生变化的因素而通常被叫做因果维度(与偶然维度相对)

 

必须避免在事实表中出现空关键字,在这方面显得比较合适的设计是在对应的维度中包括一行来标识该维度对度量值不可用

4.  退化的事务编号维度

退化维度在事实表粒度表示单个事务或者事务分列项目时是很常见的,因为它表示了父实体的惟一标识符。订单编号、发票号与提货单编号几乎总是以退化维度的形式在维度模型中出现。

5.  诱惑的考验

a)         维度的规范化处理(雪花处理)

维度的规范化处理一般称做雪化处理(snowflaking)这种处理将冗余属性从平面的退化维度中去掉,并放到另一个规范的维度表中去。

 

雪化处理是对维度模型的合法扩展,但一般说来,仍然希望设计人员能够经受雪花处理的诱惑,转而注重易使用与高性能两个基本的设计主旨。 多数经过雪化处理的表使数据展示变得更为复杂。

 

过多的表与连接通常都会转化成更慢的查询性能。连接说明的复杂性增加了优化器在次要方面开销过大以及选取低效算法策略的机会

 

雪化处理挫败了对位图索引的使用,位图索引对于诸如产品维度表的分类与部门列这样的低基数字段的索引,是很有用途的。

b)        维度使用过多

存在特别多的维度一般都预示了不同维度并不是完全独产的,而应该组合成单个维度。

6.  代理关键字

极力提倡设计人员在维度模型中使用代理关键字,而不是依赖操作型产品编码。代理关键字有许多其他的别名,如虚义关键字、整型关键字、强制关键字、指字关键字与合成关键字等

 

数据仓库中维度和事实表之间每个连接都应该用没有明确含义的整型代理关键字来建立,应该避免使用自然的操作型产品编码。没有一个数据仓库关键字应该是意义隐晦的相反,只要看一下关键就能知道它想表达行方面的意思

 

代理关键字的主要好处之一是,能够对数据仓库环境的操作型变化进行缓冲。代理关键字允许数据仓库团队维持对环境的控制,而不会受到产品编码生成、更新、删除、再生、重用等操作型规则的妨碍。

 

在许多机构,历史操作型编码(非活动性账户、过时的产品编码)会在废弃一个时期之后重新进行指定

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值