我已经做了20年的.NET了,因为我从DTS开始就拥有了SSIS,几年来我已经完成了严重的数据仓库实例、维度、事实表等等。我做了一个type2缓慢更改的维度,实现了合并和原始SQL任务,以完成对现有行、新行和更改行的检查。
但我不是BI开发人员,这不是我的强项。
我需要把每天的数据输入到一个不断增长的表中.标记行(使用我正在考虑的日期时间戳退休),以指示新的加载没有包含匹配的行,也许该行已经退休了?当然,常规的数据加载改变,新的插入更新等等。显然,这似乎是一个类型2缓慢变化的维度。
基于这种有限的描述,是正确的假设吗?
我正在寻找时间-tested接受的行业标准,如何解决这一情况。
没有数据仓库,也没有分析参考的“仪表板”,这些数据实际上将用于支持严肃的查找,并为实际的账单提供参考。
我知道这听起来是怎么回事,但考虑到他们所获得的数据,企业只是试图建立他们可能能够建立的最准确的数据引用。
类型2缓慢变化的尺寸。奇怪的是,因为真的没有维度表,只是每天的数据负载,这里根本没有分析!
我什么也没有,我正在寻找一个方向来实现一个被接受的模式。
通用psuedo代码:
发布于 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之前,这是以两种手动方式进行的吗?
https://stackoverflow.com/questions/54015830
复制相似问题