全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1019 2
2017-04-30
悬赏 100 个论坛币 已解决

%macro plot;
proc means data=shuju.&y mean;
var _COL2 _COL3 _COL4 _COL6;
output out=&a mean=avg2 avg3 avg4 avg6;
%mend plot;
%let y=y1;
%let a=a1;
%plot;
%let y=y2;
%let a=a2;
%plot;
%let y=y3;
%let a=a3;
%plot;
%let y=y4;
%let a=a4;
%plot;
%let y=y5;
%let a=a5;
%plot;
%let y=y6;
%let a=a6;
%plot;
%let y=y7;
%let a=a7;
%plot;
%let y=y8;
%let a=a8;
%plot;
%let y=y9;
%let a=a9;
%plot;
%let y=y10;
%let a=a10;
%plot;
%let y=y11;
%let a=a11;
%plot;
%let y=y12;
%let a=a12;
%plot;
run;

我这段程序输出12张y表和12张a表,请问能不能做循环语句,让我不用这样复制黏贴更改,就能输出12张y表和12张a表。

最佳答案

lyfyb99 查看完整内容

%macro plot; %do i=1 %to 12; proc means data=shuju.y&i mean; var _COL2 _COL3 _COL4 _COL6; output out=a&i mean=avg2 avg3 avg4 avg6; %end; %mend plot; %plot;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-4-30 17:05:19
%macro plot;
%do i=1 %to 12;
proc means data=shuju.y&i mean;
var _COL2 _COL3 _COL4 _COL6;
output out=a&i mean=avg2 avg3 avg4 avg6;
%end;
%mend plot;

%plot;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-4-30 17:25:05
lyfyb99 发表于 2017-4-30 17:17
%macro plot;
%do i=1 %to 12;
proc means data=shuju.y&i mean;
大神,谢谢你。我当初也是想用do语句,但都没成功,这个do语句是只能放在这个顺序吗
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群