全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
7532 12
2011-06-06
如题,鄙人想按照变量date的值来拆分数据集
如date=19960131生成一个数据集,date=19960228生成一个
现在有很多个,到20080731了
每月一个
所有想用一个宏来操作
不知道如何进行
O(∩_∩)O谢谢
二维码

扫码加我 拉你入群

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

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

全部回复
2011-6-6 20:32:52
这个似乎不是太难。
二维码

扫码加我 拉你入群

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

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

2011-6-6 20:33:31
只是怎么写一个简单的宏程序,还是要化些功夫。
二维码

扫码加我 拉你入群

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

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

2011-6-6 20:45:50
求宏啊,O(∩_∩)O谢谢
二维码

扫码加我 拉你入群

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

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

2011-6-7 03:21:33
思路是先把distinct date的值变为宏变量,然后用data步输出。
比如说如下这段code:
data a;
do date=1991 to 2011;
output;
end;
run;
data _null_;
set a end=last;
call symputx('date'||left(_n_),date);
if last then call symput ('n',_n_);
run;
%macro split;
%do i=1 %to &n;
data b&i;
set a;
where date=&&date&i;
run;
%end;
%mend;
%split;
二维码

扫码加我 拉你入群

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

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

2011-6-7 08:59:16
楼上用if吧,这样只读原表一次,如果是股票类高频数据,一次循环一个data步还是会很慢
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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