全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1323 3
2012-12-02
数据集有变量id(1-30)、a(1-不固定,每个id最大的a不一样)、b(经济变量)。我想将这个数据集分拆成每个id、每个a作为一个单独的文件,请问如何完成?
二维码

扫码加我 拉你入群

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

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

全部回复
2012-12-2 10:36:03
同求。但是目测,得用到宏!
二维码

扫码加我 拉你入群

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

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

2012-12-2 10:49:47
是每行生成一个数据集吗?
%macro getdata(dsn);
        %let dsid=%sysfunc(open(&dsn,i));  
        %let nobs=%sysfunc(attrn(&dsid,nobs));
        %let rc=%sysfunc(close(&dsid));
        %do i=1 %to &nobs;
                data getdsn&i.;
                set &dsn (firstobs=&i obs=&i);
                run;
        %end;
%mend getdata(dsn);
%getdata(dsn)
二维码

扫码加我 拉你入群

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

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

2012-12-2 11:29:07
data test;
  do id=1 to 10;
     do b=1 to 3;
             a=int(ranuni(0)*10);
                 output;
         end;
   end;
run;

proc sort data=test;
   by id a;
run;


data _null_;
   set test;
   by id a;
   length code $1000;
   if first.a then code= "data "||catx("_","ds",id,a)||";"
                             || "set test;"
                                                         ||cat("where id=", cats(id),  " and a=", cats(a),";")
                                                         || "run;";
        call execute(code);
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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