2016-07-28 4 views
3

일부 열과 함께 $가있는 SAS 데이터 세트가 있습니다. 따라서 67,349를 읽는 대신 67,349 달러를 읽습니다. 모든 열에서 $를 모두 제거하고 SAS가이 열을 숫자로 인식하도록하려면 어떻게합니까?SAS에서 달러 기호 제거

달러 기호가있는 열이 몇 개 있으므로 각 열을 한 번에 하나씩 처리 할 수 ​​있습니다. SAS의 무료 대학 판을 사용하고 있습니다.

+0

이미 SAS 데이터 세트가 있습니까? 아니면 소스 파일에서 SAS 데이터 세트를 만드시겠습니까? – Tom

+0

데이터 세트에 기존 데이터 세트가 있는데 두 개의 열에 달러 기호가 포함되어 있습니다. – user18101

답변

4

$를 제거하고 여전히 문자 변수가있는 경우 compress() 함수를 사용하십시오. 새 숫자 변수에 문자열을 변환 할 경우

data want; 
    set have; 
    myvar = compress(myvar,'$'); 
run; 

다음이 기존 질문을 참조하십시오. COMMA. informat은 문자열의 $,자를 자동으로 무시합니다. Converting character variabls to numeric in SAS

2

문자열 변수에서 $ 및 값을 제거합니다. 그런 다음 입력 함수를 사용하여 숫자로 변환하십시오.

data test; 
format incol $12.; 

incol = "$62,123"; 
incol = compress(translate(incol,"","$,")); 
outcol = input(incol,best.); 
output; 

incol = "62,123.3"; 
incol = compress(translate(incol,"","$,")); 
outcol = input(incol,best.); 
output; 
run; 

TRANSLATE()은 $ 및를 공백으로 대체합니다. COMPRESS()은 공백을 모두 제거합니다. INPUT()은 문자열을 숫자로 변환합니다.

당연히 모든 전화를 1 통화에 넣을 수 있지만 여기를 따라 쉽게 전화를 걸 수 있습니다.

+0

내 열의 이름은 어디에서 사용합니까? 이 경우에는 "HOME_VAL"입니다. "62,123 달러"를 대신 할 수 있습니까? – user18101

+0

'incol'과'outcol'은 그냥 place holder입니다. 'incol'을 컬럼으로 대체하고'outcol'을 새로운 컬럼을 호출하고자하는 것으로 대체하십시오. 필요한 경우 이전 열을 삭제하고 새 열을 원래 이름으로 다시 바꿀 수 있습니다. – DomPazz

+0

이것은 데이터 세트 – user18101

3

dollar. 정보를 사용하지 않는 이유는 무엇입니까?

 
data want ; 
    incol ="$62,123" ; 
    outcol = input(incol,dollar10.) ; 
run ; 
+0

에 행을 추가하는 중입니다. 그래,이 대답이 허용되어야합니다. –