SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 695|回复: 2
打印 上一主题 下一主题

问大家一个小问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2010-7-2 12:17:36 | 只看该作者

问大家一个小问题

想问问大家一个问题 .thanks
如果我有三数值, 2010,2011,2012
我想要增加2013到2022,我可怎么做?
data;  
input a;  
cards;
2010
2011
2012
run;
我想以以上的作基础,然后使用_last_+1 (大概) 的方式表示。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2010-7-2 19:51:28 | 只看该作者

Re: 问大家一个小问题

data YourDataSet;
input a;
cards;
2010
2011
2012
;
run;
%macro crackman(NewDataSetName,MaxValue);
options spool;
data _null_;
set YourDataSet;
if _n_=1;
call symput("n",a);
run;
data &NewDataSetName.;
do a=&n. to &MaxValue.;
output;
end;
run ;
%mend crackman;
%crackman(crackman,2022);


可能太复杂点了
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2010-7-5 16:44:49 | 只看该作者

Re: 问大家一个小问题

data b(drop=i);
if _n_<4 then do;
set a;
output;
end;
else do i=1 to 5;
a=a+1;
output;
end;
run;
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-4 04:57 , Processed in 0.093307 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表