Sql 如何使用查找在SSIS中获取以前的ID?
我有两个输入表: 1) 地点: (二) 产品:Sql 如何使用查找在SSIS中获取以前的ID?,sql,ssis,msbi,Sql,Ssis,Msbi,我有两个输入表: 1) 地点: (二) 产品: Product_id|| product_name||start_date||end_date 212 || sme1 ||2014-12-25||2017-03-13 250 || try1 ||2013-12-15|| 2017-03-13 267 || inu1 || 2015-03-27|| 2017-03-17 我需要检查id重复了多少次,并像输
Product_id|| product_name||start_date||end_date
212 || sme1 ||2014-12-25||2017-03-13
250 || try1 ||2013-12-15|| 2017-03-13
267 || inu1 || 2015-03-27|| 2017-03-17
我需要检查id重复了多少次,并像输出表一样对其进行排序
这是我的输出表结构:
Id|| site_id|| product_id|| previous_id|| start_date|| end_date
1 || 1000 ||250 || null || 2015-01-01||2017-03-13
2 || 1001 ||250 || 1 || 2014-12-25||2015-01-01
3 || 1002 ||250 || 2 || 2013-12-15||2014-12-25
4 || 1003 ||267 || null || 2015-03-27|| 2017-03-17
5 ||1004 ||212 || null || 2016-01-01||2017-03-13
6 || 1005 ||212 || 1 || 2014-12-25||2015-12-30
我使用dervied column为PreviousID添加了一个新列,但要将以前的PreviousID映射到ID列,我无法找到一种方法。
我使用lookup转换来查找Site_id和product_id的值,但是我犯了一些错误,我无法找出那个错误
我正在使用VisualStudio2010
非常感谢您的帮助。您可以通过脚本转换来实现这一点。首先,创建一个包变量来保存
PreviousID
的值。当脚本转换处理每一行时,您可以在脚本末尾设置PreviousID
变量的值,并在脚本开头读取变量的值,以获得前一行设置的值。您还可以应用任何逻辑来确定何时将PreviousID
重置为空。从您的示例中不清楚该逻辑是什么。您有什么理由必须在SSIS中这样做吗?我将在SQL存储过程中执行此操作。要在SSIS中实现这一点,我认为您必须使用脚本转换。如何使用脚本转换?请详细说明。您也可以使用滞后功能
Id|| site_id|| product_id|| previous_id|| start_date|| end_date
1 || 1000 ||250 || null || 2015-01-01||2017-03-13
2 || 1001 ||250 || 1 || 2014-12-25||2015-01-01
3 || 1002 ||250 || 2 || 2013-12-15||2014-12-25
4 || 1003 ||267 || null || 2015-03-27|| 2017-03-17
5 ||1004 ||212 || null || 2016-01-01||2017-03-13
6 || 1005 ||212 || 1 || 2014-12-25||2015-12-30