维度建模中的缓慢变化维

文章介绍了在数据处理中如何应对维度数据随着时间缓慢变化的问题,提出了三种策略:类型1是直接更新为最新值,适用于错误修正;类型2是采用拉链表保留历史和最新状态;类型3是新增列来同时分析新旧数据。这三种方法各有适用场景,旨在确保数据分析时能考虑到历史变动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

整理不易,转发请注明出处,请勿直接剽窃!
点赞、关注、不迷路!
摘要:

类型1.在当前数据行更新当前值,只有最新状态;
类型2.拉链表,保留历史又有最新状态;
类型3.新增列,既能分析旧列的所有值,又能分析新列的所有值

定义
缓慢变化维:随着时间可能会缓慢变化的维度。
产生背景
业务系统往往并不会保留历史数据,但在分析角度我们需要保留这些变动以便分析历史。
处理方法
常见3种
类型1 重写
与业务数据保持一致,直接update为最新的数据。
适用情况:历史数据是错误的,不考虑保留历史
在这里插入图片描述
类型2 增加新行(拉链表)
增加start_dt,end_dt字段,将end_dt设为当前时间,
新增新行记录start_dt为当前时间,end_dt为9999-12-31。
通常使用方法为:跑批时间>=start_dt and 跑批时间<end_dt,相当于取有效的全量数据
在这里插入图片描述类型3 增加新列
新增字段和旧字段都能分析所有数据
下图员工所属地区划分变更
在这里插入图片描述

参考文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值