SAS передает имя столбца через переменную

Мне нужно передать имя столбца через переменную.

%let dsn=a1234;
data temp;
   set &a1234;
   if age>=20;
run;

Где «a1234» — это имя столбца (присутствующее в файле), которое я хочу использовать; а не строка a1234.

Причина, по которой я хочу сделать это, заключается в том, чтобы все параметры были определены в верхней части скрипта, что делает код более чистым (в данном случае).

Заранее благодарим за любой отзыв.


person jpsfer    schedule 21.08.2012    source источник


Ответы (2)


Хотя в вашем вопросе говорится, что a1234 — это столбец, этот ответ рассматривает его как имя набора данных, как это используется в вашем примере кода.

Вы были очень близки; вы создали переменную макроса с именем DSN с значением a1234, но попытались сослаться на переменную макроса с именем A1234. Другими словами, попробуйте следующее:

%let DSN=a1234;
data temp;
   set &DSN;
   if age>=20;
run;

С заглавной буквы для акцента.

person BellevueBob    schedule 21.08.2012

Вы спрашиваете об этом?

%let dsn=a1234;
%Let column=Age;
data temp;
 set &a1234;
 if &column>=20;
run;
person Jay Corbett    schedule 21.08.2012