2014-11-29 2 views
3

Я знаю, что я могу использовать %PUT, чтобы написать текстовую строку в окне журнала, но что, если я хочу записать в журнал результат функции, например PROBNORM(x)? Есть ли способ сделать это?Запись в журнал SAS

+0

Вы используете базовый SAS или SAS/IML ('proc iml;')? – Joe

+0

Я использую базу SAS. – Egodym

ответ

5

Используйте %sysfunc() для оценки функции во время разрешения макроса.

И.Е.

%let x=1; 
%put %sysfunc(probnorm(&x)); 
4

В шаге данных, PUT и функции будут писать палец строительных лесов в журнал с помощью ступенчатых данных переменных. Вы не можете использовать функцию напрямую, но если вы присвоите значение переменной, вы можете написать эту переменную.

data _null_; 
x=1; 
y = probnorm(x); 
put "Probnorm is " y=; 
run; 

В то время как вы можете сделать это с помощью% PUT и% SYSFUNC, они имеют существенное ограничение в том, что они не могут получить доступ к ступенчатым данным переменных (без большого труда так или иначе).

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