楼主: limuqi
3547 4

[原创博文] 怎样关闭dataset [推广有奖]

  • 1关注
  • 2粉丝

本科生

27%

还不是VIP/贵宾

-

威望
0
论坛币
464 个
通用积分
0.0600
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
838 点
帖子
57
精华
0
在线时间
54 小时
注册时间
2011-8-2
最后登录
2016-1-5

楼主
limuqi 发表于 2012-8-17 18:50:38 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我想计算一个dataset 内有多少个col, 用了如下方法
  1. data test;
  2. input a b;
  3. datalines;
  4. 1 2
  5. 5 6
  6. ;
  7. run;

  8. %let nvar=%sysfunc(attrn(%sysfunc(open(work.test,i)),nvars));
  9. %put &nvar;
  10. proc datasets lib=work nolist;
  11. delete test;
  12. quit;
  13. run;
复制代码
但是发现无法delete test 文件, 想请问怎样关闭work.test文件。 初学%sysfunc,请多多指教
二维码

扫码加我 拉你入群

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

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

关键词:dataset DataS Data Set TAS

沙发
bobguy 发表于 2012-8-18 11:20:40
Use the close function. See the syntax below,

36   %let dsid=%sysfunc(open(sashelp.class,i));
37
38   %put >>>>&dsid<<<<;
>>>>9<<<<
39
40   %let RC=%sysfunc(close(&dsid));
41   %put >>>>&RC<<<;
>>>>0<<<

藤椅
webgu 发表于 2012-8-18 17:46:21
bobguy 发表于 2012-8-18 11:20
Use the close function. See the syntax below,

36   %let dsid=%sysfunc(open(sashelp.class,i));
呵呵>>>>和<<<用得挺意思。
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

板凳
SASUSERFINACIAL 发表于 2012-8-21 15:26:34
同意楼上,%put>>>>&有点意思<<<<。

报纸
limuqi 发表于 2012-8-23 05:05:38
bobguy 发表于 2012-8-18 11:20
Use the close function. See the syntax below,

36   %let dsid=%sysfunc(open(sashelp.class,i));
  1. %let dsid=%sysfunc(open(work.test,i));
  2. %put >>>&dsid<<<;
  3. %let nvar=%sysfunc(attrn(%sysfunc(open(work.test,i)),nvars));
  4. %put >>>&dsid<<<;
  5. %put >>>&nvar<<<;

  6. %let RC=%sysfunc(close(&nvar));
  7. %put >>>&RC<<<;

  8. %let RD=%sysfunc(close(&dsid));
  9. %put >>>&RD<<<;
复制代码
谢谢,非常有用。
问题完全解决了

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

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