目前我每天早上都在运行一个程序,因为我正在开发它,所以我可以使用今天的数据,我的问题是它确实需要一些时间来运行。我想知道是否有人知道我可以编写一些代码,这样当我单击运行时它会等到特定时间开始。目前我正在考虑在顶部添加一个循环来尝试执行此操作:
例如
%macro delay();
data _null_;
if %sysdate() >= 8:00 then %put Start;
else %delay();
run;
%mend;
请原谅我写的粗制滥造的代码,这是在没有 SAS 的情况下完成的。 此外,我不想使用任何 SQL 服务器,如 T-SQL。
本质上是无限循环是否有害?
最佳答案
WAKEUP() 函数可以使您的 SAS session 休眠到指定时间。还有一个 SLEEP() 函数。 WAKEUP() 接受日期时间或时间。来自文档:
在某个日期时间唤醒:
data _null_;
slept=wakeup('01JAN2004:13:00:00'dt);
run;
一次唤醒:
data _null_;
slept=wakeup("22:00:00"t);
run;
这应该比无限循环使用更少的 CPU 资源。
关于mysql - 延迟启动 SAS EG 中的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51601016/