我想带着这些日子面临的挑战来到这里。
对于每条记录,基本上应该在put语句中使用不同的格式,并且它在自己的数据中定义。
挑战不是分割datasteps并在datastep中获得想要的结果,所以避免明显的%do循环和类似的东西:)
proc format;
value $a 'FRS'='FIRST';
value $b 'SCN'='SECOND';
run;
data a;
length var $3 res $10 fmt $5;
var='FRS'; fmt='$a.'; res=''; output;
var='SCN'; fmt='$b.'; res=''; output;
run;
data b;
set a;
*your code goes here, the result should go into res variable;
*and should be the "putted" value of var using fmt as format.;
*an obviously non working version can be found here below;
res=put(var,fmt);
run;
下面是它的样子,res是预期的结果:
VAR FMT RES
---------------
"FRS" $a. =put("FRS",$a.)="FIRST"
"SCN" $b. =put("SCN",$b.)="SECOND"
答案 0 :(得分:6)
我不确定我是否理解这个问题,但看起来您只想使用PUTC()
函数。如果您的变量是数字,则可以使用PUTN()
函数。
res=putc(var,fmt);