楼主: dengfei
1049 2

[程序分享] sas编程 [推广有奖]

  • 0关注
  • 0粉丝

高中生

12%

还不是VIP/贵宾

-

威望
0
论坛币
47 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
148 点
帖子
18
精华
0
在线时间
14 小时
注册时间
2005-9-24
最后登录
2017-5-16

楼主
dengfei 发表于 2017-4-30 17:05:18 |AI写论文
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;
关键词:SAS编程 output means outpu Macro

沙发
lyfyb99 在职认证  发表于 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;

藤椅
dengfei 发表于 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语句是只能放在这个顺序吗

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 17:54