全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
6806 12
2015-04-10
悬赏 25 个论坛币 已解决
有test1表格,变量分别为d_201001-d_201006,需要用数组的方法创建新表test2,将对应的变量名更新为d_1-d_6.


sas新手,很多地方学的不太到位,还是要请大神们帮帮忙。
再次谢谢了。。。

最佳答案

sniperhgy 查看完整内容

楼主你好,这里出现错误,主要原因是:array只能引用变量的值,而不能引用变量的名字,也就是说 array a[6] d_201001 - d_201006;引用的其实是那六个变量的值,而不是那几个变量的名字,所以会出错。 至于在方括号中的那个点,不写也没有问题,但是推荐写上,代表宏变量的结束。
二维码

扫码加我 拉你入群

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

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

全部回复
2015-4-10 11:17:08
dream9876 发表于 2015-4-13 11:28
感谢,加了‘.’但是日志里还是报错,完全不了解为什么。。。。
日志:
NOTE: 由调用宏“RENAME”生成行 ...
楼主你好,这里出现错误,主要原因是:array只能引用变量的值,而不能引用变量的名字,也就是说
array a[6] d_201001 - d_201006;引用的其实是那六个变量的值,而不是那几个变量的名字,所以会出错。
至于在方括号中的那个点,不写也没有问题,但是推荐写上,代表宏变量的结束。
二维码

扫码加我 拉你入群

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

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

2015-4-10 11:41:41
帮帮忙呀,各位
二维码

扫码加我 拉你入群

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

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

2015-4-12 18:08:00
试了以下,但是总是报错,不知哪里出错了,帮忙看看呢
%macro rename;
data test2;
set test1;
array a[6] d_201001-d_201006;
%do i=1 %to 6;
rename a[&i]=d_&i;
%end;
run;
%mend rename;

日志:
  rename a[&i]=d_&i;
              -
              22
              76

ERROR 22-322: 语法错误,期望下列之一: -, :, =.

ERROR 76-322: 语法错误,语句将被忽略。

二维码

扫码加我 拉你入群

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

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

2015-4-13 09:28:31
请各位大神帮忙。。。。。
二维码

扫码加我 拉你入群

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

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

2015-4-13 09:44:25
rename a[&i]=d_&i;
改成
rename a[&i.]=d_&i;/*宏变量引用时如果后面紧接符号(除字母和数字之外的所有符号),要加“.” 区分*/
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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