上次我们理解了维度表,哪什么是缓慢变化维呢,比如我们有这样的一个场景,
A
客户在
4
月份的时候归属于
X
部门,在
5
月的时候归属于
Y
部门,如果
A
客户的销售额需要体现归属部门的变化关系。此时就需要用到缓慢变化维了。如下图就是对客户表的一个缓慢变化。
上面设计就是对每个月把客户生成一份数据,但如果我们的客户有
100
万个呢,每月生成一份,一年后就有
1200
万了,这样导致数据量会很大,在关联的时候会严重影响性能。哪么我们就需要用缓慢变化维的设计方案了,采用代理键方案来达到最少数据量。如下图:
我们通过对客户表的开始日期和结束日期框定每个客户的当前版本,然后落地数据时把客户的代理键带上,这样以后在做数据分析时,如果结果表带的客户维度信息不全,就可以直接用代理键关联客户维表带出需要的维度,如果此时没有代理键做关联,采用客户代码做关联,就会出现数据笛卡尔积,如下图,当我们需要对结果表增加客户的“归属部门名称”时,有“代理键”信息时,则直接按代理键做关联条件带出客户维表里的“归属部门名称”信息,如果按“客户代码”关联,则会导致数据翻倍,见红色数据记录,
4
月的由
100
变化到
200
了,
5
月份的
200
变化到
400
了,不然就需要重新计算每个月的数据才能达到增加“归属部门名称”信息的目的。
生成缓慢变化维的
SQL
代码见
:
https://github.com/blt328/dw_blt
更多技术文章请关注公众号
(
长按后点识别图中二维码
):
3-dw_缓慢变化维
来源:这里教程网
时间:2026-03-03 13:39:02
作者:
编辑推荐:
- 3-dw_缓慢变化维03-03
- 宜信DBA实践-SQL优化|一篇文章说清楚Oracle Hint的正确使用姿势03-03
- [20190509]rman备份的疑问5.txt03-03
- [20190510]rman备份的疑问7.txt03-03
- [20190510]快速建立执行脚本.txt03-03
- [20190510]rman备份的疑问8.txt03-03
- oracle复合索引介绍(多字段索引)03-03
- oracle 固定执行计划03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 3-dw_缓慢变化维
3-dw_缓慢变化维
26-03-03 - 宜信DBA实践-SQL优化|一篇文章说清楚Oracle Hint的正确使用姿势
- oracle 固定执行计划
oracle 固定执行计划
26-03-03 - 4-dw_退化维
4-dw_退化维
26-03-03 - Oracle RAC+DG环境搭建(CentOS 7+Oracle 12C)(二)配置远程桌面
- oracle spool
oracle spool
26-03-03 - Oracle ADW业务数据平台点亮DTCC2019数据库技术大会!
Oracle ADW业务数据平台点亮DTCC2019数据库技术大会!
26-03-03 - 2011-10-13 10G新特性DML ERROR LOG
2011-10-13 10G新特性DML ERROR LOG
26-03-03 - 大会资料下载|热门技术风口下开发者应该关注些什么?
大会资料下载|热门技术风口下开发者应该关注些什么?
26-03-03 - 1-dw_数据仓库
1-dw_数据仓库
26-03-03
