专注于中国的商业智能

导航

KDT#80 给维度表添加变化原因列

通常我们用TYPE2的缓慢变化维策略来处理维度表的历史信息问题。有时,客户会提出下面这样的问题:我们每个月有多少个新增客户?类似这样需要对维度表的数据变化进行分析的需求,使用标准的TYPE2策略处理起来会比较麻烦。

这时,我们可以在维度表中添加一个变化原因列(RowChangeReason)。简单的处理方式,我们可以使用两个字节的缩写来标识变化原因。例如,新建列为 ’NW’,名称变化为 ’LN’,邮编变化为 ’ZP’,名称和邮编一起变化为 ’LN ZP’,以空格分开。这样处理后,我们很容易实现像“去年我们有多少客户的邮编发生了变化?”这样的问题。SQL如下:

SELECT COUNT(DISTINCT CustomerBusinessKey)

FROM Customer

WHERE RowChangeReason LIKE ‘%ZP%’

AND RowEffectiveDate BETWEEN ‘20050101’ AND ‘20051231’

这个变化原因列增强的TYPE2处理查询的能力。

posted on 2010-08-05 14:37  李梦蛟  阅读(251)  评论(0编辑  收藏  举报