ODS出力保つ:SASは、ファイルを.LST抑制が、私は次のコードを使用してSASとPCA分析をしていた
ods output Eigenvectors=PRINCEEV Eigenvalues=PRINCEEVAL;
proc princomp data=REPLACED PLOTS=SCORE(ELLIPSE NCOMP=5) NOPRINT;
id time;
run;
ods output close;
この分析は、生成LSTファイルが大きすぎるので、私はNOPRINTオプションを使用します。しかし、NOPRINTオプションを使用すると、すべてのODS出力も削除されるようです。 (今PRINCEEVとPRINCEEVALはすべて空である):
ERROR: File WORK.PRINCEEVAL.DATA does not exist.
ERROR: Export unsuccessful. See SAS Log for details.
259 putn
_______
1
259 ! ame=YES; run;
WARNING 1-322: Assuming the symbol PUTNAMES was misspelled as putname.
ERROR: File WORK.PRINCEEV.DATA does not exist.
ERROR: Export unsuccessful. See SAS Log for details.
ERROR: Errors printed on page 1.
はODS出力に影響を与えずに、LSTファイルの生成を抑制するための方法はありますか?
UPDATE:NOPRINTとODS OUTPUT
あなたは組み合わせることができます。
following sas blogによると、それを行うことは不可能であると思われますか?
SASプログラマは効率を求めています。 NOPRINTオプション がプロシージャをより高速に実行できると読んだ場合、野心的なプログラマは NOPRINTオプションを使用してプロシージャを実行しようとしますが、ODS OUTPUT文を使用して1つのテーブルの結果を取得できます。申し訳ありません、友人、 しかし、あなたはそれを行うことはできません。 NOPRINTオプションは、 が作成されているODSテーブルがないため、テーブルを選択してデータ に保存する方法がないことを意味します。
しかし、ジレンマは、クラウドコンピューティングサーバーのスペースが限られていることです。最初のファイルは私のスペースを無駄にしています。 SASプログラムが外部プロセスで動作しているときにlstファイルを削除すると、SASでio error
が生成されます(すでに試しました)。
とにかくありますか?
ods listing close ;
ods output Eigenvectors=PRINCEEV Eigenvalues=PRINCEEVAL;
proc princomp data=REPLACED PLOTS=SCORE(ELLIPSE NCOMP=5) NOPRINT;
id time;
run;
ods output close;
これは上場先を閉じますので、正常に動作する必要があります:
私はODSが近く上場 '置きください;' ODS出力文の上または下に? –
上記。私はこの例を更新しました。 – Quentin
procを実行する前に、リスティング先を閉じてください。 – Tom