首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSIS在处理数据加载、维护历史记录以及缺少新行方面的最佳实践是什么?

SSIS在处理数据加载、维护历史记录以及缺少新行方面的最佳实践是什么?
EN

Stack Overflow用户
提问于 2019-01-03 03:09:59
回答 1查看 201关注 0票数 0

我已经做了20年的.NET了,因为我从DTS开始就拥有了SSIS,几年来我已经完成了严重的数据仓库实例、维度、事实表等等。我做了一个type2缓慢更改的维度,实现了合并和原始SQL任务,以完成对现有行、新行和更改行的检查。

但我不是BI开发人员,这不是我的强项。

我需要把每天的数据输入到一个不断增长的表中.标记行(使用我正在考虑的日期时间戳退休),以指示新的加载没有包含匹配的行,也许该行已经退休了?当然,常规的数据加载改变,新的插入更新等等。显然,这似乎是一个类型2缓慢变化的维度。

基于这种有限的描述,是正确的假设吗?

我正在寻找时间-tested接受的行业标准,如何解决这一情况。

没有数据仓库,也没有分析参考的“仪表板”,这些数据实际上将用于支持严肃的查找,并为实际的账单提供参考。

我知道这听起来是怎么回事,但考虑到他们所获得的数据,企业只是试图建立他们可能能够建立的最准确的数据引用。

类型2缓慢变化的尺寸。奇怪的是,因为真的没有维度表,只是每天的数据负载,这里根本没有分析!

我什么也没有,我正在寻找一个方向来实现一个被接受的模式。

通用psuedo代码:

  • Row 123 (我甚至还没有PKs )是在中推出的,它是唯一的,首先加载到舞台表,最后加载到主表中,加载到“周一”。
  • 加载“星期二”第123行有地址更改和更改,它的颜色列.确认行在两个表中都存在,“更新更改字段”标志/“更新日期”字段指示已更改。
  • 加载“星期三”,源数据中没有第123行。退休第123行带有退休日期(表示已退休的特殊DateTime列也可能是指示已退休的位标志)
  • 刚刚实现了一个基本的2型
EN

回答 1

Stack Overflow用户

发布于 2019-01-06 13:53:55

显然,分层SQL合并结构提供了所需的条件:

当匹配和(SDC字段正在更改(不同)时),然后更新.

当目标不匹配时,插入()

如果源与Target.IsRowCurrent =1不匹配,则更新

这基本上只是purplefrogsystems.com上亚历克斯·惠特尔斯博客的总结,这似乎是事实上的标准,不过检查当前日期而不是“行当前标志”也非常突出。

可以添加额外的工作来将所有更改推送到暂存表中,并将这些更改大容量加载到所需的目标表中,如果您有大量的数据并发现需要进行额外的工作,则可以将上面的目标表替换为暂存表。

但实际上,这比SSIS逐行向导更快。

我不想再提托德·麦克德米德关于Kimball方法SCD组件的视频了。我不喜欢把别人的预置组件扔进SSIS,即使是从杰出的金球组。

我更愿意了解正在发生的事情,但是如果您关心视频系列,在展示add in组件:https://www.youtube.com/channel/UCks8CDxSGRRh9IbtTc3ZRqw之前,这是以两种手动方式进行的吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54015830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档