全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3573 7
2009-03-11

比如,指定一个路径,用程序找出目录下的.sas7bdat文件.其它文件排除在外.

给个思路也好啊.谢了.

二维码

扫码加我 拉你入群

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

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

全部回复
2009-3-11 15:03:00

可如下解决。.sas7bdat文件时SAS数据文件,假设你把它们放在c:\sas\data中,那么执行下面的两行,你在库lib1种就会看到它们。

libname lib1 "c:\sas\data";

quit;

二维码

扫码加我 拉你入群

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

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

2009-3-11 15:10:00

谢谢

不过这样只是定义了一个库,指向了指定的物理地址,我想要的是,把目录下的文件名显示或写入数据集中.
二维码

扫码加我 拉你入群

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

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

2009-3-11 19:42:00

LZ可以尝试如下方法:

/********
In the Microsoft Windows? environment, this is done with the venerable “dir” command.
Actually, to avoid unneeded parsing, a wildcard (‘*’) and the ‘/b’ (‘bare’) switch
are used to reduce the list to just what is needed. Here is the new version:
********/
%let my_dir = E:\MySasData\ ;
%let dat = sas7bdat ;
filename dir_list pipe "dir &my_dir.*.&dat /b" ;
data file_list ;
  length fname $40. ;
  infile dir_list truncover ;
  input fname $40. ;
  call symput( 'num_files',_n_ ) ;
run ;

具体可以搜索看看filename的PIPE选项如何使用。

二维码

扫码加我 拉你入群

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

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

2009-3-11 22:45:00

Try this simple code

libname Mylib 'D:\MySAS\Tables\';
proc sql;
    create table table_list as
    select memname
    from dictionary.tables
   where libname='MYLIB';
quit;

二维码

扫码加我 拉你入群

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

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

2009-3-12 13:50:00

问题解决,用的4楼的方法.5楼的方法还没试.试试去的.呵呵.谢谢了.

二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群