SAS EG-检查是否可以锁定,否则使用其他表格
希望有人能帮我解释一下 我有一个使用下表的流程。后面有一个表(resource5),它的数据与resource4相同——基本上我可以使用任何一个表——老实说,我不知道为什么有两个表,但在这里它可能会派上用场 这两个表每小时不定期地按顺序更新两次,所以我无法安排在它们周围,更新每个表似乎需要大约5分钟 我总是需要最新的可用数据,而其他数据是实时的,所以我会非常频繁地(每15分钟)点击表格 是否有方法检查resource4是否可被我的进程锁定,如果可以,请继续运行数据步骤,如果没有,请点击resource5,如果没有,请退出整个进程,这样就不会有任何其他尝试运行(oracle的其他proc sql)了 只要work.resource4出现并且可用,那么一切都很好 我的代码所做的就是这样,一旦它投入使用,我就可以做任何事情而不必担心出现问题SAS EG-检查是否可以锁定,否则使用其他表格,sas,Sas,希望有人能帮我解释一下 我有一个使用下表的流程。后面有一个表(resource5),它的数据与resource4相同——基本上我可以使用任何一个表——老实说,我不知道为什么有两个表,但在这里它可能会派上用场 这两个表每小时不定期地按顺序更新两次,所以我无法安排在它们周围,更新每个表似乎需要大约5分钟 我总是需要最新的可用数据,而其他数据是实时的,所以我会非常频繁地(每15分钟)点击表格 是否有方法检查resource4是否可被我的进程锁定,如果可以,请继续运行数据步骤,如果没有,请点击resou
data resource4;
set publprev.resource4;
run;
另外,我正在使用Windows中的SAS EG进行更改,然后通过一个包含所有代码的.SAS文件导出该进程,并通过crontab通过一个shell脚本(该脚本还创建了一个日志文件)从Unix SAS服务器上运行。也许不是安排这些事情的最有效的方法,但这就是我所拥有的
非常感谢。您可以使用功能
open
检查表格是否可供您阅读(即复制到工作
)
您必须使用宏为数据步骤提供可用数据集的名称
例如:
* NOTE: The DATA Step will automatically close resources it open()s;
%let RESOURCE=NONE AVAILABLE;
data _null_;
if open ('publprev.resource4') ne 0 then do;
call symput('RESOURCE', 'publprev.resource4');
stop;
end;
if open ('publprev.resource5') ne 0 then do;
call symput('RESOURCE', 'publprev.resource5');
end;
run;
data work.resource;
set &RESOURCE;
run;
感谢您对此的快速回复,Richard!我会给它一些测试,以确保它是好的,但到目前为止。删除,因为这实际上并不涉及EG在任何方式。我使用SAS EG创建脚本,但取决于你。