这是背景。对不起,时间太长了:
我为 3 个不同的项目进行 SAS 编程。每个项目都有自己的主项目文件夹。每个主项目文件夹都包含一个格式文件夹(其中包含格式目录),然后是其他几个文件夹,每个文件夹都包含程序和数据集。我的大部分工作都是在批处理模式下完成的,所以 SAS 通常是不开放的。不过,有时我想在 SAS 中打开一个数据集来查看特定的内容。当我这样做时,SAS 不知道在哪里寻找合适的格式目录,因为格式目录从不与数据集位于同一文件夹中。所以我目前使用一个指定nofmterr
选项的 autoexec.sas 文件,这样我的数据集就会打开。
不过,我真的很希望能够以适当的格式打开我的数据集。我编写了一个不同的 autoexec 程序,它使用一个对话框窗口询问我正在处理哪个项目,然后fmtsearch
相应地设置选项。如果我想先打开 SAS,然后打开数据集,这非常有用。但是,如果 SAS 尚未启动并运行,并且我尝试通过双击打开数据集,则会发生以下情况:autoexec 文件开始运行,然后 SAS 尝试在 autoexec 文件完成运行之前打开数据集。因此,如果我nofmterr
设置了,数据集将在没有格式的情况下打开,或者如果我没有nofmterr
设置,数据集将根本无法打开。
所以这是我的问题:有没有办法让 SAS 等到 autoexec 文件完成运行后再尝试打开数据集?或者,有没有其他方法可以解决这个问题?(我不想将所有 3 个格式文件都添加到该fmtsearch
选项中,因为不同的项目可能具有相同名称的不同格式。)