楼主: msa778232
2452 3

[问答] 运行SAS宏程序后一直显示不能打开数据集,如何关闭? [推广有奖]

  • 0关注
  • 0粉丝

博士生

6%

还不是VIP/贵宾

-

威望
0
论坛币
1398 个
通用积分
34.7918
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
300 点
帖子
175
精华
0
在线时间
35 小时
注册时间
2020-4-8
最后登录
2024-5-8

楼主
msa778232 发表于 2020-8-24 02:53:50 |AI写论文
10论坛币
%let rpt=rpt_temp;
proc sql;
create table sasdata.change1 as
select memname from dictionary.tables
where libname eq 'WORK';
quit;
/*proc datasets lib=work;change &table = &rpt._T&i.;quit;*/
%macro change();
%let dsid=%sysfunc(open(sasdata.change1));
%if &dsid gt 0 %then %do;
%let nobs=%sysfunc(attrn(&dsid,nobs));
%do i=1 %to &nobs;

关键词:SAS宏程序 SAS宏 宏程序 数据集 Dictionary

沙发
msa778232 发表于 2020-8-24 02:54:32
ERROR: 您不能打开 SASDATA.CHANGE1.DATA 进行输出访问 (使用成员级的控制),因为 SASDATA.CHANGE1.DATA正被“您”使用 在资源环境“IOM
ROOT COMP ENV”中。

藤椅
孤单的我们 发表于 2020-8-24 10:23:18
获取nobs后,%let rc=%sysfunc(close(&dsid));关闭数据集试试

板凳
hlg11 发表于 2020-8-27 14:06:53
%mend change();
运行一下。

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

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