楼主: xiaolin7929
3614 7

[求助]求高手帮忙,如何用SAS语言找出指定路径下的SAS数据文件? [推广有奖]

  • 0关注
  • 0粉丝

初中生

76%

还不是VIP/贵宾

-

威望
0
论坛币
26 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
147 点
帖子
15
精华
0
在线时间
7 小时
注册时间
2009-3-3
最后登录
2024-10-24

楼主
xiaolin7929 发表于 2009-3-11 14:41:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

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

给个思路也好啊.谢了.

二维码

扫码加我 拉你入群

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

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

关键词:数据文件 如何用 求高手 s语言 sas7bdat 高手 SAS 语言 路径 数据文件

回帖推荐

yongyitian 发表于5楼  查看完整内容

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

MyLoveSas 发表于4楼  查看完整内容

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 fil ...

本帖被以下文库推荐

沙发
steve10 发表于 2009-3-11 15:03:00

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

libname lib1 "c:\sas\data";

quit;

藤椅
xiaolin7929 发表于 2009-3-11 15:10:00

谢谢

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

板凳
MyLoveSas 发表于 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选项如何使用。

已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 4 精彩帖子

总评分: 经验 + 3  论坛币 + 4   查看全部评分

报纸
yongyitian 发表于 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;

已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

地板
xiaolin7929 发表于 2009-3-12 13:50:00

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

7
johnsonhuang 发表于 2009-3-13 23:03:00
The way yongyitian mentioned above is pretty good. That's why his/her level is "dazhuansheng", haha.  Actually, dictionary tables are commonly used  to manage your SAS session. Try to take advantage from it.

[此贴子已经被作者于2009-3-13 23:05:49编辑过]

8
yongyitian 发表于 2009-3-13 23:39:00
谢谢7楼鼓厉。多回帖(50个)就可生到大专啦。

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

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