addahello 发表于 2010-9-13 11:07 
data a;
input ss1 ss2 ss3;
cards;
1 0 0
0 0 0
1 0 1
0 0 1
0 1 0
;
run;
要如何编程,使得对于每一行的变量,只要有一个值为一,就赋值给一个变量ss为1,即要得到如下值
ss1 ss2 ss3 ss
1 0 0 1
0 0 0 0
1 0 1 1
0 0 1 1
0 1 0 1
0 0 0 0
请高手指导下编程,谢谢!!!!!!!!!!!!!
In this case, defining ss=max( of s(*) ); is quite enough.
data a;
input ss1 ss2 ss3;
array s ss1-ss3;
ss=max( of s(*) );
cards;
1 0 0
0 0 0
1 0 1
0 0 1
0 1 0
0 1 1
0 0 0
1 1 0
;
run;
proc print; run;