2017-02-01 2 views
0

텍스트 파일에서 목록을 가져와 Excel로 내보내려고합니다.SSIS with Visual Studio 파생 된 열

Rank,Millions,Name,Country,Source of wealth 
1,12700,Lakshmi Mittal and family, India,Steel 
2,12315,Alisher Usmanov, Russia,Mining and Investment 
3,9500,Roman Abramovich, Russia,Oil and industry 
4,8600,Sri and Gopi Hinduja, India,Industry and Finance 
5,7580,Leonard Blavatnik, Russia,Industry 
6,7400,Ernesto and Kirsty Bertarelli, Switzerland &  United Kingdom,Pharmaceuticals 
7,7350,Gerald Grosvenor, 6th Duke of Westminster, United Kingdom,Property 
8,7083,David and Simon Reuben, United Kingdom,Property and Internet 
9,6600,John Fredriksen and family, Norway,Shipping and oil services 
10,5900,Galen Weston, George Weston and family, Canada,Retailing 
11,5490,Charlene de Carvalho-Heineken and Michel Carvalho, Netherlands,Inheritance, banking, brewing (Heineken) 
12,4300,Hans Rausing and family, Sweden,Packaging 
13,4100,Joseph Lau, China,Property 
14,,Paul Chuckle, UK, IT Training 
15,4300,Nicky Oppenheimer, South Africa,Mining, Diamonds 
16,3900,Kirsten & Jorn Rausing, Sweden,Inheritance, Investment 
17,3400,Sir Richard Branson, United Kingdom,Internet, Transport, Finance 
18,3300,Sir Philip and Lady Green, United Kingdom,Retailing 
19,,Barry Chuckle, UK, Comedy 
20,,Roger Chuckle,UK,SSIS consultancy 

순위 14, 19 및 20의 경우 수백만 열은 빈 문자열입니다. 이미 수백만 개가 지정된 행과 조건부 분할을 사용하지 않은 행에서 데이터를 분리했습니다. 지금하고 싶은 것은 지정되지 않은 3 개의 행을 가져 와서 파생 열 변환을 사용하여 "지정되지 않음"으로 작성하는 것입니다. 나는 (식 탭) 같은 것을 할 수있을 것이라고 그림 : I 출력에 데이터 뷰어를 실행하면

Millions=="Not Specified" 

는 그러나, 세 개의 열이 수백만 열에서 "거짓"을 보여줍니다.

나는 주위에 이상한 일을했지만 나는 더 나은 방법이있을거야 : 내 최초의 솔루션을 사용할 수없는 이유

Millions == "" || Millions != "" ? "Not Specified" : "Not Specified" 

누군가가 말해 줄 수는? 부울과 관련이 있다고 가정하고 있지만 데이터 유형은 문자열입니다.

답변

0

우선, "수백만 개"필드에 조건부 분할 값이 비어있는 레코드를 분리하는 특별한 이유가 있습니까? 파생 열 변환을 사용하고 파생 열 탭에서 다음을 선택하십시오. 'Millions'바꾸기. 표현의 줄에 입력 할 수 있습니다 :

`Millions=="" ? "Not specified" : Millions` 

이 수백만 필드가 빈 값이있는 경우, 반대에, 단지 기존 값 (거짓 상태)를 삽입 (실제 상황) "지정되지 않음"또는 이것을 대체 할 것을 의미한다. 맞습니다. 데이터 유형은 문자열이지만 표현식 평가는 항상 부울을 가리 킵니다. 수백만 달러를 사용할 수없는 이유를 간단히 설명하겠습니다. == "지정되지 않았습니다." Expression은 평가할 인수가 필요하기 때문에 표현식이 true 또는 false로 평가되면 수행 할 작업을 지정해야합니다. 이 연산자는 if/else 문의 간단한 버전으로 생각할 수 있습니다. 그래서, 첫 번째 해결책의 문제점은 수백만 == ""으로 어떻게 될지를 지정하지 않았다는 것입니다. 희망이 도움이됩니다.

+0

고마워, 나는 이것에 초보자 다. 그러나 그것은 많은 의미를 가진다. – alexs973