在源表中,有两列如下快照显示:
那么对于目标表,它应该是这样的:
(“DimLocationKey”是自动生成的代理键 )
我怎么能实现在SSIS自引用的效果呢? 我尝试以下方法,但它不工作,因为会有在查找没有匹配。
在源表中,有两列如下快照显示:
那么对于目标表,它应该是这样的:
(“DimLocationKey”是自动生成的代理键 )
我怎么能实现在SSIS自引用的效果呢? 我尝试以下方法,但它不工作,因为会有在查找没有匹配。
如果列可以为空,那么你可以加载LOCATION_ID特有的价值观,然后有一个二次加工回来过,并采取更新现有的和可能增加新的服务。
1 NULL A NULL
2 NULL B NULL
3 NULL C NULL
4 NULL D NULL
我想,如果它不是空的,那么你可以在数据流中预先计算这些ID,并指定当前行和家长自己。 作为一个开发者,我会恨你,虽然;)
在这一点上,就变成了是否存在应在表8行或4(无论您的源数据显示)的问题。 这将成为,适当地“简单化”为企业用户的问题。 我已经看到了我的层次问题,两个答案 - “是谁并不总统报告” 在一个地方,主席报告没有一个,这意味着费用的请求被自动批准。 不同的地方有CEO报告自己这意味着他们的费用报告还必须由自己来批准。 我想这是确保他们的行政问责制,没有什么是AUTOMAGIC。
如果答案是8行,那么你的数据流看起来是正确的。 如果是4,那么你会使用现有的数据流,但更新的行来代替。 如果它是一个小的行集,数百名,那么你可以使用OLEDB命令,写你的更新语句。 只要知道它会发出一个UPDATE语句为每个点击的组件行。 这可以把你的处理停顿,因为它是非常低效的。
更新更有效的途径是使用OLE DB目的地和数据流结束后,有一个执行SQL任务问题基于集合的UPDATE语句。 见刘德华伦纳德的楼梯到集成服务系列中如何做到这一点写得很好的例子。
如果它不能为空和节点引用本身是不允许的话,好像你的数据模型并不能准确描述