全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1883 6
2012-01-04
比如我有这样的程序:
data a;
input id x;
cards;
001 a
001 g
003 4
003 g
004 h
;
run;
等等,其中id 不是等间距的,而且其中每个id对应的行数不一定相同,我想把每个id对应的变量分别创建数据集,请大侠指点!谢谢
二维码

扫码加我 拉你入群

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

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

全部回复
2012-1-4 15:18:27
I hope the following code could help.

data a;
input id $ x $;
cards;
001 a
001 g
003 4
003 g
004 h
;
run;

proc sort data = a out = b(keep = id) nodupkey; by id;run;

%macro test();
data _null_;
        set b nobs=n;
        call symput(cats('var',_n_),id);
        if _n_ = n then do;
                call symput('n',n);
                stop;
        end;
run;
data %do ii = 1 %to &n.;
                c_&ii.
         %end;;
        set a;
        select(id);
                %do ii = 1 %to &n.;
                        when (compress("&&var&ii..")) output c_&ii.;
                %end;
                otherwise;
        end;
run;
%mend;
%test();
二维码

扫码加我 拉你入群

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

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

2012-1-4 18:17:29
这个程序太有用了,非常感谢!thanks!
二维码

扫码加我 拉你入群

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

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

2012-1-4 23:01:50
复制代码

二维码

扫码加我 拉你入群

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

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

2012-1-5 22:45:01
感谢大家的帮忙!
二维码

扫码加我 拉你入群

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

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

2012-1-8 10:06:36
1112345
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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