SAS中文论坛

标题: [求助]高人:观测循环的问题? [打印本页]

作者: shiyiming    时间: 2009-1-27 23:30
标题: [求助]高人:观测循环的问题?
首先,祝各位老师牛年吉祥,身体健康!

求助老师: 观测循环的问题?

一个数据集,如下:

data  aa ;
input x y z;
cards;
111 11 1
222 22 2
333 33 3
;
run;

如何编程让每行观测循环0-3次,得到下列排列?             谢谢!!!

        i1             i2              i3
111 11 1 0 222 22 2 0 333 33 3 0
111 11 1 0 222 22 2 0 333 33 3 1
111 11 1 0 222 22 2 0 333 33 3 2
111 11 1 0 222 22 2 0 333 33 3 3
111 11 1 0 222 22 2 1 333 33 3 0
111 11 1 0 222 22 2 1 333 33 3 1
111 11 1 0 222 22 2 1 333 33 3 2
111 11 1 0 222 22 2 1 333 33 3 3
111 11 1 0 222 22 2 2 333 33 3 0
111 11 1 0 222 22 2 2 333 33 3 1
111 11 1 0 222 22 2 2 333 33 3 2
111 11 1 0 222 22 2 2 333 33 3 3
111 11 1 0 222 22 2 3 333 33 3 0
111 11 1 0 222 22 2 3 333 33 3 1
111 11 1 0 222 22 2 3 333 33 3 2
111 11 1 0 222 22 2 3 333 33 3 3
111 11 1 1 222 22 2 0 333 33 3 0
111 11 1 1 222 22 2 0 333 33 3 1
111 11 1 1 222 22 2 0 333 33 3 2
111 11 1 1 222 22 2 0 333 33 3 3
111 11 1 1 222 22 2 1 333 33 3 0
111 11 1 1 222 22 2 1 333 33 3 1
111 11 1 1 222 22 2 1 333 33 3 2
111 11 1 1 222 22 2 1 333 33 3 3
111 11 1 1 222 22 2 2 333 33 3 0
111 11 1 1 222 22 2 2 333 33 3 1
111 11 1 1 222 22 2 2 333 33 3 2
111 11 1 1 222 22 2 2 333 33 3 3
111 11 1 1 222 22 2 3 333 33 3 0
111 11 1 1 222 22 2 3 333 33 3 1
111 11 1 1 222 22 2 3 333 33 3 2
111 11 1 1 222 22 2 3 333 33 3 3
111 11 1 2 222 22 2 0 333 33 3 0
111 11 1 2 222 22 2 0 333 33 3 1
111 11 1 2 222 22 2 0 333 33 3 2
111 11 1 2 222 22 2 0 333 33 3 3
111 11 1 2 222 22 2 1 333 33 3 0
111 11 1 2 222 22 2 1 333 33 3 1
111 11 1 2 222 22 2 1 333 33 3 2
111 11 1 2 222 22 2 1 333 33 3 3
111 11 1 2 222 22 2 2 333 33 3 0
111 11 1 2 222 22 2 2 333 33 3 1
111 11 1 2 222 22 2 2 333 33 3 2
111 11 1 2 222 22 2 2 333 33 3 3
111 11 1 2 222 22 2 3 333 33 3 0
111 11 1 2 222 22 2 3 333 33 3 1
111 11 1 2 222 22 2 3 333 33 3 2
111 11 1 2 222 22 2 3 333 33 3 3
111 11 1 3 222 22 2 0 333 33 3 0
111 11 1 3 222 22 2 0 333 33 3 1
111 11 1 3 222 22 2 0 333 33 3 2
111 11 1 3 222 22 2 0 333 33 3 3
111 11 1 3 222 22 2 1 333 33 3 0
111 11 1 3 222 22 2 1 333 33 3 1
111 11 1 3 222 22 2 1 333 33 3 2
111 11 1 3 222 22 2 1 333 33 3 3
111 11 1 3 222 22 2 2 333 33 3 0
111 11 1 3 222 22 2 2 333 33 3 1
111 11 1 3 222 22 2 2 333 33 3 2
111 11 1 3 222 22 2 2 333 33 3 3
111 11 1 3 222 22 2 3 333 33 3 0
111 11 1 3 222 22 2 3 333 33 3 1
111 11 1 3 222 22 2 3 333 33 3 2
111 11 1 3 222 22 2 3 333 33 3 3
作者: shiyiming    时间: 2009-1-28 20:24
标题: Re: [求助]高人:观测循环的问题?
data aa ;
input x y z;
cards;
111 11 1
222 22 2
333 33 3
;
run;
data bb;
set aa;
if _n_=1 then output;
rename x=x1 y=y1 z=z1;
run;
data bb2;
set aa;
if _n_=2 then output;
rename x=x2 y=y2 z=z2;
run;
data bb3;
set aa;
if _n_=3 then output;
rename x=x3 y=y3 z=z3;
run;
data cc;
merge bb bb2 bb3;
run;
data dd;
set cc;
do i1= 0 to 3;
do i2= 0 to 3;
   do i3=0 to 3;
   output ;
   end;
end;
end;
run;
proc sql;
create table end as
select x1,y1,z1,i1,x2 ,y2 ,z2 ,i2 ,x3 ,y3 ,z3 , i3
from dd;
quit;
不知道是不是你要的格式,运行一下试一下
作者: shiyiming    时间: 2009-1-28 21:54
标题: Re: [求助]高人:观测循环的问题?
xgghxkhuang 老师:您好!!  给您拜年! 祝您牛牛的健康! 牛牛的运气! 牛牛的幸福!! 牛年牛气冲天!!!!

谢谢您的回复,正是我要的答案 。




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2