3

次のコードがあります

ods select Variables;  
    proc contents data=xmlout.&XML_DSET;
    run;

ods pdf open ステートメントはコードの前の方にあります

ods pdf file="&exceldir\README.pdf" startpage=never;
title 'README FILE';

これは xmlout.&XML_DSET を取り、それを pdf にうまく配置します (ods pdf close; はコードの後半にあります)。

でも!

データセットに変数が存在するため、varnum を並べ替えると、次のようになります。

ods select Variables;  
    proc contents data=xmlout.&XML_DSET varnum;
    run;

PDFには結果がまったく表示されません!

私は何を間違っていますか?

ありがとう!

4

1 に答える 1

5

VARNUM オプションを追加すると、VARIABLES 出力オブジェクトは作成されず、代わりに POSITION という名前の出力オブジェクトが作成されるようです。プロシージャによって生成されたさまざまなオブジェクトを見つける最も簡単な方法は、ODS TRACE を使用することです。

52   ods trace on;
53   proc contents data=sashelp.class;
54   run;


Output Added:
-------------
Name:       Attributes
Label:      Attributes
Template:   Base.Contents.Attributes
Path:       Contents.DataSet.Attributes
-------------

Output Added:
-------------
Name:       EngineHost
Label:      Engine/Host Information
Template:   Base.Contents.EngineHost
Path:       Contents.DataSet.EngineHost
-------------

Output Added:
-------------
Name:       Variables
Label:      Variables
Template:   Base.Contents.Variables
Path:       Contents.DataSet.Variables
-------------

55
56   proc contents data=sashelp.class varnum;
57   run;


Output Added:
-------------
Name:       Attributes
Label:      Attributes
Template:   Base.Contents.Attributes
Path:       Contents.DataSet.Attributes
-------------

Output Added:
-------------
Name:       EngineHost
Label:      Engine/Host Information
Template:   Base.Contents.EngineHost
Path:       Contents.DataSet.EngineHost
-------------

Output Added:
-------------
Name:       Position
Label:      Varnum
Template:   Base.Contents.Position
Path:       Contents.DataSet.Position
-------------

58   ods trace off;

これを見ると、コードを変更して、Position 出力オブジェクトを選択できます。つまり、次のようになります。

ods select position;    
proc contents data=sashelp.class varnum;
run;
ods select all;
于 2016-08-24T12:31:26.787 に答える