全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4753 3
2007-05-14

数据集a
data a;
input g c;
cards;
1 2
1 10
2 5
;
run;

想根据g将数据集a拆分为两个数据集,实际中的数据g有很多。
我写的程序
%macro seperate();
proc sql;
create table tmp.tmp&CUSIP
as select *
from eps.slt_rlt
where CNUM="&CUSIP";
quit;
%mend;

data _null_;
set ten;
call symput('CUSIP',CNUM);
%seperate();
run;
只能得出最后一组的数据

二维码

扫码加我 拉你入群

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

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

全部回复
2007-5-15 03:58:00

From your macro, eps.slt_rlt is your original dataset, but what's your dataset 'ten', I don't understand the second part of your macro.

data _null_;
set ten;


[此贴子已经被作者于2007-5-16 1:54:22编辑过]

二维码

扫码加我 拉你入群

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

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

2007-5-15 10:48:00

按g拆开数据集

data a;
input g c;
cards;
1 2
1 10
2 5
;
run;

proc sort data=a;by g;run;
data b;set a;by g;
if first.g then g1+1;
run;
proc sql noprint;
select max(g1) into :n from b;
quit;
%macro test;
%do i=1 %to &n;
data a&i;
set b;
if g1=&i;
run;
%end;
%mend;
%test

二维码

扫码加我 拉你入群

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

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

2015-7-20 15:47:43
突然看见自己2007年的帖子,觉得那个时候自己好傻呀。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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