書上的例子;
需求:判斷伴隨藥物是否與副作用(AE)相關(guān);
邏輯條件:(時間順序)副作用開始時間是在伴隨藥物開始時間之后;一個副作用可能由多個藥物造成,一個藥物可能造成多個副作用。即在滿足時間條件下,臨床根據(jù)生物學(xué)合理性做最后判斷。
code:1 proc sql? (inner join)
? ? ? ? 2 data 步;
data aecm;
set ae;
match=0;
do i=1 to n;
set cm(raname=(usubjid=_usubjid)) nobs=n point=i;
/*nobs=n 將數(shù)據(jù)集觀測數(shù)(總數(shù))傳給臨時變量(非輸出變量),nobs后只能跟數(shù)值;
point=i(i=1)獲取第一條觀測。注意不能寫成point=1,因?yàn)閜oint后面只能跟變量,也可以用point=i來獲取一連串值,使用do循環(huán):*/
if usubjid=_usubjid and ((cmstdtc<aestdtc<cmendtc) or (cmstdtc<aestdtc and cmendtc="")? then do;
match=1;
output;
end;
stop;
/*注意stop語句絕對不能省略,否則進(jìn)入死循環(huán)。*/
end;
run;