2014-04-23 2 views
0

ssis에 서로 게이트 키 (다른 차원 테이블에 외래 키)를 매핑하는 방법.ssis의 대리 키 매핑

나는이 같은 Dim.Camp 표 : 위의 내 차원 테이블입니다

Dim.Camp(campkey int identity(1,1),Advkey int,campbk int,campname varchar(10)) 

Dim.Adv(Advkey int identity(1,1),Advbk int) 

이 내 스테이징 테이블은 다음과 같습니다

Camp(Advid int,campid int,campname varchar(10)) 

Adv(Advid int) 

Dim.camp 루프까지 작업을 통해로드 내 스테이징 테이블을 사용하여 ssis에서 :

그럼 내가 얻을 :

스테이징 테이블에는 대응하는 매핑이 없기 때문에 그 열의 모든 널 (null)를 얻을 수
Dim.Camp(campkey int identity(1,1),Advkey int,campbk int,campname varchar(10)) populated accept 

Advkey

사람은 내가 잘못이 무엇인지 말해 줄 수 ... 또는 이것을 어떻게 수행 할 수 있습니까?

답변

0

원본 시스템이나 준비 테이블의 "Camp"및 "Adv"엔티티 또는 테이블 간의 관계를 알고 싶습니다. 차원 테이블에서 조회를 수행하려면 항상 비즈니스 키가 필요합니다. 즉, Dim.Camp 및 Advbk에서 Dime.Camp 차원의 레코드를 조회하는 데 campbk가 필요합니다.

올바르게 이해하면 예를 들어 실행 SQL 작업 또는 데이터 흐름 작업에서 병합 명령을 사용하여 준비에서 Dim.Adv를 먼저로드해야합니다.

select Advid as Advbk,campid campbk,campname from Staging.Camp

그런 다음 조회 (조회 테이블 : Dim.Adv)를 만들 : 쿼리

출처 : 그럼 당신은 무대에서 Dim.Camp, 이런 식으로 뭔가를로드 할 수 있습니다 어디 Dim.Advid를 얻을 수 Dim.Adv.Advbk = Advbk

마지막으로 다른 조회 (테이블 : Dim.Camp)를 수행 한 다음 레코드를 업데이트하거나 삽입해야하는지 결정합니다.

추가 질문이 있으면 알려주세요.

종류 감사

+0

제가 DW에서 스테이지에서 하나 개의 테이블을 하나 개의 테이블을 사용 ... 등 난 Staging.Camp 조회 Dim.Adv을 사용 ?? ... 저에게 어떤 다른 견해와도 연결시켜 주실 수 있습니까? 나는 네가 나의 문제를 가지고 있다고 생각한다 thers지도 상응하는 advkey! 내 준비에서. 광고! –

+0

당신은 btw 테이블 관계를 요청했습니다 ... 캠프에는 Adv가 외래 키인 Advad –

+0

이 있습니다. staging.Camp.Advid를 사용하여 dim.Adv.Advid를 사용하여 dim.Adv 테이블을 조회 한 다음 다른 조회를 준비로 사용할 수 있습니다 .Camp.campId를 사용하여 dim.Camp.Campid를 가져온 다음 들어오는 레코드를 삽입하거나 삭제해야하는지 결정합니다. –