2017-03-28 8 views
0

fmtAfmtBを既に定義しました。変数名をフォーマット名として使用

fmtA

1-> 1

2-> 2

fmtB

1-> 2

2-> 4

入力データ:

x format y 
1 fmtA 
1 fmtB 
2 fmtA 
3 fmtA 

formatに基づいて列xyをフォーマットしようとしました。

可能ですか?

答えて

2

はい、あなたはputn機能を使用してこれを行うことができ、例えば:

proc format; 
value fmtA 
1 = 1 
2 = 2 
; 
value fmtB 
1 = 2 
2 = 4 
; 
run; 

data have; 
input x format $; 
cards; 
1 fmtA 
1 fmtB 
2 fmtA 
3 fmtA 
; 
run; 

data want; 
set have; 
y = putn(x,format); 
run; 
2

PUTNとPUTC機能を使用すると、データのステップの実行時にフォーマットを適用することができます。試してください:

y=putn(x, cats(format,'.')) ; 
関連する問題