4 关于数据仓库维度数据处理的方法探究系列——缓慢变化维处理——覆盖方式

简介:
    此种方式是缓慢变化维中最简单的一种,它用于保证数据仓库中的数据为当前的最新值,不保留历史数据,如发现数据仓库中当前数据已为旧数据,则对当前已有记录进行值更新,主键值不变,如发现有新数据,则把新数据加载到数据仓库中,并赋予新的代理主键值。
 
3.3实现

3.3.1 覆盖( Type 1 Dimension -- keep most recent values in target )
 
3.3.1.1 原理

   此种方式是缓慢变化维中最简单的一种,它用于保证数据仓库中的数据为当前的最新值,不保留历史数据,如发现数据仓库中当前数据已为旧数据,则对当前已有记录进行值更新,主键值不变,如发现有新数据,则把新数据加载到数据仓库中,并赋予新的代理主键值。通俗地说,就是指对于源表中的同一条数据,目标(数据仓库)中始终只会保留一条,也就是最新的一条,一旦第一次插入后,数据就存在了,其在维表中的 ID(代理主键)就不再改变了,发生数据改变时,只对其字段作 Update操作。
     这种方式在确认数据的历史不需要记录,只需保留当前最新信息的时候使用。
 
CREATE TABLE t_dem_xxx
(
ID VARCHAR(20) NOT NULL,
Name1 VARCHAR(50),
Name2 VARCHAR(50),
CONSTRAINT PK_t_dem_xxx PRIMARY KEY (ID)
)
go

CREATE TABLE t_tmp_xxx
(
ID VARCHAR(20) NOT NULL,
Name1 VARCHAR(50),
Name2 VARCHAR(50),
CONSTRAINT PK_t_tmp_xxx PRIMARY KEY (ID)
)
go

CREATE PROCEDURE p_dem_xxx
AS
-- 维度抽取存储过程
BEGIN
DECLARE
@num NUMERIC(10,0)
SELECT @num = COUNT(*) FROM t_dem_xxx

-- 如果原表为空,构造缺省值
IF @num = 0
BEGIN
INSERT INTO t_dem_xxx (ID,Name1,Name2) SELECT '-2','NULL 值 ',''
INSERT INTO t_dem_xxx (ID,Name1,Name2) SELECT '-1',' 缺失外键 ',''
END

-- 根据主键插入在维度表中找不到的基础数据
INSERT INTO t_dem_xxx
(
ID ,
Name1 ,
Name2
)
SELECT a.ID,a.Name1,a.Name2
FROM t_tmp_xxx a LEFT OUTER JOIN t_dem_xxx b
ON a.ID = b.ID
WHERE b.ID IS NULL

-- 根据主键更新原基础表中变化的各属性字段
UPDATE t_dem_xxx
SET Name1 = a.Name1,
Name2 = a.Name2
FROM t_tmp_xxx A,t_dem_xxx B
WHERE a.ID = b.ID
AND b.ID NOT IN ('-1','-2')

END
 





本文转自baoqiangwang51CTO博客,原文链接:http://blog.51cto.com/baoqiangwang/310378,如需转载请自行联系原作者
相关文章
|
7月前
|
设计模式 BI 索引
深入探讨数据仓库缓慢变化维的解决方案
深入探讨数据仓库缓慢变化维的解决方案
|
5天前
|
存储 大数据 数据管理
数据仓库(09)数仓缓慢变化维度数据的处理
数据仓库的重要特点之一是反映历史变化,所以如何处理维度的变化是维度设计的重要工作之一。缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的,它会随着时间的流逝发生缓慢的变化,与数据增长较为快速的事实表相比,维度变化相对缓慢。阴齿这个就叫做缓慢变化维。
236 2
数据仓库(09)数仓缓慢变化维度数据的处理
|
7月前
|
存储 数据挖掘 关系型数据库
数仓学习---6、数据仓库概述、 数据仓库建模概述、维度建模理论之事实表、维度建模理论之维度表
数仓学习---6、数据仓库概述、 数据仓库建模概述、维度建模理论之事实表、维度建模理论之维度表
|
5天前
|
存储 数据采集 分布式计算
大规模数据处理:从数据湖到数据仓库
对于大型企业来说,海量的数据是一种巨大的财富,但如何高效地处理这些数据却是一个巨大的挑战。本文将介绍大规模数据处理的两种主流方式:数据湖和数据仓库,并探讨它们的优缺点以及如何选择适合企业的方案。
49 1
|
5天前
|
数据挖掘 数据库
离线数仓6.0--- 数据仓库 ER模型-范式理论,维度模型、维度建模理论之事实表、维度建模理论之维度表
离线数仓6.0--- 数据仓库 ER模型-范式理论,维度模型、维度建模理论之事实表、维度建模理论之维度表
143 0
|
5天前
|
存储 大数据 数据管理
数据仓库(08)数仓事实表和维度表技术
所谓的事实表和维度表技术,指的就是如何和构造一张事实表和维度表,是的事实表和维度表,可以涵盖现在目前的需要和方便后续下游数据应用的开发
60 1
|
8月前
|
SQL 数据挖掘 HIVE
Hive数据仓库维度分析
Hive数据仓库维度分析
100 0
|
9月前
|
存储 SQL 数据挖掘
数据仓库-维度建模不是万金油
写在前面:最近有些抵触写东西,总感觉自己没有清晰的表达思路和专业的知识体系,写的东西都是更偏向个人经验的一家之谈;之前总想着把文章结构做好,图片做好,表达做好,这样能更容易让大家理解,可以让更多的人接受所要表达的观点;但是,这样写太痛苦了,似乎是为了达到某种结果而刻意为之。。。最终还是回归表达的本质,传播思路和想法,把这个说清楚就可以了,不管是三言两语还是长篇大论,让看到的人能知道有这么一种观点和
105 0
|
5天前
|
SQL Cloud Native 数据挖掘
云原生数据仓库产品使用合集之在使用 ADB 进行数据分析处理时,出现分区倾斜的情况,如何解决
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
5天前
|
Cloud Native 关系型数据库 MySQL
云原生数据仓库产品使用合集之如何使用ADB MySQL湖仓版声纹特征提取服务
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。

热门文章

最新文章