SAS中文论坛

标题: 请问如何定义一个宏数组 [打印本页]

作者: shiyiming    时间: 2005-1-16 05:42
标题: 请问如何定义一个宏数组
请问如何定义一个宏数组
我想保存一个数据集中的结果给其他数据步用,
请问如何用宏定义一个数组.
谢谢。
作者: shiyiming    时间: 2005-1-16 11:24
标题: 呵呵
我不知道有无正式的宏数组定义方法,不过我会模拟。
只要你把具体要求提出来,应该能够解决。
作者: shiyiming    时间: 2005-1-16 18:03
标题: re:请问如何定义一个宏数组
谢谢。
比如数据集a中有个type列,用数组vs将该列中所有的数据保存下来。


data a;
vs=type;
run;

vs 是个宏,其他的地方需要用。

只要能实现类似的功能也行,不一定要用数组。
谢谢
作者: shiyiming    时间: 2005-1-17 05:18
标题: 求助!
我是不是可以这样定义和赋值一个宏list?
但是怎么%put &&name&i 的时候
总出警告Apparent symbolic reference I not resolved

%global myarray;
%macro myarray;
%do i=1 %to  65 ;
%let name&i=i ;
%end;
%mend myarray;

求助!
谢谢回复!
作者: shiyiming    时间: 2005-1-17 08:11
标题: Re: 求助!
因为你的变量I 是局部变量。
另外,%let name&i=&i ;
作者: shiyiming    时间: 2005-1-17 09:17
标题: 想用数组就用数组啊
data a;
input type$;
cards;
Adidas
Nike
LiNing
Puma
;
run;

data _null_;
set a;
call symput('vs'||compress(_n_),type);
run;

%put _Global_;
/////////////////////////日志中的结果
GLOBAL VS1 Adidas
GLOBAL VS2 Nike
GLOBAL VS3 LiNing
GLOBAL VS4 Puma




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2