楼主: 407622538
1607 2

问一个很基础关于宏循环的程序 不清楚哪里出错 求解答 [推广有奖]

  • 0关注
  • 0粉丝

小学生

21%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
33 点
帖子
2
精华
0
在线时间
8 小时
注册时间
2015-10-4
最后登录
2017-1-9

楼主
407622538 发表于 2015-10-22 02:42:26 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
%macro create (name, number);
%do n=1 %to &number;
    &name.n
%end;
%mend create;
data %create(abc,3);
input a@@;
if a=1 then output abc1;
else if a=2 then output abc2;
else if a=3 then output abc3;
cards;
1 2 3
;
proc print data=abc1;
run;
proc print data=abc2;
run;
proc print data=abc3;
run;


运行结果:
178  %macro create (name, number);
179  %do n=1 %to &number;
180      &name.n
181  %end;
182  %mend create;
183  data %create(abc,3);
184  input a@@;
185  if a=1 then output abc1;
                        ----
                        455
186  else if a=2 then output abc2;
                             ----
                             455
187  else if a=3 then output abc3;
                             ----
                             455
ERROR 455-185: 在 DATA 语句中未指定数据集。

188  cards;

ERROR: 已打开数据集 WORK.ABCN 用于输出。
NOTE: 由于出错,SAS 系统停止处理该步。
WARNING: 数据集 WORK.ABCN 可能不完整。该步停止时,共有 0 个观测和 1 个变量。
WARNING: 数据集 WORK.ABCN 由于该步已停止,而没有被替换。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          0.01 秒
      CPU 时间          0.01 秒

190  ;


191  proc print data=abc1;
ERROR: 文件“WORK.ABC1.DATA”不存在。
192  run;

NOTE: 由于出错,SAS 系统停止处理该步。
NOTE: “PROCEDURE PRINT”所用时间(总处理时间):
      实际时间          0.00 秒
      CPU 时间          0.00 秒



193  proc print data=abc2;
ERROR: 文件“WORK.ABC2.DATA”不存在。
194  run;

NOTE: 由于出错,SAS 系统停止处理该步。
NOTE: “PROCEDURE PRINT”所用时间(总处理时间):
      实际时间          0.00 秒
      CPU 时间          0.00 秒



195  proc print data=abc3;
ERROR: 文件“WORK.ABC3.DATA”不存在。
196  run;

NOTE: 由于出错,SAS 系统停止处理该步。
NOTE: “PROCEDURE PRINT”所用时间(总处理时间):
      实际时间          0.00 秒
      CPU 时间          0.00 秒



二维码

扫码加我 拉你入群

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

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

关键词:宏循环 求解答 Procedure warning Create 程序

沙发
mingfeng07 学生认证  发表于 2015-10-22 10:17:03
你的宏有问题:
%do n=1 %to &number;
    &&name&n    /*宏变量解析方式*/
%end;
已有 1 人评分论坛币 收起 理由
admin_kefu + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

藤椅
johnpark1 发表于 2015-10-22 10:37:00
mingfeng07 发表于 2015-10-22 10:17
你的宏有问题:
%do n=1 %to &number;
    &&name&n    /*宏变量解析方式*/
If
&&name&n does not work,  I would try &name&n.
已有 1 人评分论坛币 收起 理由
admin_kefu + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

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

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