2016-10-20 29 views
2

私はWindows上でSAS 9.4を実行しています。SAS:ODS LISTING CLOSEがグラフのエクスポートを妨げるのはなぜですか?

私はファイルsastest.png

/*ods listing close;*/ 

filename grafout "C:\output\sastest.png"; 
goptions reset=goptions device=png gsfname=grafout; 

proc gchart data=sashelp.class; 
    where sex="F"; 
    vbar age/sumvar=weight type=mean subgroup=age 
       nolegend discrete; 
run; 
quit; 

を提出した場合C:\outputフォルダにエクスポートされます。ただし、コードの先頭にods listing close;ステートメントを配置すると、グラフはエクスポートされなくなります。

どうやら、listing宛先は、従来のSAS出力(モノスペース フォーマット)を生成するより

ODS宛先です。

リストは、デフォルトではオフになっているので、それはさらに混乱です:SAS 9.3以降で

、デフォルトでは、 、WindowsおよびUNIXオペレーティング・システムとウィンドウ環境では、上場先はあります が閉じられ、HTML宛先が開いています。

ods listing close;ステートメントは、グラフをエクスポートできないのはなぜですか?

+1

リスティング先を閉じると、HTML宛先はまだオンになっていますか? – Reeza

+0

Base SAS、SAS StudioまたはEnteprise Guideで実行していますか? –

+0

私はEnhanced EditorでBase SASを使用しています。 HTML宛先は一度もオフにされていないため、まだオンです。 –

答えて

1

なぜならods listingの宛先が、gsfnameを介してグラフをエクスポートする原因になっているからです。あなたがコメントアウトしてコードを実行する前に(実際にファイルを保存している場合は)それが実際にオンになっていることがわかります。

ODS HTMLでは、goptionsではなくグラフィックスを書き出す場所を定義する方法が異なります。 gpath=を使用してファイルへのパスを定義し、プロットのnameオプションを使用してファイルの名前を定義します。実際には、実行するたびにファイルを "エクスポート"しています。便利な場所ではありません(ログには、デフォルトのgpath、おそらくは一時的な場所、デフォルトのファイル名、procの名前が使われています)。

ods listing close; 
ods html gpath="c:\temp" ; 
proc gchart data=sashelp.class; 
    where sex="F"; 
    vbar age/sumvar=weight type=mean subgroup=age 
       nolegend discrete name="sastest"; 
run; 
quit; 

あなたの上場先は、または管理者および/またはセッション中に変更他のオプションで定義されているシステムの設定によってはデフォルトでオフであってもなくてもよいです。

異なる宛先にSAS/GRAPHファイルを保存する方法の指定の詳細については、Controlling Where Your Output Is Storedを参照してください。

+0

これは受け入れられる回答である必要があります –

関連する問題