SAS:autoexecというファイルのタイミング/表示するためのデータセットにフォーマットを適用します

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

  •  23-08-2019
  •  | 
  •  

質問

ここで背景です。私はそれがとても長いですごめんなさい:
私は3種類のプロジェクトのためのSASプログラミングを行います。各プロジェクトは、独自のメインプロジェクトフォルダがあります。各メインプロジェクトフォルダは、プログラムとデータセットが含まれているそれぞれのフォーマットのフォルダ(形式のカタログを含む)、その後、いくつかの他のフォルダが含まれています。私は、バッチモードでの私の仕事の大半を行うので、SASは、通常は開いていません。時折、しかし、私は特に何かを見てSASでデータセットを開きたいです。私はこれを行うと、SASは、フォーマットカタログはデータセットと同じフォルダになることはありませんので、適切な形式のカタログを探すために場所を知りません。だから私は現在、私のデータセットが開かれますように、nofmterrオプションを指定するautoexec.sasファイルを使用します。

私は本当に適切なフォーマットで自分のデータセットを開くことができるように、しかし、したいと思います。私が働いているどのプロジェクトに私を尋ねるダイアログウィンドウを使用し、それに応じてfmtsearchオプションを設定し、異なるのAutoExecプログラムを書きました。私が最初にSASを開き、データセットを開きたい場合、これは素晴らしい作品。しかし、SASがすでに稼働していない、と私はそれをダブルクリックしてデータセットを開くしようとした場合、ここでは何が起こるかです:autoexecというファイルが実行を開始し、その後、SASは、autoexecというファイルが実行を終了する前に、データセットを開こうとします。私はnofmterrセットを持っているのであれば、データセットはフォーマットせずに開きます、または私はnofmterrが設定されていない場合、データセットはまったく開きません。

だからここは私の質問です:autoexecというファイルは、それがデータセットを開こうとする前に実行が終了するまで待つようにSASを取得する方法はありますか?それとも、問題を回避する別の方法は何ですか? (私は別のプロジェクトが同じ名前で異なるフォーマットを持っている可能性があるため、fmtsearchオプションに、すべての3つの形式のファイルを追加する必要はありません。)

役に立ちましたか?

解決

データセットが手の前に実行している任意のコードなしで開放されているので、これは静か困難になります。コードのパラメータとしてデータセットをオープンすることが可能です。私はこのようなものを想定ます:

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

あなたのコード「opends.sasは、」あなたのプロジェクトのためのrelaventフォーマット情報のすべてが含まれます。

あなたも、上記の定義済みのすべてを持っており、あなたはパラメータとしてデータセットでスクリプトを呼び出すことができ、スクリプト(OSによってはbashやバッチ)を書くことができます。

私は、これは面倒なようだけど、それは私があなたの説明に基づいて思い付くことができ最初のソリューションです。

- 20090218を追加しました。

opends.sasスクリプトはSYSPARM変数に取る必要があり、オペレーティング・システムに応じて、それがデータセットを印刷したり、データセットを開くコマンドを発行する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top