SAS:/自动执行文件的定时施加格式的数据集用于观看

StackOverflow https://stackoverflow.com/questions/541505

  •  23-08-2019
  •  | 
  •  

这里的背景。我很抱歉它是如此长:点击 我做了3个不同的项目SAS编程。每个项目都有自己的主要项目文件夹。每个主项目文件夹包含一个文件夹格式(包含格式目录),以及其他然后几个文件夹,每个都包含方案和数据集。我做了我的大部分在批处理模式下工作,所以SAS通常不开放。有时,虽然,我想打开SAS数据集来看看具体的东西。当我这样做,SAS不知道到哪里寻找适当的格式目录,因为格式目录是永远不会在同一文件夹中的数据集。所以,我目前使用指定nofmterr选项,让自己的数据集,将打开一个autoexec.sas文件。

我真的很喜欢,不过,要能打开我的数据集以适当的格式。我写了使用该问我哪个项目我工作的一个对话窗口,然后设置相应的fmtsearch选择不同的自动执行程序。如果我想先打开SAS,然后打开一个数据集这个伟大的工程。但是,如果SAS是不是已经投入运行,我试图通过双击它打开一个数据集,这里发生的事情:在自动执行文件开始运行,然后SAS试图之前自动执行文件运行完毕,打开数据集。所以,如果我有nofmterr集,该数据集将无格式打开,或者如果我没有nofmterr集,该数据集将根本无法打开。

因此,这里是我的问题:有没有办法让SAS等到自动执行文件运行完成后,它会尝试打开该数据集之前?或者,是否有解决此问题的另一种方式? (我不想三种格式文件添加到fmtsearch选项,因为不同的项目可能有不同的格式,具有相同的名称。)

有帮助吗?

解决方案

由于数据集无手之前运行的任何代码打开,这变得安静困难。是否有可能打开该数据集作为一个代码的参数。我设想是这样的:

commandline:/sas ./opends.sas -sysparm "/this/is/the/dataset/location_and_name"

您的代码“opends.sas”将包括所有的为您的项目relavent格式信息。

您甚至可以写一个脚本(bash或批处理取决于OS)是具有以上所有的预定义的,你可以调用脚本与数据集作为一个参数。

我知道这看起来繁琐,但它是第一个解决方案,我能想出根据您的描述。

- 增加20090218

在opends.sas脚本应在一个SYSPARM变量和根据操作系统上,它应该打印数据集或发出命令以打开数据集。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top