2012-06-18 4 views
1

В SAS можно ли ссылаться на оператор %let на значение, находящееся в базе данных?SAS let statement: обратитесь к значению ячейки?

Например, значение my n в %let n=50 зависит от некоторого значения, вычисленного в одной из моих баз данных, например, первой строки плюс первый столбец. И поскольку это значение получает 100 раз в моем цикле, я не хочу вручную вводить это значение.

ответ

6

Существует несколько способов сделать это. Вот два:

proc sql; 
select a+b into :n 
from your_table 
where some_condition; 
quit; 

Это группы населения в макропеременную, &n, с суммой переменных a и b. Условие, указанное вами, должно быть истинным только для одной строки вашей таблицы.

Другой подход:

data tmp; 
set your_table; 
if _n_=1 then do; 
    call symputn('n',a+b); 
end; 
run; 
+0

Ах отлично! Я сделал некоторое дополнительное чтение в команде symputn и symput. Фактически я использовал symput, а не symputn - SAS продолжал давать мне сообщение об ошибке при использовании symputn. Так или иначе, все работает! еще раз спасибо. – Plug4

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