SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 803|回复: 3
打印 上一主题 下一主题

.net获取文件名及列名

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2008-7-9 17:08:27 | 只看该作者

.net获取文件名及列名

研究了两天SAS,总算能实现sas获取文件名及列名功能了。在此,也感谢xgghxkhuang的指导。
//获取文件列名
libname da "C:\test";
data ex;
set da.qq;
run;
proc transpose data=ex out=ex2;
var _all_;            
run;
proc print data=ex2;
run;

//获取某一文件夹中文件名
filename indata pipe 'dir C:\tes /b';
data file_list;
length fname $50.;
infile indata truncover; /* infile statement for file names */
input fname $50.; /* read the file names from the directory */
call symput ('num_files',_n_); /* store the record number in a macro variable */
run;

//vs.net 调用
string[] sasDataText ={
                    "filename indata pipe 'dir C:\\tes /b';data file_list;",
                    " length fname $50.;",
                    " infile indata truncover;",
                    " input fname $50.;",
                    " call symput ('num_files',_n_);",
                    "run;",
                    "proc print;",
                    "run;"
                };
                System.Array sasArray = sasDataText;
                SasWorkSpace.LanguageService.SubmitLines(ref sasDataText);              
                const int len = 100;               
                WSAS.LanguageServiceCarriageControl[] CCs;
                WSAS.LanguageServiceLineType[] lineType;
                string[] logLine;
                SasWorkSpace.LanguageService.FlushListLines(len, out CCs, out lineType, out logLine);   
上面我们调用Language Service来提交SAS DATA步和过程步,并接收LOG和LIST输出;至于如何执行SQL语句,可参考下面链接
Reading SAS Data in .Net Using ADO and ADO.NET
<!-- m --><a class="postlink" href="http://support.sas.com/kb/25/276.html">http://support.sas.com/kb/25/276.html</a><!-- m -->
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2008-7-9 21:53:42 | 只看该作者

Re: .net获取文件名及列名

请教楼主,为什么要用.net来运行SAS程序?有什么好处么?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2008-7-9 22:22:07 | 只看该作者

Re: .net获取文件名及列名

只是由于项目需要,我们的大部分项目都是用.net开发的,需要调用到sas数据
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2008-7-10 10:04:51 | 只看该作者

Re: .net获取文件名及列名

sas的作为一门独立的统计编程语言,文件操作能力是很强的,建议LZ查查fopen函数之类的帮助,会有很大收获的
我之前也喜欢用x语句,然后直接写dos代码,现在觉得何苦?^_^
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-4 21:58 , Processed in 0.067649 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表