缓慢渐变维度的处理方式

维度可以根据变化剧烈程度主要分为无变化维度、缓慢变化维度和剧烈变化维度。例如一个人的相关信息,身份证号、姓名和性别等信息数据属于不变的部分,政治面貌和婚姻状态属于缓慢变化部分,而工作经历、工作单位和培训经历等在某种程度上属于急剧变化字段。

对于剧烈变化维度,通常情况下都是一分为二进行处理的,把其中不常变动的部分单独抽出来作为一个维表,按照缓慢变化维方式进行处理;另外一部分也单独抽取出来,通常作为维度的属性进行处理。

大多数维度表随时间的迁移是缓慢变化的。比如增加了新的产品,或者产品的ID号码修改了,或者产品增加了一个新的属性,此时,维度表就会被修改或者增加新的记录行。这样,在设计维度和使用维度的过程中,就要考虑到缓慢变化维度的处理。

缓慢渐变维,即维度中的属性可能会随着时间发生改变,比如包含用户住址Address的DimCustomer维度,用户的住址可能会发生改变,进而影响业务统计精度,DimCustomer维度就是缓慢渐变维(SCD),对于SCD,处理方式通常有以下几种:

Type 1:完全不记录历史变化信息,在ETL将数据载入SCD的时候,对于会产生变化的属性值直接覆盖,比如对于DimCustomer的Address,每次都会将新的地址update到该字段,因此这个SCD实际上总是最新的当前信息,却没能包含历史信息

Type 2:通过添加记录来将每一次变化都记录到SCD中,每条记录都有两个字段(如Effective_start和Effective_end)表明该记录的有效期间,并且可以设定一个Active标志位字段,当该字段为True的时候表明这条记录是最新的状态,为False的时候表明该记录是历史记录,其有效期间可以通过Effective_start和Effective_end字段来查

Type 3:通过对会发生变化的字段,添加相应的历史字段,来记录最近的变化而非全部变化。比如DimCustomer中有两个字段Address和Address_Old,第一个字段是用户的当前住址,后一个字段是用户之前一次的住址,显然,更久之前的信息就无法追溯了

Type 4:除了一个记录当前信息的维度外,单独建立一个历史信息维度,该维度中需要包含有效期间字段(如Effective_start和Effective_end)

Type 5:可以看到,对于Type 1/2/3,都是对于SCD中渐变属性的处理方式,而针对一个包含多字段的复杂的SCD,可能需要结合以上三种处理方式。比如对于DimCustomer中的用户联系方式属性email,如果业务上并不重要,那么这个字段可以采取Type 1的方式,即每次只保留最新的联络方式,覆盖原来的;假如业务中需要分析用户所在地Region,那么很可能需要用到Type 2,记录每一个Region的改变;而对于地址信息Address,可能并不需要追溯很久的变化,那么加一个Address_Old字段来记录上一次的住址就够了

转载于:https://www.cnblogs.com/wufengtinghai/archive/2013/05/05/3060631.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/301396.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

显卡mx150和230哪个好_建模渲染用专业图形显卡和游戏显卡哪个更好?

最近很多朋友让小杨写配置单顺带装机,70%的用户是游戏需求,20%的是设计需求,为数不多的是办公需求,那么问题来了,建模渲染用专业图形显卡和游戏显卡哪个更好?下面小杨给大家深度剖析一番。(建模渲染)今天小…

计算机录取高考生过程,解密高考录取过程:人机结合 打造“阳光高招”

考生的档案怎么被投到志愿高校?每个院校的录取分数线怎么划定?哪些学生容易被退档?15日下午,记者随部分省人大代表探访设在大学城的高招录取现场,为您详解高招录取关键环节。先来看下文史、理工类本一批次实行的按院校平行志愿的网上录取的大致流程&a…

每日一笑 | 如果把大脑看成CPU的话...

全世界只有3.14 % 的人关注了数据与算法之美(图片来源于网络,侵权删)

C# 三种方式实现Socket数据接收(经典)

Stream.Read 方法当在派生类中重写时,从当前流读取字节序列,并将此流中的位置提升读取的字节数。语法:public abstract int Read(byte[] buffer, int offset, int count)参数:buffer: 字节数组。此方法返回时,该缓冲区…

SQL Sever 性能调优

checkpoint dbcc dropcleanbuffers dbcc freeproccache dbcc freesystemcache(All) dbcc opentran 如何查看磁盘I/O操作信息 SET STATISTICS IO ON 命令是一个 使 SQL Server 显示有关由 Transact-SQL 语句生成的磁盘活动量的信息。 我们在分析索引性能的时候&…

服务器运维监控指标,运维体系~指标监控~Prometheus监控告警与日志

一 Prometheus 入门1.1 入门介绍运维体系~指标监控先来一张图,说明一下Prometheus监控相关的软件和知识点。1: 首先要安装:Prometheus, 负责收集各种监控指标,也包括自己定监控2: 接着安装Grafana全面瓦解,负责展示监控指标3:接着…

小肚皮最新版本_小肚皮官方版下载_小肚皮app - Win7旗舰版

小肚皮app是一款健康瘦身应用,小肚皮APP倡导快乐健康的减肥方式,卡路里的查询功能和一些激励功能让用户互相鼓励监督,告别垃圾食品,一起管住嘴吧!同时收录了多种网友提供热门并安全健康的减肥方案,用户可根据自己的身体…

限时秒杀┃月销10000+件,风靡全国的steam科学实验套装

▲数据汪特别推荐点击上图进入玩酷屋之前小木有推荐过“彩虹实验”,这款是可以让孩子在探索中能够独立思考,主动地构建知识库,培养创造力。(传送门)让孩子们在家开展科学游戏,既能提升动手能力,…

面向.NET开发人员的Dapr——入门

目录:面向.NET开发人员的Dapr——前言面向.NET开发人员的Dapr——分布式世界面向.NET开发人员的Dapr——俯瞰DaprGet started with DaprDapr 入门In the first two chapters, you learned basic concepts about Dapr. Its time to take it for a test drive. This c…

比乐高还要好玩,50种奇妙装置玩法,将STEM教育一网打尽

▲数据汪特别推荐点击上图进入玩酷屋致砖《小小机器人》套装全新首发电动机械的完美结合先来看看视频过过眼瘾吧来自美国STEAM教育让孩子跨学科学知识积木向来是STEAM教育很重要的一部分,因为它涉及到了多种学科:要搭建得稳固——这是工程学;…

Tomcat详解

1 Server 1.1 In the Tomcat world, a Server represents the whole container. Tomcat provides a default implementation of the Server interface., and this is rarely customized by users. 1.2 在tomcat的世界里,一个server代表整个容器.Tomcat…

$.ajax datatype默认是什么类型,理解jquery ajax中的datatype属性选项值

jquery中ajax的dataType属性用于指定服务器返回的数据类型,如果不指定,jQuery 将自动根据HTTP包MIME信息来智能判断,如果datatype选项不填写的话,会将返回的数据当成字符串处理。jquery中ajax的dataType属性用于指定服务器返回的数…

capslock键英语怎么读_刚开始读英文原版书该怎么做?商务英语专业有前途吗?...

是的,看我的朋友圈也能学英文#26从最近的朋友圈和微博中选了一些内容,分享给大家。1. 如何开始读英文原版书?关于读英文原版书,我给出一个简单粗暴的开始和进阶方案。启动方案:首先找一本你特别感兴趣的书,…

【12图】你管这破玩意叫Pulsar

这两年pulsar发展比较快,有好多大公司引入了pulsar,相关的资料和课程也多了,今天一起来了解一下pulsar这款中间件。下图是几款消息中间件的历史:2012年pulsar在Yahoo内部开发,2016年开源并捐献给Apache,201…

每日一笑 | 为什么英语老师让我们养成背单词的习惯?

全世界只有3.14 % 的人关注了数据与算法之美(图片来源于网络,侵权删)

把C#.NET程序移植到DB2上的经验浅谈(C#连接DB2可以用IBM.Data.DB2.dll)

感谢博客园不再封杀,差点儿搬家的念头都产生了,博客园还是有大胸怀,继续留在博客园写口水文应该没错,娱乐自己、娱乐大家,给枯燥的编程生活增加一点儿笑料,也给大家充当个开心果,让大家高兴一下…

postgis数据库优化_国内首个 Serverless 数据库来了,技术架构全揭秘!

头图 | CSDN 下载自东方 IC本文为企业投稿省却成本,缩短产品上市时间,减少运维与开发团队之间的摩擦是 Serverless 最核心的所在,从 AWS 发布「Lambda」让「Serverless」越来越多地为开发者所知到今天,已经过去了 6 年的时光&…

hdu 2579 BFS

http://acm.hdu.edu.cn/showproblem.php?pid2579 题目大意:给定 r * c 的迷宫,还有一个整数 k 。迷宫中“.”表示可以走,“#”表示墙,当时间为k的倍数时,这些墙会消失。求从起点“Y”到终点“G”的最短时间。&#xf…

丰富自己, 比取悦他人更有力量

如果有那么一天,你不再记得,我也不再记得,时光一定会代替我们记得。丰富自己, 比取悦他人更有力量!下面给大家推荐几个优秀公众号它们每天更新有态度、有干货的原创文字坚持看一段时间 颜值和人生都不一样了【关注方式…

WPF Grid动态显示或隐藏一列的一种方法

项目中有一个需求,需要根据用户的设置动态显示一列,研究了一波后,发现,Grid并没有这个功能,于是通过绑定宽度 的方法,实现的需求。。思路:将需要隐藏的列宽度 绑定到一个属性上,隐藏…