2015-10-06 679 views
0

我想創建一個存儲變量名稱的數組。然後索引到數組並傳遞給函數。到目前爲止,我有以下幾點:通過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)

+0

您是否熟悉vname()函數? – Reeza

回答

0

我米不知道我明白你想要做什麼。如前所述,您可以使用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