全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2387 7
2012-07-13
我现在有两个宏变量,一个是开始日期,一个是结束日期
现在想要生成一个日期列表,从开始到结束
请问有什么好办法吗?
谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2012-7-13 14:26:33
%let time_end='20120519';
%let time_start='20120221';

data a;
format dd mmddyy8.;
do i=1 to (mdy(substr(&time_end,5,2),substr(&time_end,7,2),substr(&time_end,1,4))-mdy(substr(&time_start,5,2),substr(&time_start,7,2),substr(&time_start,1,4))+1);
dd=mdy(substr(&time_start,5,2),substr(&time_start,7,2),substr(&time_start,1,4))+i-1;
output;
end;
run;
二维码

扫码加我 拉你入群

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

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

2012-7-13 15:42:08
%let start = '2012-05-01';
%let end = '2012-06-01';

data work.a;
        do i = input(&start,yymmdd10.) to input(&end,yymmdd10.);
                format i yymmdd10.;
                output;
        end;
run;
二维码

扫码加我 拉你入群

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

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

2012-7-13 21:49:47
楼主问题解决了没有?好久没来逛坛子了。
二维码

扫码加我 拉你入群

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

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

2012-7-16 09:25:21
chendonghui1987 发表于 2012-7-13 15:42
%let start = '2012-05-01';
%let end = '2012-06-01';
多谢了。我后来自己想明白了,和你的方法一样,SAS官网的程序问答里也有类似的代码。我把我的也贴出来吧。
复制代码
我做这个主要是为了生成一年中的周数列表。9.2以下版本没有现成的命令,只好自己做。用的是1900-01-01开始的数据,因为那天是周一,可以从头开始数周数。
二维码

扫码加我 拉你入群

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

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

2012-7-16 09:26:36
YueweiLiu 发表于 2012-7-13 21:49
楼主问题解决了没有?好久没来逛坛子了。
解决了,我也很久没逛了,有问题了才想到过来,呵呵
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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