楼主: danziqi
4053 16

[实际应用] 关于SAS数据导出到excel为追加在上一个数据集的末尾而非替代上一个数据集 [推广有奖]

11
yongyitian 发表于 2015-8-30 11:31:15 |只看作者 |坛友微信交流群
  1. data ds1 ds2 ds3;
  2. stkcd = 123; name="name1"; value=100; date="D"; output ds1;
  3. stkcd = 234; name="name2"; value=200; date="W"; output ds2;
  4. stkcd = 345; name="name3"; value=300; date="M"; output ds3;
  5. run;

  6. data want;
  7.    set ds1 ds2 ds3;
  8. run;

  9. proc export data = want
  10.          outfile = "C:\Temp\all_ds.csv"
  11.             dbms = csv
  12.          replace;
  13. run;
复制代码
已有 1 人评分论坛币 热心指数 收起 理由
Tigflanker + 5 + 3 我感觉他的数据集间变量名应该不一样

总评分: 论坛币 + 5  热心指数 + 3   查看全部评分

使用道具

12
lpclimber 发表于 2015-8-30 15:37:54 |只看作者 |坛友微信交流群
楼上的也是我一开始想的,但是楼主要保留每个dataset的变量名,貌似SAS还不好弄

使用道具

13
lpclimber 发表于 2015-8-30 15:42:51 |只看作者 |坛友微信交流群
貌似换一种思路也可以解决楼主的问题;就是先用SAS输出每个单独的数据集到单独的csv文件,然后可以运行一个简单的bat批处理程序(假设你用的是windows系统)来合并所有csv文件到一个csv文件,然后用Excel打开这个合并后的csv文件就好了。
见附件

按文件名顺序合并所有csv.zip

789 Bytes

本附件包括:

  • dataset1.csv
  • dataset2.csv
  • dataset3y.csv
  • 按文件名顺序合并所有csv.bat

使用道具

14
eflucy 发表于 2015-8-31 10:54:07 |只看作者 |坛友微信交流群
想到一个蠢办法:你把所有变量都变成字符型... 然后想怎么摞就怎么摞了...

使用道具

15
Tigflanker 发表于 2015-8-31 14:55:08 |只看作者 |坛友微信交流群
我能想到的在SAS中的流程如下:
先写个宏,包括如下步骤:
1. 将数据集中变量名顺序抓取,将数据集数值型变量个数抓取;用dictionary
2. 将数据集中所有数值型变量转化成字符型变量,并按照上一步重排变量顺序
3. 利用数组循环和多output把变量名插入第一行,新的变量名统一用col_x来取
宏外,用set new:将新数据集加合。

使用道具

16
sniperhgy 发表于 2015-8-31 17:49:57 |只看作者 |坛友微信交流群
sas有自己的自定义输出方法:DDE 动态数据交换。完全可以满足楼主的要求,不需要其他的软件了。请楼主自行研究一下,如果没有研究出来,我会给出代码。

使用道具

17
xiaowoniulll 学生认证  发表于 2019-3-8 10:01:04 |只看作者 |坛友微信交流群
danziqi 发表于 2015-8-30 09:27
输出到不同的sheet偶是知道的,就是现在这个功能貌似没找到实现的方法
输出到不同的sheet,是怎么实现的呢?是proc export data= xmtd.vs1
            outfile="D:\practise\m1.xls"
            DBMS=excel  REPLACE;
            SHEET='My Sheet' ;
run;
proc export  data= xmtd.che
            outfile="D:\practise\m1.xls"
            DBMS=excel  REPLACE;
            SHEET='My 2' ;
run;

这样可以实现嘛?你的方法是什么呢?

使用道具

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

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

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

GMT+8, 2024-4-24 06:40