通过SAS数组解析宏变量
问题描述:
我想创建一个存储变量名称的数组。然后索引到数组并传递给函数。到目前为止,我有以下几点:通过SAS数组解析宏变量
%let variables = cat dog lion sheep;
data _null_;
array a_vars[*] &variables;
do i = 1 to dim(a_vars);
some_function(a_vars[i],i);
end;
run;
我遇到一个问题,分配的变量数组,然后索引数组中的函数做:some_function(cat, 1)
或some_function(dog,2)
等
答
我米不知道我明白你想要做什么。如前所述,您可以使用VNAME查找数组元素的名称。那真的是你需要的吗?
26 data _null_;
27 array a_vars[*] &variables;
28 length name $32;
29 do i = 1 to dim(a_vars);
30 name = vname(a_vars[i]);
31 put (i name) (=);
32 end;
33 run;
i=1 name=cat
i=2 name=dog
i=3 name=lion
i=4 name=sheep
您是否熟悉vname()函数? – Reeza