楼主: 数据化分析
12069 7

[程序分享] SAS数据集输出到Excel并设定格式 [推广有奖]

  • 0关注
  • 0粉丝

已卖:216份资源

初中生

38%

还不是VIP/贵宾

-

威望
0
论坛币
861 个
通用积分
1.4016
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1365 点
帖子
7
精华
0
在线时间
19 小时
注册时间
2012-7-2
最后登录
2016-8-8

楼主
数据化分析 发表于 2015-10-30 14:44:48 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
SAS Excel.png
文/数据化分析

将SAS数据集输出到Excel的方法有不少,这里介绍一种利用DDE(Dynamic Data Exchange,动态数据交换)来实现的方法,数据化分析认为这种方法的好处是能够对Excel的细节进行控制,例如:单元格定位、颜色字体设置、冻结首行、自动筛选、列宽自适应等。借助Exce 4.0宏语言(X4ML),在SAS中几乎可以自动地实现早期Excel版本的所有功能。

附件是“SAS数据集输出到Excel并设定格式”的代码。

SAS数据集输出到Exce并设定格式.txt (1.56 KB, 需要: 5 个论坛币)
关注数据化分析的微信公众号(isjhfx),可以免费获取最新的程序分享。


二维码

扫码加我 拉你入群

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

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

关键词:sas数据集 EXCEL 数据集输出 xcel exce Excel 动态

关注微信isjhfx

沙发
zljwanzi25(真实交易用户) 发表于 2016-5-12 16:16:53
大侠,如果我想定义数据格式该如何操作?

藤椅
xiayu0213(真实交易用户) 发表于 2017-2-23 12:36:22
解释还是有点看不懂,慢慢消化……

板凳
孤单的我们(真实交易用户) 发表于 2017-2-24 17:26:34
zljwanzi25 发表于 2016-5-12 16:16
大侠,如果我想定义数据格式该如何操作?
filename sas2xl dde 'excel|system';
data _null_;
file sas2xl;
put '[Select("r1c1:r2c1")]';*选择区域;
put '[FORMAT.NUMBER("0.00")]';*引号内的字符是你想设置的格式(例中是带有2位小数);
run;
filename sas2xl clear;

报纸
小宝爱波1314(真实交易用户) 发表于 2018-2-28 16:18:41
可以向某个单元格添加comment么?就是单元格右上角加个红色小三角里面有注释文字的那种

地板
oocrescent(真实交易用户) 发表于 2024-6-13 09:21:56 来自手机
孤单的我们 发表于 2017-2-24 17:26
filename sas2xl dde 'excel|system';
data _null_;
file sas2xl;
Ok

7
Dora馥邑(真实交易用户) 发表于 2024-6-18 10:47:35
大神,请问用这种方法如何设置某一列的数据有效性呢?比如只能选择A或B两个选项?

8
赵安豆(未真实交易用户) 发表于 2024-6-18 10:48:59
将SAS数据集输出到Excel并且进行格式设置,确实可以通过DDE和X4ML宏语言来实现。这种方法允许在SAS中对Excel文件进行更精细的控制,包括设定单元格位置、调整字体颜色、冻结首行、应用自动筛选以及自适应列宽等。

以下是一个简单的示例代码,展示如何使用DDE在SAS中将数据集输出到Excel,并进行一些基本格式设置:

```sas
/* 创建一个测试数据集 */
data test;
    input var1 $ var2;
    datalines;
A 10
B 20
C 30
;
run;

/* 利用DDE将SAS数据集发送到Excel */
%let xlfile="C:\temp\test.xlsx";
%let sheetname="Sheet1";

proc dde "excel" "/a 'XL4MACRO.XLA' /t 'sas2xls'";
    command 'xlCreateNewBook("xlwbook")';
    data test;
        send var1 var2 / tosheet=&sheetname;
        format _numeric_ comma9.;
    run;
    command 'xlRange(1,1:50).NumberFormat="General"';
   
    /* 调整列宽 */
    command 'xlColWidth 1,8.43';
    command 'xlColWidth 2,7.88';
   
    /* 冻结首行 */
    command 'xlFreezePanes 2,1';
   
    /* 设置字体颜色和背景色 */
    command 'xlRange(1,1:50).Interior.ColorIndex=41';
    command 'xlRange(1,1:50).Font.Color=-16776961';
   
    /* 应用自动筛选 */
    command 'xlSort 1,2, xlAscending';
    command 'xlAutoFilter 1,50,1,50';
   
    /* 关闭Excel */
    command 'xlwbook.Close(1)';
quit;
```

请注意,这个代码示例需要在SAS中安装并配置了DDE和X4ML宏语言才能正常运行。此外,路径`C:\temp\test.xlsx`是保存Excel文件的位置,请确保该位置有效。

这种方法可以为数据分析师提供更强大的输出控制能力,在无需手动操作的情况下生成格式化的报告或图表。然而,由于依赖于特定的软件环境(如安装了X4ML宏语言和DDE支持的SAS与Excel),在不同系统间移植时可能需要额外配置。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 14:58