我想创建一个存储变量名称的数组。然后索引到数组并传递给函数。到目前为止,我有以下内容:
%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)
等。
答案 0 :(得分:0)
我不确定我到底知道你想做什么。如上所述,您可以使用VNAME查找i th 数组元素的名称。这真的是你需要的吗?
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