1571 4

请教一段SAS代码 问题在哪里 [推广有奖]

  • 3关注
  • 0粉丝

大专生

55%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
703 点
帖子
49
精华
0
在线时间
45 小时
注册时间
2011-9-1
最后登录
2016-1-9

楼主
Qiao克力舞后 发表于 2013-7-23 15:02:21 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
%macro sp;
data tecent.user_kw_3;
set tecent.user_kw_2;
%do i=1 %to 36;
%if new&i ^= . %then
word&(2i-1)=scan(new&i,1,':');
word&(2i)=scan(new&i,2,':');
%end;
%mend;
%sp;

错误提示
NOTE: Line generated by the invoked macro "SP".
127    word&(2i-1)=scan(new&i,1,':')
       ----
       180
NOTE: Line generated by the invoked macro "SP".
131    word&(2i-1)=scan(new&i,1,':')
       ----
       180
NOTE: Line generated by the invoked macro "SP".
135    word&(2i-1)=scan(new&i,1,':')

应该怎么改?

二维码

扫码加我 拉你入群

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

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

关键词:sas代码 generated generate Macro scan generated

沙发
zhj7412357 在职认证  发表于 2013-7-23 16:58:43
word&(2i-1)=scan(new&i,1,':');
word&(2i)=scan(new&i,2,':');

没看懂,这是想干嘛的逻辑?
有一天,建一所学校,告诉以后的孩子们,思想还可以飞翔、追寻自由,道德仍然可以修养、高尚。

藤椅
a6566792 在职认证  发表于 2013-7-23 17:00:47
  1. %do i=1 %to 36;
  2. %if new&i ^= . %then %do;
  3. word&(2i-1)=scan(new&i,1,':');
  4. word&(2i)=scan(new&i,2,':');%end;
  5. %end;
复制代码

板凳
henryyhl 发表于 2013-7-23 17:36:23
你看看这样改行吗?
%if new&i ^= . %then %do;
word&(2i-1)=scan(new&i,1,':');
word&(2i)=scan(new&i,2,':');
%end;

It's not going to be easy, but it is going to be worth it.

报纸
jjtww 发表于 2013-7-24 00:03:10
Data step里不建议这么用,因为SAS data step 本身就是一个循环,楼主逻辑有点混乱,可以尝试用array,详见,http://support.sas.com/documenta ... .htm#a000201956.htm

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

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