2015-10-06 5 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, чтобы найти имя элемента массива 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 

 Смежные вопросы

  • Нет связанных вопросов^_^