|
楼主

楼主 |
发表于 2006-5-18 12:41:00
|
只看该作者
请问变量在数据步和宏之间的数值传递
刚刚上手SAS, 这两天被搞的焦头烂额。
比如说下面:
Data _NULL_;
set a;
retain cc 1;
%deliver;
%Macro deliver;
data _NULL_;
set b;
put cc;
%Mend deliver;
run;
如果这样的话宏里面的cc是没有值的, 数据部的cc=1的值是不会传到宏里面去的.
但是写成
Data _NULL_;
set a;
retain cc 1;
%deliver;
%Macro deliver;
put cc;
%Mend deliver;
run;
这样就可以把cc=1列印出来. 所以我很奇怪究竟是怎么回事.
其实问题的关键是我有两个dataset, set a 和set b, 两个dataset是相关联的. 我想在set a中取值后再在set b中定位相同值的records, 再把这些records放在set c中, 我只想到用宏这样的笨方法. 有没有什么其它方法? 一定要用sql一类的东西?
谢谢. |
|