SAS中文论坛
标题:
call symput什么意思
[打印本页]
作者:
shiyiming
时间:
2010-2-4 10:53
标题:
call symput什么意思
data _null_;
call symput('edit_2',compress(substr("&edit_p",5,2)));
run;
这段代码什么意思 有没有好心人解释下
作者:
Qiong
时间:
2010-2-4 12:41
标题:
Re: call symput什么意思
把dataset里的东西弄成宏变量
作者:
shiyiming
时间:
2010-2-4 12:50
标题:
Re: call symput什么意思
谢谢
作者:
shiyiming
时间:
2010-2-4 21:55
标题:
Re: call symput什么意思
[code:3k8zgbba]%let edit_2 = %substr(&edit_p, 5, 2);[/code:3k8zgbba]
用call symput 的奥妙在哪里呢?
作者:
shiyiming
时间:
2010-2-5 09:19
标题:
Re: call symput什么意思
&edit_p 不能直接在data步里使用,会出问题,如果直接用的话,结果不是把&edit_p的变量的值赋给edit_2,而是后面的表达式。
作者:
shiyiming
时间:
2010-2-5 10:14
标题:
Re: call symput什么意思
在这个实例中的效果没有什么不同,但是call symput与%let是有细微的差别的。%let语句在编译的时候也就是在PDV产生之前就已经开辟内存空间存储宏变量。而call symput是在执行的阶段也就是在PDV产生之后,执行到该call symput语句才分配内存空间给宏变量。在有些情况下结果就会有不同了。大部分情况大部分用户一般是感受不到区别的。
作者:
shiyiming
时间:
2010-2-5 21:57
标题:
Re: call symput什么意思
看来SAS的奥妙还在精细之处。
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2