全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4974 5
2010-04-13
以前用sas写宏后提交,但就是不能执行,log里面只显示你提交的语句,无法编译,即使提交其它语句如data步,sas也一样不能执行,log里只显示你提交的语句,程序没被执行。
以前重启一下sas就行了。
今天老搞不定。宏是不会错的。前天还可以运行。
log 的错误提示如下:

ERROR: 条目锁定不可用于 GRAPH_TURNRATE.MACRO(目录 WORK.SASMACR 中),由 DMS Process 锁定。
ERROR: 条目 GRAPH_TURNRATE.MACRO 已经在目录 WORK.SASMACR 中存在。

我里面的宏是调用了proc gplot过程。
在sas官网能找到这个错误的说明。但不能理解。哪位高手来解释一下,红色部分的原理是啥?
http://support.sas.com/kb/9/807.html



Submitting a request to the Application Dispatcher with a _program valuepointing to a .macro entry may fail if another SAS program is alsoaccessing the catalog.
This situation may occur if a SAS session iscompiling the macro and storing the results in the same catalog that isbeing referenced by the _program.
二维码

扫码加我 拉你入群

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

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

全部回复
2010-4-13 21:48:26
看到了,思考中,顶一下
二维码

扫码加我 拉你入群

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

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

2010-4-13 22:13:16
当另外一个SAS程序也在访问该目录的时候,你向适配器提交的程序,该程序编码值指向宏程序的时候可能会失败,这种情况一般发生在SAS进程正在编译宏程序并存储编译结果,同时该目录被另外一个程序访问。
只是简单的翻译一下,你看看这样行不行
二维码

扫码加我 拉你入群

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

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

2010-4-13 22:20:44
建议你用%include
先编译好之后再用 %include来调用catalog中的macro
可能避免编译与访问的冲突吧
具体看看你code
二维码

扫码加我 拉你入群

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

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

2010-4-14 09:49:27
谢谢。
以前偶尔也碰到这问题,但重启一下sas就行了。
现在就是想把它弄明白,重启sas也不行。

这种情况一般发生在SAS进程正在编译宏程序并存储编译结果,同时该目录被另外一个程序访问。”
我不明白另外一个程序访问是指啥,因为重启sas后,编译和执行宏之前都没提交其它程序。
还有上面官网提到的亚宏,试了都没作用。
最近我在搞搞。到时有进展再来与各位讨论一下。
二维码

扫码加我 拉你入群

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

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

2010-4-14 11:30:14
你看看你的进程里面是不是有两个后缀名为SAS的程序在运行。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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