SAS中文论坛
标题:
sql查询结果如何作为变量存储在数据集中?
[打印本页]
作者:
shiyiming
时间:
2009-4-28 17:43
标题:
sql查询结果如何作为变量存储在数据集中?
我用循环查询了work.lag数据集中z1,z2,...z10,共十个变量,并分别求和作为sum1,sum2,...sum10;
但是不知道如何存储这10个求和结果,即把它们放到一个数据集中。多谢高手指点!
%macro cov;
proc sql;
%do i=0 %to 10;
select sum(z&i) as sum&i from work.lag;
%end;
quit;
%mend;
%cov;
作者:
shiyiming
时间:
2009-4-28 19:50
标题:
Re: sql查询结果如何作为变量存储在数据集中?
这样:
select sum(z&i) as sum&i into :sum&i from work.lag;
作者:
shiyiming
时间:
2009-4-28 21:42
标题:
Re: sql查询结果如何作为变量存储在数据集中?
data tblNew;
set lag end = last;
retain sum1-sum10 0;
array z{*} z1-z10;
array sumAry{*} sum1-sum10;
do i=1 to 10;
sumAry{i} = sum(sumAry{i},z{i});
end;
if last then output;
keep sum1-sum10;
run;
作者:
shiyiming
时间:
2009-4-30 12:02
标题:
Re: sql查询结果如何作为变量存储在数据集中?
仔细看看proc sql的reference..
[code:355mao3g]proc sql ;
%do i=0 %to 10;
insert into yourdata
select sum(z&i) as sum&i from work.lag;
%end;
;
quit;
[/code:355mao3g]
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2