楼主: johnick
2732 4

[原创博文] 【求助】SAS修改默认库,以及宏变量作data名的问题! [推广有奖]

  • 0关注
  • 0粉丝

已卖:338份资源

高中生

95%

还不是VIP/贵宾

-

威望
0
论坛币
1756 个
通用积分
0.0750
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
280 点
帖子
27
精华
0
在线时间
35 小时
注册时间
2008-11-18
最后登录
2020-8-6

楼主
johnick 发表于 2011-4-8 19:54:28 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我现在有一堆代码,里面创建了N个data sets,开始写的时候是为了尝试,所以没有指定lib,都是保存在work下的。
现在要实现的是:尽量少改动,让所有的data sets自动保存到我指定的地方。当然我知道可以复制粘贴,但这样不方便效率又低。最好是有串代码,可以把未指定lib的data set创建到我指定的lib中,而不是开始默认的work中。
另一种解决方法是用宏变量,这样把整个程序创建成一个宏,我只需要改一下宏变量就可以了。但我把宏变量放在data之后,总是会出问题。比如下面一串代码:
LIBNAME mylib 'c:\';
%MACRO TEST(lib=);
DATA &lib.a;
%MEND TEST;
%TEST(lib = 'mylib');
RUN;
执行之后,work中会出现A,产生了另一个lib叫wc000002会出现A,就是mylib里面没有东西。
二维码

扫码加我 拉你入群

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

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

关键词:Data libname Macro test Work 程序 最好

本帖被以下文库推荐

沙发
baoaibaobao 发表于 2011-4-8 22:02:14
  1. LIBNAME FD 'E:\';
  2. PROC DATASETS NOLIST;
  3. COPY OUT=FD IN=WORK MEMTYPE=ALL MOVE;
  4. RUN;QUIT;
复制代码

藤椅
hopewell 发表于 2011-4-8 22:17:50
  1. LIBNAME mylib 'c:\';
  2. %MACRO TEST(lib=);
  3. DATA &lib..a;
  4. %MEND TEST;
  5. %TEST(lib = mylib);
  6. RUN;
复制代码
观钓颇逾垂钓趣 种花何问看花谁

板凳
johnick 发表于 2011-4-9 09:38:17
2# baoaibaobao 谢谢2楼啊,不过2楼的方法似乎只是用代码实现了复制?但毕竟这样做需要重复运作,我的数据集有几百兆,所以这么做效率还是比较低啊~~有没有直接修改默认lib,使不指定lib名的data-set保存在我想要的lib中,而不是work中的方法呢?

报纸
johnick 发表于 2011-4-9 09:43:22
3# hopewell 多谢3楼!!问题解决!想探索一下,有没有直接修改默认lib,使不指定lib名的data-set保存在我想要的lib中,而不是work中的方法呢?

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-17 08:17