Макрос, возвращая значение

Я создал следующий макрос. PROC Power Возвращает таблицу PW_COUT , содержащий колонну Power . данные _null_ _null_ назначают значение в столбце PW_OUT до переменной макроса TPW . Я хочу, чтобы макрос вернуть значение TPW , так что в главной программе я могу назвать его в шаге данных, как:

data test;
   set tmp;
   pw_tmp=ttest_power(meanA=a, stdA=s1, nA=n1, meanB=a2, stdB=s2, nB=n2);
run;

Вот код макроса:

%macro ttest_power(meanA=, stdA=, nA=, meanB=, stdB=, nB=);


proc power; 
   twosamplemeans test=diff_satt 
   groupmeans = &meanA | &meanB 
   groupstddevs = &stdA | &stdB
   groupns = (&nA &nB)
   power = .;    
   ods output Output=pw_out;
run;

data _null_;
    set pw_out;
    call symput('tpw'=&power);
run;

&tpw
%mend ttest_power;
12
задан Joe 16 December 2014 в 00:04
поделиться