【发布时间】:2018-06-26 18:35:36
【问题描述】:
我正在尝试在宏定义中的 %do 循环中获取数组的第 i 项,并使用元素名称创建一个数据集,但我能得到的只是“z1”等。这就是我到此为止
%macro print(set,groupvar);
proc sql ;
select put(count(distinct &groupvar),1.)
into :hm
from &set
;
select distinct set
into :z1-:z&sysmaxlong
from &set
;
quit;
data %do i =1 %to &hm;
%scan(&z, &i);
%end;
;
%mend;
我也尝试了 z[&i] 而不是 %scan(&z,&i) 但仍然没有运气
【问题讨论】:
-
发生了什么让你感到不走运?
-
它只创建一个名为“z”的数据集,而不是我想使用“set”列中的值创建的三个数据集
-
谷歌“sas 将数据拆分为子集”,如果您正在尝试这样做,您会找到大量示例。
标签: sas