2010-03-01 8 views
0

데이터 흐름에서 파생 열 작업이 있습니다. 열 중 하나에 대한 표현식에서 다음 표현식을 사용합니다.SSIS 표현식 - EvaluateAsExpression 문제

[siteid] == "100" ? "1101" : [siteid] == "110" ? "1001" : [siteid] == "120" ? "2101" : [siteid] == "140" ? "1102" : [siteid] == "210" ? "2001" : [siteid] == "310" ? "3001" : [siteid] 

이것은 잘 작동합니다. 그러나이 변수를 적어도 12 개 이상의 다른 곳에서 재사용하려고합니다. 그래서 이것을 변수에 저장하고 하드 코딩 된 표현식 대신 파생 열에서 변수를 사용하려고합니다. 위의 표현식을 사용하여 변수를 만들려고하면 'siteid'가 정의되어 있지 않다는 구문 오류가 발생합니다. 나는 그렇지 않다는 이유로 이것이 맞는 것 같아요. 하지만 변수를 사용하여 표현식을 어떻게 얻을 수 있습니까? 'siteid'는 표현식을 적용하려는 데이터가 포함 된 열이 될 것이라고 말하는 것은 일종의 방법이 필요합니다.

답변

1

변수 표현식에서 열 이름을 사용할 수 없습니다. SSIS에서이 논리를 쉽게 "복제"할 수있는 방법이 없습니다.

그러나 하드 코딩 된 논리를 복제하려고 시도하지 말 것을 제안합니다. 참조 테이블을 만들고 Lookup 구성 요소를 사용하여 값을 가져옵니다. 이렇게하면 "사례"진술이 변경되는 경우 한 가지 수정 만하면됩니다.이 논리가 사용되는 모든 곳에서 사냥을 할 필요가 없습니다. Lookup 구성은 드래그 앤 드롭이 용이합니다.