2017-03-13 16 views
1

내가 두 개의 입력 테이블이 :Lookup을 사용하여 SSIS에서 이전 ID를 가져 오는 방법은 무엇입니까?

1) 사이트 :

site_id|| site_name|| site_location 


1000 || abc  || XYZ_123 

1001 || tyu  || ERD_123 

1002 || iok  || FTR_678 

1003 || okn  || YHU_987 

1004 || ybg  || OLP_008 

1005 || qwe  || PLM_126 

2)

제품 :

나는 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 열이 이전 PreviousID를 매핑하지만 PreviousID에 대한 dervied 열을 사용하여 새 열을 추가 한

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 

. 조회 변환을 사용하여 Site_id 및 product_id의 값을 조회했지만 일부 실수를하고 있으며 그 실수를 파악할 수 없습니다.

내가 어떤 도움이 감사합니다 2010 년

비주얼 스튜디오를 사용하고 있습니다.

+0

SSIS에서이 작업을 수행해야하는 이유가 있습니까? SQL 저장 프로 시저에서이 작업을 수행합니다. SSIS에서 이렇게하려면 스크립트 변환을 사용해야한다고 생각합니다. –

+0

스크립트 변환 방법은 무엇입니까? 정교하게 말하십시오. –

+0

지연 기능을 사용할 수도 있습니다 –

답변

2

스크립트 변환에서이 작업을 수행 할 수 있습니다. 먼저 PreviousID의 값을 보관할 패키지 변수를 만듭니다. 스크립트 변환이 각 행을 처리 할 때 스크립트 끝에 PreviousID 변수의 값을 설정하고 스크립트의 시작 부분에서 변수 값을 읽으면 이전 행에 의해 설정된 값을 가져옵니다. PreviousID을 언제 null로 재설정할지 결정하기 위해 사용중인 논리를 적용 할 수도 있습니다. 그것은 당신의 모범에서 그 논리가 무엇인지 분명하지 않습니다.