data subject; input subject survive_state ; cards; 1001 0 1002 1 1003 4 1004 5 1005 2 ; run; data subject_survive; input subject survive_state survive_state_1001 survive_state_1002 survive_state_1003 survive_state_1004 survive_state_1005; cards; 1001 0 0 1 4 5 2 1002 1 0 1 4 5 2 1003 4 0 1 4 5 2 1004 5 0 1 4 5 2 1005 2 0 1 4 5 2 ; run; data final; set subject_survive; length total_1 total_2 total_3 total_4 total_all 8.; if subject=1001 then do; if survive_state<survive_state_1002 then total_1=-1; if survive_state<survive_state_1003 then total_2=-1; if survive_state<survive_state_1004 then total_3=-1; if survive_state<survive_state_1005 then total_4=-1; if survive_state=survive_state_1002 then total_1=0; if survive_state=survive_state_1003 then total_2=0; if survive_state=survive_state_1004 then total_3=0; if survive_state=survive_state_1005 then total_4=0; if survive_state>survive_state_1002 then total_1=1; if survive_state>survive_state_1003 then total_2=1; if survive_state>survive_state_1004 then total_3=1; if survive_state>survive_state_1005 then total_4=1; total_all=sum(total_1,total_2,total_3,total_4); end; if subject=1002 then do; if survive_state<survive_state_1001 then total_1=-1; if survive_state<survive_state_1003 then total_2=-1; if survive_state<survive_state_1004 then total_3=-1; if survive_state<survive_state_1005 then total_4=-1; if survive_state=survive_state_1001 then total_1=0; if survive_state=survive_state_1003 then total_2=0; if survive_state=survive_state_1004 then total_3=0; if survive_state=survive_state_1005 then total_4=0; if survive_state>survive_state_1001 then total_1=1; if survive_state>survive_state_1003 then total_2=1; if survive_state>survive_state_1004 then total_3=1; if survive_state>survive_state_1005 then total_4=1; total_all=sum(total_1,total_2,total_3,total_4); end; if subject=1002 then do; if survive_state<survive_state_1001 then total_1=-1; if survive_state<survive_state_1003 then total_2=-1; if survive_state<survive_state_1004 then total_3=-1; if survive_state<survive_state_1005 then total_4=-1; if survive_state=survive_state_1001 then total_1=0; if survive_state=survive_state_1003 then total_2=0; if survive_state=survive_state_1004 then total_3=0; if survive_state=survive_state_1005 then total_4=0; if survive_state>survive_state_1001 then total_1=1; if survive_state>survive_state_1003 then total_2=1; if survive_state>survive_state_1004 then total_3=1; if survive_state>survive_state_1005 then total_4=1; total_all=sum(total_1,total_2,total_3,total_4); end; if subject=1003 then do; if survive_state<survive_state_1001 then total_1=-1; if survive_state<survive_state_1002 then total_2=-1; if survive_state<survive_state_1004 then total_3=-1; if survive_state<survive_state_1005 then total_4=-1; if survive_state=survive_state_1001 then total_1=0; if survive_state=survive_state_1002 then total_2=0; if survive_state=survive_state_1004 then total_3=0; if survive_state=survive_state_1005 then total_4=0; if survive_state>survive_state_1001 then total_1=1; if survive_state>survive_state_1002 then total_2=1; if survive_state>survive_state_1004 then total_3=1; if survive_state>survive_state_1005 then total_4=1; total_all=sum(total_1,total_2,total_3,total_4); end; if subject=1004 then do; if survive_state<survive_state_1001 then total_1=-1; if survive_state<survive_state_1003 then total_2=-1; if survive_state<survive_state_1002 then total_3=-1; if survive_state<survive_state_1005 then total_4=-1; if survive_state=survive_state_1001 then total_1=0; if survive_state=survive_state_1003 then total_2=0; if survive_state=survive_state_1002 then total_3=0; if survive_state=survive_state_1005 then total_4=0; if survive_state>survive_state_1001 then total_1=1; if survive_state>survive_state_1003 then total_2=1; if survive_state>survive_state_1002 then total_3=1; if survive_state>survive_state_1005 then total_4=1; total_all=sum(total_1,total_2,total_3,total_4); end; if subject=1005 then do; if survive_state<survive_state_1001 then total_1=-1; if survive_state<survive_state_1003 then total_2=-1; if survive_state<survive_state_1002 then total_3=-1; if survive_state<survive_state_1004 then total_4=-1; if survive_state=survive_state_1001 then total_1=0; if survive_state=survive_state_1003 then total_2=0; if survive_state=survive_state_1002 then total_3=0; if survive_state=survive_state_1004 then total_4=0; if survive_state>survive_state_1001 then total_1=1; if survive_state>survive_state_1003 then total_2=1; if survive_state>survive_state_1002 then total_3=1; if survive_state>survive_state_1004 then total_4=1; total_all=sum(total_1,total_2,total_3,total_4); end; run; This is sample code to help you realize question .Dataset subjectis raw dataset. and I want to transport Dataset subjectis to subject_survive,but now I has no idea how to transport effectively in macro code. And fianlly, What result I want is like dataset final. I appreciate very much if have any idea in macro step to resolve. a
... View more