2016-12-13 4 views
0

私は、put文とユーザ定義フォーマットを使用してSASで変数を再フォーマットしようとしています。しかし、私はそれを動作させるように見えることはできません。私は値 "S0001-001"を "S0001-002"に変換したいと思っています。しかし、私はこのコードを使用する:SASの変数値を永久に再フォーマットする

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

"S0001-001"を返します。私は自分のフォーマットを再確認し、正しくマップされています。 ExcelからインポートしてSASテーブルに変換し、SASテーブルをSASフォーマットに変換します。

enter image description here

アムは、私は、PUT文がやっていることになっているものを誤解しますか?

ありがとうございます。

+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ダッシュ文字でないことを確認します。