首先这个看起来基础,但是其实不基础。我问过俩SAS技术董事,都没完美搞定。
data _null_;
a="5+sum(2.1,5.312)";/*a是个字符型变量*/
b= /*让b=5+sum(2.1,5.312),就是a的算式/结果,而不是字符*/;
put b;
run;
要求:
1、必须一个data步内完成;
2、计算完后,b的值得能返回到上面的原data步。
3、计算效率越高越好,最好相当于SAS内部函数调用或者%let宏函数赋值。
我进一步明确一下内容:
data _null_;
m=5;n=2.1;r=5.312;
a="m+sum(n,r)";/*a是个字符型变量*/
b= /*让b=5+sum(2.1,5.312),就是a的算式/结果,而不是字符*/;
put b;
run;
除了a="m+sum(n,r)";还可能是a="m+sum(n,exp(r))";a="log(m+sum(n,r))";等