11.维度属性选择之维护历史是否应该保留
Posted 韦宇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了11.维度属性选择之维护历史是否应该保留相关的知识,希望对你有一定的参考价值。
一、背景
数据仓库建模过程中,针对事务型事实表设计,经常会遇到维度属性选择的问题,比如客户维度,在操作型系统中,为了跟踪客户状态的变化,往往会附加客户记录的四个属性:
1.add time:添加时间;
2.add user:添加用户;
3.mod time:修改时间;
4.mod user:修改用户;
问题在于,当我们进行维度建模的时候,如果以客户作为维度,是否应该考虑以上四个属性?
二、观点
1.应该保留
(1)我觉得 添加时间 可以作为维度属性,以后可能进行相关的统计;
2.不应该保留
(1)在按主题重新设计模型时,一般业务不需要保留;
(2) 以经验看,添加时间,修改时间,一般都是必须的。 而,添加用户,修改用户,这个就需要看实际是否有相应的需求,选择性添加(可预期的需求,也需要考虑进去)
(3)这个感觉并不是维度,可以用缓慢变化维解决,维度本身的意义应该在于后续的汇总分析;
(4)一般这里讲的数据是业务度量,scd记录变化也是为了历史的维度视角反映业务事实;
3.按照需求来定
(1)一般都是需求来定的吧,没有什么具体标准;
(2)业务驱动吧;
(3)这个要根据实际需求来看: 如果有这么个需求: 根据新增客户数作为考核指标,来考核员工。。那么这个字段是必须的,添加时间和添加用户,这两个字段就是必须;
4.其他
(1)我觉得维度除了时间之外都应该是名词性的东西 而不是一个动作;
三、建议
正本溯源,要想搞清楚这个问题,还是要回到维度的定义上来。维度是用来对数据进行分类的结构和人们观察业务情况的角度.关于维度的定义至今未看到统一的行业标准。在此选取Kimball的说法:“维度提供围绕某一业务过程所涉及的‘谁、什么、何处、何时、为什么、如何’等背景。维度表包含BI应用所需要的用于过滤及分类事实的描述性属性。
数据处理技术QQ群:467404632 原文地址https://www.cnblogs.com/hadoopdev/p/4500792.html
以上是关于11.维度属性选择之维护历史是否应该保留的主要内容,如果未能解决你的问题,请参考以下文章
数据仓库如何将具有外键的事实表连接到主键包含两个属性的维度表