2016-12-13 3 views
0

put 문과 사용자 정의 형식을 사용하여 SAS에서 변수를 다시 포맷하려고합니다. 그러나, 나는 그것이 작동하도록 할 수 없습니다. "S0001-001"값을 "S0001-002"로 변환하고 싶습니다. 그러나이 코드를 사용할 때 :SAS의 변수 값 영구 변경

put("S0001-001",$format.) 

"S0001-001"을 반환합니다. 내 형식을 다시 확인했는데 올바르게 매핑되었습니다. Excel에서 가져 와서 SAS 테이블로 변환하고 SAS 테이블을 SAS 형식으로 변환합니다.

enter image description here

오전 내가 넣어 문이해야 할 내용을 오해?

도움 주셔서 감사합니다.

+0

형식 정의를 표시하십시오. – Tom

+0

위의 형식 이미지를 추가했는데 도움이됩니까? – theponcer

+0

해당 형식이 정상적으로 작동합니다. 작동하지 않는 예제를 게시하십시오. – Tom

답변

0

이와 같은 방법을 시도했다고 가정하면 의도 한대로 작동해야합니다.

proc format ; 
value $format 'S0001-001' = 'S0001-002' ; 
run; 
data want ; 
old= 'S0001-001'; 
new=put(old,$format.); 
put (old new) (=:$quote.); 
run; 

변수 값이나 형식의 START 값에 선행 공백이나 다른 보이지 않는 문자가 없는지 확인하십시오. 마찬가지로 하이픈이 실제 하이픈이고 em 대시 문자가 아닌지 확인하십시오.