楼主: 5752
2250 4

如何拆分数据集 [推广有奖]

  • 1关注
  • 2粉丝

讲师

52%

还不是VIP/贵宾

-

威望
0
论坛币
5298 个
通用积分
106.1148
学术水平
5 点
热心指数
6 点
信用等级
3 点
经验
14009 点
帖子
181
精华
0
在线时间
719 小时
注册时间
2015-9-9
最后登录
2024-3-26

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我有一个数据集大概是这样:
学校名称XXXXXXXXX
第一小学XXXXXXXXX
第一小学XXXXXXXXX
第一小学XXXXXXXXX
第三中学XXXXXXXXX
第三中学XXXXXXXXX
第三中学XXXXXXXXX
第三中学XXXXXXXXX
第三中学XXXXXXXXX
第三中学XXXXXXXXX
第三中学XXXXXXXXX
第三中学XXXXXXXXX
第三中学XXXXXXXXX
第八高中XXXXXXXXX
第八高中XXXXXXXXX
第八高中XXXXXXXXX
第八高中XXXXXXXXX


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

扫码加我 拉你入群

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

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

关键词:数据集 EXCEL xcel exce cel 如何

沙发
eflucy 发表于 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;

你改改就行了

使用道具

藤椅
5752 发表于 2016-5-16 16:01:07 |只看作者 |坛友微信交流群
顶上去

使用道具

板凳
5752 发表于 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;

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-21 22:21