全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2429 4
2016-05-13
我有一个数据集大概是这样:
学校名称XXXXXXXXX
第一小学XXXXXXXXX
第一小学XXXXXXXXX
第一小学XXXXXXXXX
第三中学XXXXXXXXX
第三中学XXXXXXXXX
第三中学XXXXXXXXX
第三中学XXXXXXXXX
第三中学XXXXXXXXX
第三中学XXXXXXXXX
第三中学XXXXXXXXX
第三中学XXXXXXXXX
第三中学XXXXXXXXX
第八高中XXXXXXXXX
第八高中XXXXXXXXX
第八高中XXXXXXXXX
第八高中XXXXXXXXX


现在就是想按照学校名称拆分成不同的数据集,再输出到各个Excel里面,名字就是学校的名字,如何写程序?求大神指点,学校的数量不确定,可能5个也可能8个或10个。
二维码

扫码加我 拉你入群

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

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

全部回复
2016-5-16 14:46:08
我最近写过类似的 我贴给你


%macro inst_output(ds_in=, var=dpt, line= );

proc freq data=&ds_in noprint;
  tables &var/ out=cnt&var;
run;
data _null_;
set cnt&var  nobs=N_count;
if &var ne '' then call symput( 'I_'||left(_n_), &var);
              if _n_=N_count  then call symput( 'N1', N_count);
run;
%do i=1 %to &N1;
       data cnt_&i;
         set &ds_in;
         where  &var= "&&I_&i";
    run;

PROC EXPORT DATA= USER.cnt_&i
            OUTFILE= "D:\.............."
            DBMS=EXCEL REPLACE label;
     sheet="......";
Run;
%end;

%mend;

你改改就行了
二维码

扫码加我 拉你入群

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

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

2016-5-16 16:01:07
顶上去
二维码

扫码加我 拉你入群

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

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

2016-5-16 20:58:16
eflucy 发表于 2016-5-16 14:46
我最近写过类似的 我贴给你
非常感谢,我研究一下哈
二维码

扫码加我 拉你入群

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

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

2016-5-18 14:38:06
参考了一下楼上输出到excel的程序,用proc sql将程序改写了一下,如下:
%repeat(cond= , table= ,out= );
proc sql;
        create table &table. as
        select *
        from origin_dataset
        where school_name=&cond.;
quit;
proc export data=...
        outfile=...
        dbms=...
        sheet=...
run;
%mend;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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