楼主: 静电单位
2887 3

[问答] 【求助】sas如何分组批量输出数据到EXCEL [推广有奖]

  • 0关注
  • 0粉丝

本科生

60%

还不是VIP/贵宾

-

威望
0
论坛币
8 个
通用积分
0
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
648 点
帖子
32
精华
0
在线时间
167 小时
注册时间
2015-7-27
最后登录
2024-2-1

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教各位大神,我有大概3000多条观测,数据类型如下表
locationstudent_idstudent_nametuition feeclass_no
a

1000

meg

2000

3

a

1001

joe

2000

4

a

1005

joy

2000

1

b

1003

lucas

1700

1

b

1199

meggie

1700

2

b

1231

apple

1700

3

b

1543

john

1700

4

c

5689

ann

5000

1

cA211blue

5000

5

现在我想把他们按照location分组输出到Excel,26个字母,每个一张,例如location为A的导出到一张表,B的导出到下一张表,依次类推,如何一次性生成26张Excel表呢?sas小白谢过各位大神了!!!
二维码

扫码加我 拉你入群

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

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

关键词:EXCEL xcel exce cel Location

沙发
zkymath 在职认证  发表于 2017-12-4 09:30:06 |只看作者 |坛友微信交流群
if location=a  then output

使用道具

藤椅
流水不朽 发表于 2017-12-4 10:17:08 |只看作者 |坛友微信交流群
proc sort data=tmp(keep=location) out=tmp_1 nodupkey;by location;run;

options noxwait=no;
%macro pub_exp(in_value,out_path);
%if %sysfunc(fileexist(&out_path\outfile_&in_value..xls)) %then %do;
x "del /S/Q &out_path\outfile_&in_value..xls";
%end;
libname xls excel "&out_path\outfile_&in_value..xls";
        data        xls.out_&in_value.(dblabel=yes);
                set tmp;
          where location="&in_value.";
        run;
libname xls;
%mend pub_exp;

data        _null_;
        set tmp_1;
   call execute('%pub_exp('||location||','||'C:\mypath'||')');
run;

使用道具

板凳
zwnSAS121 发表于 2017-12-7 21:51:29 |只看作者 |坛友微信交流群
  1. options validvarname=any validmemname=extend;
  2. proc sql noprint;
  3. select count(distinct sex)
  4.       into :N
  5.       from sashelp.class;
  6. select distinct sex
  7.       into :type1-:type%left(&N)  
  8.       from sashelp.class;
  9. quit;
  10. %put &N;
  11. %put &type1 &type2;

  12. /*安照条件分割并批量输出数据集*/
  13. %macro split(dataset,groupvar, outfile);

  14. %do i=1 %to &N;
  15. data &&type&i;
  16. set &dataset;
  17. if &groupvar="&&type&i" then output &&type&i;
  18. run;

  19. proc export data=&&type&i
  20. outfile=&outfile
  21. dbms=excel replace;
  22. run;

  23. %end;

  24. %mend split;
  25. %split(sashelp.class, sex, "D:\temp\&&type&i...xlsx")

  26. 这段程序希望能帮到你。
复制代码

使用道具

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

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

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

GMT+8, 2024-4-25 15:05