Tôi đã tạo macro sau. Proc power
trả về bảng pw_cout
chứa cột Power
. Bước data _null_
chỉ định giá trị trong cột Power
của pw_out
tới biến vĩ mô tpw
. Tôi muốn các macro để trả về giá trị của tpw
, do đó trong chương trình chính, tôi có thể gọi nó trong bước DỮ LIỆU như:Macro trả lại giá trị
data test;
set tmp;
pw_tmp=ttest_power(meanA=a, stdA=s1, nA=n1, meanB=a2, stdB=s2, nB=n2);
run;
Đây là mã macro:
%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;